Object Request Broker service custom properties

There are several ways to configure an ORB. For example, you can use ORB custom property settings, or system property settings to configure an ORB, or you can provide objects during ORB initialization.

If you use ORB custom properties to configure an ORB, you must understand that there are two types of default values for some of these properties: JDK default values and WebSphere Application Server default values. The JDK default is the value that the ORB uses for a property if the property is not specified in any way. The WebSphere Application Server default is the value that WebSphere Application Server sets for a property in one of the following files:

Because WebSphere Application Server explicitly sets its default value, if both a WebSphere Application Server and a JDK default value is defined for a property, the WebSphere Application Server default takes precedence over the JDK default.

For more information about the different ways to specify ORB properties and the precedence order, see the JDK Diagnostic Guide for the version of the JDK that you are using. These guides are available at .

The WebSphere Application Server orb.properties file, that is located in the WebSphere Application Server was_home/java/jre/lib directory, contains WebSphere Application server ORB custom properties that are initially set to WebSphere Application Server default values during the WebSphere Application Server installation process.

You can specify new values for the ORB custom properties in the administrative console. Any value you specify takes precedence over any JDK or WebSphere Application Server default values for these properties. The ORB custom properties settings that you specify in the administrative console are stored in the WebSphere Application Server server.xml system file and are passed to an ORB in a properties object whenever an ORB is initialized.

To use the administrative console to set ORB custom properties, in the administrative console, click Servers > Application Servers > serverName > ORB Service > Custom Properties.

To add properties to the page, click New and enter at least a name (case-sensitive) and value for the property. Then click Apply. When you are finished entering properties, click OK.

Setting ORB Properties through the command lineIf you use java command, then you use the -D option, for example:

java -Dcom.ibm.CORBA.propname1=value1 -Dcom.ibm.CORBA.propname2=value2 ... application name

If you use the launchclient command, then you need to prefix the property with -CC, for example:

launchclient yourapp.ear -CCDcom.ibm.CORBA.propname1=value1 -CCDcom.ibm.CORBA.propname2=value2 ... optional application arguments

The custom properties page already might include Secure Sockets Layer (SSL) properties that were added during product setup. A list of additional properties associated with the Java ORB service follows. Unless otherwise indicated, the default values provided in the descriptions of these properties are the JDK default values.

com.ibm.CORBA.BootstrapHost
Specifies the DNS host name or IP address of the machine on which initial server contact for this client resides. This setting is deprecated and will be removed in a future release.
com.ibm.CORBA.BootstrapPort
Specifies the port to which the ORB connects for bootstrapping. In other words, the port of the machine on which the initial server contact for this client is listening. This setting is deprecated and will be removed in a future release.
Default 2809
com.ibm.CORBA.enableLocateRequest
Specifies whether the ORB uses the locate request mechanism to find objects in a WebSphere Application Server cell. Use this property for performance tuning.

When this property is set to true, the ORB first sends a short message to the server to find the object that it needs to access. This first contact is called the locate request. If most of your initial method invocations are very small, setting this property to false might improve performance because this setting change can reduce the GIOP traffic by as much as half. If most of your initial method invocations are large, you should set this property to true so that the small locate request message is sent instead of the large message. The large message is then sent to the proper target after the desired object is found.

WebSphere Application Server default true
JDK default false
com.ibm.CORBA.FragmentSize  
Specifies the size of GIOP fragments used by the ORB. If the total size of a request exceeds the set value, the ORB breaks up and sends multiple fragments until the entire request is sent. This should also be set on the client side with a -D system property if using a stand-alone java application.

Consider adjusting com.ibm.CORBA.FragmentSize when the amount of data that is sent over IIOP exceeds one kilobyte. You should definitely adjust this setting if thread dumps show that most client side threads get stuck in a wait coming from writeLock. Sometimes a low amount of fragmentation is allowed, so set this property so that most messages have few to no fragments. If you want to instruct the ORB not to break up any of the requests or replies it sends, set this property to zero. However, setting the value to zero does not prevent the ORB from receiving GIOP fragments in requests or replies sent by another existing ORB.

Units Bytes.
Default 1024
Range From 64 to largest value of Java integer type that is divisible by 8
com.ibm.CORBA.ListenerPort
Specifies the port on which this server listens for incoming requests. The setting of this property is valid only for client-side ORBs.
Default Next available system-assigned port number
Range 0 to 2147483647
com.ibm.CORBA.LocalHost
Specifies the host name or IP address of the system on which the server ORB is running. The setting of this property is valid only for client-side ORBs. Otherwise, the ORB obtains a value at run time by calling InetAddress.getLocalHost().getHostAddress().
com.ibm.CORBA.SendConnectionContexts  
Specifies whether or not all of the connection contexts, such as Partner Version, Sending Context Runtime, and Codebase contexts, are added to every GIOP request and every GIOP response that is sent from an application server that is running on a distributed operating system.

When this property is set to always, all of the connection contexts are added to every GIOP request and every GIOP response.

When this property is set to once, the connection contexts are only added to the initial request.

Default once
com.ibm.CORBA.ServerSocketQueueDepth  
Specifies the maximum number of connection requests that can remain unhandled by the WebSphere Application Server ORB before the Application Server starts to reject new incoming connection requests. This property corresponds to the backlog argument to a ServerSocket constructor and is handled directly by TCP/IP.

If you see a "connection refused" message in a trace log, usually either the port on the target machine isn't open, or the server is overloaded with queued-up connection requests. Increasing the value specified for this property can help alleviate this problem if there does not appear to be any other problem in the system.

Default 50
Range From 50 to the largest value of the Java int type
com.ibm.CORBA.ShortExceptionDetails
If set to any value, this specifies that the exception detail message that is returned whenever the server ORB encounters a CORBA system exception is to contain a short description of the exception as returned by the toString() method of java.lang.Throwable. Otherwise, the message contains the complete stack trace as returned by the printStackTrace() method of java.lang.Throwable.
com.ibm.websphere.threadpool.strategy.implementation  
If set to com.ibm.ws.threadpool.strategy.LogicalPoolDistribution, this enables the Logical Pool Distribution (LPD) thread pool strategy the next time you start the application server.

Some requests have shorter execution times than others. LPD is a mechanism for allowing these shorter requests greater access to execution threads. For more information, see "Logical Pool Distribution."

com.ibm.websphere.threadpool.strategy.LogicalPoolDistribution.calcinterval  
Specifies how often the Logical Pool Distribution (LPD) mechanism will readjust the pool execution target times. It cannot be turned off once this support is installed.

LPD must be enabled (see com.ibm.websphere.threadpool.strategy.implementation).

Data type Integer
Units Milliseconds
Default 30
Range 20,000 minimum
com.ibm.websphere.threadpool.strategy.LogicalPoolDistribution.lruinterval  
Specifies how long the Logical Pool Distribution internal data is kept for inactive requests. The mechanism tracks several statistics for each request type received. Consider removing requests that have not been active for a while.

LPD must be enabled (see com.ibm.websphere.threadpool.strategy.implementation).

Data type Integer
Units Milliseconds
Default 300,000 (5 minutes)
Range 60,000 (1 minute) minimum
com.ibm.websphere.threadpool.strategy.LogicalPoolDistribution.outqueues  
Specifies how many pools are created and how many threads are allocated to each pool in the Logical Pool Distribution mechanism.

The ORB parameter for max threads controls the total number of threads. The outqueues parameter is specified as a comma separated list of percentages that should add up to 100. For example, the list 25,25,25,25 will set up 4 pools, each allocated 25% of the available ORB thread pool. The pools are indexed left to right from 0 to n-1. Each outqueue is dynamically assigned a target execution time by the calculation mechanism. Target execution times are assigned to outqueues in increasing order so pool 0 gets the requests with the least execution time and pool n-1 gets requests with the highest execution times.

LPD must be enabled (see com.ibm.websphere.threadpool.strategy.implementation).

Data type Integers in comma separated list
Default 25,25,25,25
Range Percentages in list must total 100 percent
com.ibm.websphere.threadpool.strategy.LogicalPoolDistribution.statsinterval  
If active, statistics will be dumped to stdout after this interval expires, but only if requests have been processed. This keeps the mechanism from filling the log files with redundant information. These stats are beneficial for tuning the Logical Pool Distribution mechanism.

LPD must be enabled (see com.ibm.websphere.threadpool.strategy.implementation).

Data type Integer
Units Milliseconds
Default 0 (meaning Off)
Range 30,000 (30 seconds) minimum
com.ibm.websphere.threadpool.strategy.LogicalPoolDistribution.workqueue  
Specifies the size of a new queue where incoming requests wait for dispatching. Pertains to the Logical Pool Distribution mechanism.

LPD must be enabled (see com.ibm.websphere.threadpool.strategy.implementation).

Data type Integer
Default 96
Range 10 minimum
com.ibm.CORBA.numJNIReaders  
Specifies the number of JNI reader threads to be allocated in the ORB's JNI reader thread pool. Each thread can handle up to 1024 connections.

Note: Before setting this property, make sure that a JSSE provider has been selected as the provider for the SSL repertoire associated with the port on which the ORB service listens for incoming requests. IBMJSSE2 is the default provider setting for SSL repertoires.

Valid Range 1-2147483647
Default 4
com.ibm.CORBA.ORBPluginClass.com.ibm.ws.orbimpl.transport.JNIReaderPoolImpl  
Specifies that JNI reader threads will be used. The property name specifies the class name of the ORB component that manages the pool of JNI reader threads and interacts with the native OS library used to process multiple connections simultaneously.

Note:

Valid Range not applicable
Default none
com.ibm.ws.orb.services.redirector.MaxOpenSocketsPerEndpoint
Specifies the maximum number of connections that the IIOP Tunnel Servlet should maintain in its connection cache for each target host or port. If the number of concurrent client requests to a single host or port exceeds the setting for this property, the IIOP Tunnel Servlet opens a temporary connection to the target server for each extra client request, and then closes the connection after it receives the reply. Connections that are opened but not used within five minutes are removed from the cache for the IIOP Tunnel Servlet.
WebSphere Application Server default 3
JDK default Not applicable
Range 0 - largest integer recognized by Java
com.ibm.ws.orb.services.redirector.RequestTimeout
Specifies the number of seconds that the IIOP Tunnel Servlet waits for a reply from the target server on behalf of a client before timing out. If a value is not specified for this property, or is improperly specified, the com.ibm.CORBA.RequestTimeout property setting for the application server on which the IIOP Tunnel Servlet is installed is used as the setting for the com.ibm.ws.orb.services.redirector.RequestTimeout property.

The value you specify for this property should be at least as high as the highest client setting for the com.ibm.CORBA.RequestTimeout property, otherwise the IIOP Tunnel Servlet might timeout more quickly than the client would normally timeout while waiting for a reply. If this property is set to zero, the IIOP Tunnel Servlet does not time out.

WebSphere Application Server default com.ibm.CORBA.RequestTimeout property setting for the application server on which the IIOP Tunnel Servlet is installed.
JDK default Not applicable
Range 0 - largest integer recognized by Java

Related concepts
Logical Pool Distribution (LPD)
Related tasks
Tuning application servers
Related reference
Administrative console buttons
Administrative console preference settings
Character codeset conversion support for the Java Object Request Broker service
Client-side programming tips for the Java Object Request Broker service
Object Request Broker service settings in administrative console
Object Request Brokers: Resources for learning
Tuning performance parameter index



Searchable topic ID:   rorbsetg
Last updated: Jun 21, 2007 8:07:48 PM CDT    WebSphere Business Integration Server Foundation, Version 5.0.2
http://publib.boulder.ibm.com/infocenter/wasinfo/index.jsp?topic=/com.ibm.wasee.doc/info/ee/ae/rorb_setg.html

Library | Support | Terms of Use | Feedback