where:
<output_directory> is the directory where the resulting archive file is created. If not specified, the user's home directory is used.
-h prints usage information.
Further changes to the internal locking mechanism have been made. Locks are no longer held while calls are made from the service to the clients (specifically, for event pushes to consumers and disconnect callbacks to both suppliers and consumers). This change means that if a call to the client is either slow or does not complete, the service is unaffected and other calls (either to or from the service) are unaffected.
Operations on filters and objects that can have filters applied to them allow a client to destroy a filter that is attached to an object within the service without first removing that filter from the object. The FilterAdmin implementation has been modified to ignore a filter that has been destroyed by a client and not removed from the service object to which it was attached.
HSQLDB has been upgraded to version 1.8.0.1. This upgrade removes a "database is already in use by another process" message on Windows when the application manager and the Notification Service attempt to use the database tables at the same time (issue #01E3).
The auto-sequencing functionality has been turned off by default. This should have no impact on user functionality, but may decrease performance. For more information on this Quality of Service (QoS), please see the Notification Service User Guide.
V4.2 default values
V4.1.1 and older release default values
StartTime, StopTime, StartTimeSupported and StopTimeSupported Notification Service QoS are now available.
Changes have been made to the internal locking mechanism that prevent a badly-behaved consumer from locking the entire Notification Service. Such consumers will now only block their connected event channel for the appropriate ORB timeout value. This behaviour is consistent with OpenFusion Notification Service versions 2.5 and 3.0.
If two or more filters contain the same constraint, then there we only create one instance of the abstract syntax tree (AST) for that constraint in the service. This syntax tree is then shared between the constraints. Since the ASTs can have a large memory footprint, even for the simplest constraint, then sharing the ASTs in this manner can conserve large amounts of memory.
This technique is most useful when many proxies have individual filter objects attached to them containing the same constraint.
However, there will be a performance/memory usage tradeoff since the constraint can only service one request at a time. This may cause memory issues if events are backing up in queues as filter evaluation becomes a bottleneck. This critical point is determined by a number of factors, therefore it may take some testing by a user to see if this feature is of any benefit to them. It would then be a decision on whether to use this feature in conjunction with the "MaxEventsPerConsumer" QoS in order to stop events from backing up in the service.
The advantage of using the feature is that it would allow more room for events before discard actually occurred. The disadvantage is that there is a point at which using the feature becomes the cause of the problem since the single constraint cannot execute quickly enough to service all requests (i.e. when we have a large number of filters sharing the constraint).
To enable the feature, add "-DSharedConstraints=true" to the JVM flags for the service in the Adminstration Manager GUI.
In previous versions of OpenFusion CORBA Services v4, the HSQLDB database plug-in was the default, but for the OpenFusion Notification Service, the event based persistence was implemented using a file based journalling system. In v4.1, the default is still HSQLDB, but this is now used for the event based persistence also. To use the file based journalling system, select File for the Storage Type property.