omniEvents — CORBA Event Service daemon
omniEvents
[-p port
] [-a endpoint
] [-l directory
] [-P pidfile
] [-N factory-name
] [-f] [-t file
] [-vVh]
[-ORBparameter
value
]
omniEvents is a CORBA Event Service server program. It is designed to be run as a standalone daemon process.
The server continuously saves its state to a file. Event channels
are re-created from this file each time the server restarts. The
options -p
and -a
affect the identity
of the server's event channels, so these options can only be set the
first time the server is run.
Servers may be configured to operate in pairs - if one fails then clients automatically switch over to the alternate.
-p port
Sets the TCP port on which a new server will listen. The
default is 11169
This value is stored in the new server's persistent state. There is no need to supply this option when a server is restarted, since the value is read from the file. If the option is supplied then it is simply compared with the stored value - if the two do not match then the program exits with an error.
-a endpoint
Sets an alternate endPoint for a new server. All CORBA object references generated by the server include the alternate address. When clients cannot contact the server, they automatically fall back to trying the alternate address.
This option is exactly equivalent to the ORB parameter
endPointNoListen
, except that the value is saved
in the server's persistency file, so that it is remembered
whenever omniEvents is restarted.
The format for a TCP endpoint is
giop:tcp:HOST:PORT
, for example:
-a giop:tcp:secondary.host:11169
This value is stored in the server's persistent state. There is no need to supply this option when a server is restarted, since the value is read from the file. If the option is supplied then it is simply compared with the stored value - if the two do not match then the program exits with an error.
-l directory
Full path to data directory, where omniEvents stores its
persistent state. The default is
/var/lib/omniEvents
-P pidfile
Keep track of the currently running omniEvents process in
pidfile
, which should usually be
/var/run/omniEvents.pid
. If
pidfile
already exists, then the server
refuses to start. The default is to not write a PID file.
-N factory-name
Sets the CORBA Name Service name for the EventChannelFactory
CORBA object. Each time the server starts, it registers its
channel factory object with factory-name
in the Name Service.
Format for name:
[CONTEXT-ID[.CONTEXT-KIND]/]*OBJECT-ID[.OBJECT-KIND]
Examples: foo
,
foo.bar
, foo.bar/baz/qux
,
foo/bar/baz.qux
.
The default is EventChannelFactory
-f
Run the server in the foreground (do not daemonize).
-t file
Send trace messages to file
instead of
syslog.
-v
Output the CORBA IOR of the EventChannelFactory CORBA object when the server starts. This will go either to syslog or to the current trace file.
-V
Display version.
-h
Display a short summary of command-line options.
-ORBparameter value
Standard omniORB options. see omniORB documentation for
details. Do NOT use this option to set the
endPoint
or
alternateEndPoint
. This option is commonly
used to set the omniORB traceLevel
, in order
to get more detailed output.
Example: -ORBtraceLevel 5
The omniEvents::EventChannelFactory object implements the
standard CosLifeCycle::GenericFactory interface. An EventChannel object
is created by a call to the
create_object(key,the_criteria)
operation.
The “key” parameter must be set to
“EventChannel”.“object
interface”
. The “the_criteria” parameter
is a sequence of various service parameters. Supported parameters are
listed below.
long
)Sets the cycle period of the channel (nanoseconds). This is the time that the channel waits before transferring messages from the incoming queue to the outgoing queue. While messages are being transferred, incoming calls are queued. The default is 0.1 seconds.
string
)Only types whose RepositoryId
matches
the parameter are permitted to pass through the channel. Other
events are silently ignored.
string
)Sets the name by which the EventChannel is known in
omniEvents' INSPOA. You can refer to the channel with a corbaloc
string like this:
corbaloc::HOST:11169/NAME
long
)The maximum number of ProxyPullSuppliers
per channel.
long
)How many events are buffered by the
ConsumerAdmin
object. The discard policy is
FIFO, meaning that the oldest events are discarded first in case
of overflow.
long
)Period (milliseconds) between polls when in Pull Supplier - Push Consumer mode.
Shuts down the server.
You can change the traceLevel while the application is running. Send the server SIGUSR1 to bump its traceLevel up by 5. The traceLevel is wrapped at 45, so you can always get it back to where it started by repeatedly sending SIGUSR1.
Example: kill -USR1 `cat /var/run/omniEvents.pid`