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.
Default | 2809 |
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 |
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 |
Default | Next available system-assigned port number |
Range | 0 to 2147483647 |
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 |
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 |
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."
LPD must be enabled (see com.ibm.websphere.threadpool.strategy.implementation).
Data type | Integer |
Units | Milliseconds |
Default | 30 |
Range | 20,000 minimum |
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 |
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 |
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 |
LPD must be enabled (see com.ibm.websphere.threadpool.strategy.implementation).
Data type | Integer |
Default | 96 |
Range | 10 minimum |
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 |
Note:
For an Intel platform, the library is Selector.dll and for a UNIX platform, it is libSelector.a or libSelector.so.
For the UNIX platform, if the prefix "lib" is missing, the file should be renamed.
When specifying this property on the java command, do not include a value:
-Dcom.ibm.CORBA.ORBPluginClass.com.ibm.ws.orbimpl.transport.JNIReaderPoolImpl
Valid Range | not applicable |
Default | none |
WebSphere Application Server default | 3 |
JDK default | Not applicable |
Range | 0 - largest integer recognized by Java |
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 |