SideNav > Documentation > ORB Properties

Configuration - ORB Properties

How to Enable Properties in Yoko

There are three ways in which properties can be used in the Yoko ORB:

  1. Programmatically using the java.util.Properties class and the ORB.init(...) method
  2. Passing a configuration file on the command line via the -ORBconfig option.
  3. Passing individual configuration options using the -D option.

Programmatically setting properties

Yoko applications can programmatically add configuration properties before calling the method ORB.init(). This can be achieved by obtaining the System java.util.Properties object and adding the desire Yoko properties to the list. The updated java.util.Properties object is then passed in the call to ORB.init(...):

MyDemo.java


Properties configuration file

A Yoko properties configuration file is simply a text file which contains a list of properties and their associated values. For example:

sample.conf

The configuration file is provided to the application by passing the name of the configuration file to the command line option -ORBconfig:


Passing properties using -D

Individual Yoko configuration properties can be passed to the JVM by using the -D command line option to Java. Properties are defined in the same way as they are listed in a Yoko configuration file:


Available Properties in Yoko

yoko.orb.client_shutdown_timeout
Specifies the amount of time in seconds a client will wait for a graceful shutdown to occur before forcefully shutting down the connection. A value of 0 tells the ORB to wait indefinitely for a graceful shutdown.

Possible Values: An integer timeout >= 0
Default Value: 2


yoko.orb.client_timeout
Specifies the amount of time in seconds a client will leave a connection idle before closing it. A value of 0 (or not setting the property) tells the ORB to keep the connection open indefinitely.

Possible Values: An integer timeout >= 0
Default Value: 0


yoko.orb.conc_model
Specifies the concurrency model to use on the client side.

Possible Values: threaded ((warning) currently impossible to specify blocking explicitly (warning))
Default Value: blocking


yoko.orb.default_init_ref
<TODO>


yoko.orb.default_wcs
Specifies a default wide character code set for the ORB. Note that the CORBA specification states that a default code set does not exist. This option should only be used when communicating with an ORB which incorrectly expects a default code set to be provided (i.e. does not support negotiation of wide character code sets).

Possible Values: A string representing the code set name.


yoko.orb.extended_wchar
Tells the ORB to enable the use of wide characters using IIOP 1.0 using Unicode as the code set. Note that wide character support is not included in the CORBA specification for IIOP 1.0 and this extension provides a proprietary way of using wide character support with other ORBs which implement this approach.

Possible Values: true, false


yoko.orb.giop.max_message_size
Specifies the maximum size of a GIOP message in bytes. If set to 0, no maximum size will be used, otherwise an IMP_LIMIT exception will be raised if a sent or received GIOP message exceeds the specified size.

Possible Values: An integer >= 0


yoko.orb.id
Specifies the identifier name for the ORB.

Possible Values: A String ID


yoko.orb.native_cs
Specifies the native code set for the ORB.

Possible Values: <TBD>
Default Value: ISO-8859-1


yoko.orb.native_wcs
Specifies the native wide character code set for the ORB.

Possible Values: <TBD>
Default Value: UTF-16


yoko.orb.policy.connect_timeout
Specifies the maximum time to wait in milliseconds for connection establishment. Connections which can not be established after the timeout expires raise a NO_RESPONSE exception.

Possible Values: integer timeout value >= -1
Default Value: -1


yoko.orb.policy.connection_reuse
Specifies whether connections are private to specific object references or can be reused by other objects.

Possible Values: true, false
Default Value: true


yoko.orb.policy.interceptor
Specifies whether any installed client side interceptors will be called.

Possible Values: true, false
Default Value: true


yoko.orb.policy.locate_request
Specifies whether the ORB will send locate_request messages.

Possible Values: true, false
Default Value: false


yoko.orb.policy.request_timeout
Specifies the amount of time in milliseconds a request will wait for a response. If a response is not received before the timeout expires, a NO_RESPONSE exception will be raised.

Possible Values: integer timeout value >= -1
Default Value: -1


yoko.orb.policy.retry
Specifies the retry behaviour after a communications failure (COMM_FAILURE or TRANSIENT). A value of never means retries are never performed. A value of strict will only retry of the exception completion status is COMPLETED_NO. A value of always will retry regardless of the completion status.

Possible Values: never, strict, always
Default Value: strict


yoko.orb.policy.retry.interval
Specifies the time in milliseconds between retries.

Possible Values: integer value >= 0
Default Value: 0


yoko.orb.policy.retry.max
Specifies the maximum number of reties for a request.

Possible Values: integer value >= 0
Default Value: 1


yoko.orb.policy.retry.remote
Specifies whether or not to retry on exceptions which are received over the wire. A value of false results in retries only occurring for exceptions which a generated locally.

Possible Values: true, false
Default Value: false


yoko.orb.policy.timeout
Specifies the default timeout for connection establishments and requests. Note that if the connect_timeout or request_timeout properties are set, those values will take precedence.

Possible Values: integer value >= -1
Default Value: -1


yoko.orb.raise_dii_exceptions
Specifies whether SystemExceptions which occur during a Dynamic Invocation Interface (DII) request are raised immediately. If not, these exceptions are stored in the org.omg.CORBA.Environment object. A value of false may result in unexpected behaviour.

Possible Values: true, false
Default Value: true


yoko.orb.server_name
Specifies the name of a Yoko Server.

Possible Values: A String name, must start with alpha-numeric character


yoko.orb.server_shutdown_timeout
Specifies the amount of time a server will wait for a graceful shutdown to occur before forcefully shutting down the connection. A value of 0 tells the ORB to wait indefinitely for a graceful shutdown.

Possible Values: An integer timeout >= 0
Default Value: 2


yoko.orb.server_timeout
Specifies the amount of time a server will leave a connection idle before closing it. A value of 0 (or not setting the property) tells the ORB to keep the connection open indefinitely.

Possible Values: An integer timeout >= 0


yoko.orb.service.<service_name>
Adds a service reference to the ORBs internal list. This allows applications to call the ORBs resolve_initial_references method to obtain a reference to a service. For example, yoko.orb.service.NameService adds the name service to the ORBs internal list of services.

Possible Values: A string IOR representing a reference to the service


yoko.orb.use_type_code_cache
Tells the ORB whether or not to use a TypeCode cache. If the TypeCode cache is not used, a new TypeCode object is created for each TypeCode received over the wire. When enable, only one TypeCode object is created for each TypeCode with a unique repository ID.

Possible Values: true, false
Default Value: true


yoko.orb.trace.connections
Specifies the level of diagnostic messages outputted by Yoko in relation to connection establishment and closure. A level of 1 or higher produces information about connection events, a level of 2 or higher produces additional information about code-set exchanges.

Possible Values: An integer level >= 0
Default Value: 0, which produces no output


yoko.orb.trace.retry
Specifies the level of diagnostic messages outputted by Yoko in relation to re-sending of failed messages. A level of 1 or higher produces information about re-sending of events, a level of 2 or higher produces additional information regarding IOR profiles used during the retry.

Possible Values: An integer level >= 0
Default Value: 0, which produces no output


yoko.orb.oa.conc_model
Specifies the concurrency model to be used on the server side. Note that if thread_pool is used, then the number of threads in the pool can be controlled by setting the yoko.orb.oa.thread_pool property.

Possible Values: threaded, thread_per_client, thread_per_request, thread_pool
Default Value: thread_per_client


yoko.orb.oa.endpoint
Specifies a list endpoints for the Root POA manager. This is a comma separated list of protocols and associated protocol options in the following format:

<protocol_id> <options>

For example, 2 IIOP endpoints can be specified as follows:

yoko.orb.oa.endpoint=iiop --host localhost --port 30000, iiop --host localhost --port 40000

<TODO: what are the available options for the iiop protocol, what is their meaning, and which other protocols are available>

Possible Values: see ORB Endpoint Configuration for details <TODO>
Default Value: iiop


yoko.orb.oa.thread_pool
Specifies the number of threads in the pool when thread_pool is selected as the server-side concurrency model.

Possible Values: An integer > 0
Default Value: 10


yoko.orb.oa.version
Specifies the GIOP version to be used in object references. This can be used with ORBs which do not understand more recent versions of GIOP.

Possible Values: 1.0, 1.1, 1.2
Default Values: 1.2


yoko.orb.poamanager.<manager_name>.conc_model
Specifies the concurrency model used by the POA manager with the name <manager_name>.

Possible Values: threaded
Defualt Value: determied by the property yoko.orb.oa.conc_model


yoko.orb.poamanager.<manager_name>.endpoint
Specifies the list of endpoints for the POA manaager with the name <manager_name>.

Possible Values: see ORB Endpoint Configuration for details <TODO>
Defualt Value: iiop


yoko.orb.poamanager.<manager_name>.version
Specifies the GIOP version to be used in object references generated by the POA manager with the name <manager_name>.

Possible Values: 1.0, 1.1, 1.2
Defualt Value: determined by the property yoko.orb.oa.version