Administration guide > Configure the deployment environment > Configuring Object Request Brokers


ORB properties file

The orb.properties file is used to pass the properties that are used by the Object Request Broker (ORB) to modify the transport behavior of the data grid.


Location

The orb.properties file is in the java/jre/lib directory. When you modify the file in a WebSphere Application Server java/jre/lib directory, the application servers that are configured under that installation also use the settings from the file.


Baseline settings

The following settings are a good baseline but not necessarily the best settings for every environment. You should understand the settings to help make a good decision on what values are appropriate in the environment.

com.ibm.CORBA.RequestTimeout=30 
com.ibm.CORBA.ConnectTimeout=10 
com.ibm.CORBA.FragmentTimeout=30 
com.ibm.CORBA.LocateRequestTimeout=10
com.ibm.CORBA.ThreadPool.MinimumSize=256 
com.ibm.CORBA.ThreadPool.MaximumSize=256 
com.ibm.CORBA.ThreadPool.IsGrowable=false 
com.ibm.CORBA.ConnectionMultiplicity=1 
com.ibm.CORBA.MinOpenConnections=1024 
com.ibm.CORBA.MaxOpenConnections=1024 
com.ibm.CORBA.ServerSocketQueueDepth=1024 
com.ibm.CORBA.FragmentSize=0 
com.ibm.CORBA.iiop.NoLocalCopies=true 
com.ibm.CORBA.NoLocalInterceptors=true


Property descriptions


Timeout Settings

The following settings relate to the amount of time that the ORB waits before giving up on request operations.

Request timeout


Property name: com.ibm.CORBA.RequestTimeout


Value: Integer value for number of seconds.

Description: Indicates how many seconds any request should wait for a response before giving up. This property influences the amount of time a client takes to fail over if a network outage failure occurs. If you set this property too low, requests might time out inadvertently. Carefully consider the value of this property to prevent inadvertent time-outs.

Connect timeout


Property name: com.ibm.CORBA.ConnectTimeout


Value: Integer value for number of seconds.

Description: Indicates how many seconds a socket connection attempt should wait before giving up. This property, like the request timeout, can influence the time a client takes to fail over if a network outage failure occurs. In general, set this property to a smaller value than the request timeout value because the amount of time to establish a connections should be relatively constant.

Fragment timeout


Property name: com.ibm.CORBA.FragmentTimeout


Value: Integer value for number of seconds.

Description: Indicates how many seconds a fragment request should wait before giving up. This property is similar to the request timeout property.


Thread Pool Settings

These properties constrain the thread pool size to a specific number of threads. The threads are used by the ORB to spin off the server requests after they are received on the socket. Setting these property values too low results in an increased socket queue depth and possibly time-outs.

Connection multiplicity


Property name: com.ibm.CORBA.ConnectionMultiplicity


Value: Integer value for the number of connections between the client and server. The default value is 1. Setting a larger value sets multiplexing across multiple connections.

Description: Allows the ORB to use multiple connections to any server. In theory, setting this value should promote parallelism over the connections. In practice, performance does not benefit from setting the connection multiplicity. Do not set this parameter.

Open connections


Property names: com.ibm.CORBA.MinOpenConnections, com.ibm.CORBA.MaxOpenConnections


Value: An integer value for the number of connections.

Description: Minimum and maximum number of open connections. The ORB keeps a cache of connections that have been established with clients. These connections are purged when the com.ibm.CORBA.MaxOpenConnections value is passed. Purging connections might cause poor behavior in the data grid.

Is Growable


Property name: com.ibm.CORBA.ThreadPool.IsGrowable


Value: Boolean; set to true or false.

Description: If enabled, allows the thread pool that the ORB uses for incoming requests to grow beyond what the pool supports. If the pool size is exceeded, new threads are created to handle the request but the threads are not pooled.

Server socket queue depth


Property name: com.ibm.CORBA.ServerSocketQueueDepth


Value: An integer value for the number of connections.

Description: Length of the queue for incoming connections from clients. The ORB queues incoming connections from clients. If the queue is full, then connections are refused. Refusing connections might cause poor behavior in the data grid.

Fragment size


Property name: com.ibm.CORBA.FragmentSize


Value: An integer number that specifies the number of bytes. The default is 1024.

Description: Maximum packet size that the ORB uses when sending a request. If a request is larger than the fragment size limit, then that request is divided into request fragments that are each sent separately and reassembled on the server. Fragmenting requests is helpful on unreliable networks where packets might need to be resent. However, if the network is reliable, dividing the requests into fragments might cause overhead.

No local copies


Property name: com.ibm.CORBA.iiop.NoLocalCopies


Value: Boolean; set to true or false.

Description: Whether the ORB passes by reference. The ORB uses pass by value invocation by default. Pass by value invocation causes extra garbage and serialization costs to the path when an interface is invoked locally. By setting this value to true, the ORB uses a pass by reference method that is more efficient than pass by value invocation.

No Local Interceptors


Property name: com.ibm.CORBA.NoLocalInterceptors


Value: Boolean; set to true or false.

Description: Whether the ORB invokes request interceptors even when making local requests (intra-process). The interceptors that WXS uses are for security and route handling are not required if the request is handled within the process. Interceptors that go between processes are only required for Remote Procedure Call (RPC) operations. By setting the no local interceptors, you can avoid the extra overhead that using local interceptors introduces.

If you have WXS security enabled, set the com.ibm.CORBA.NoLocalInterceptors property value to false. The security infrastructure uses interceptors for authentication.

When to enforce transport security between ObjectGrid clients and servers, you have to add more properties to the orb.properties file. For more information about these properties, see the section about the orb.properties file for transport security support in Transport layer security and secure sockets layer.


Parent topic:

Configure Object Request Brokers


Related concepts

ORB properties and file descriptor settings


Related tasks

Enable NIO or ChannelFramework on the ORB
Use the Object Request Broker with stand-alone WXS processes
Configure a custom Object Request Broker