Object Request Broker custom properties
There are several ways to configure an Object Request Broker (ORB).
- Custom properties
- System properties
- Initialization properties
If both a WAS and a JDK default value are defined for a property, the WAS default takes precedence over the JDK default.
WAS default set by...
- WAS_HOME/java/jre/lib/orb.properties
WAS_HOME/runtimes/properties/orb.properties- server.xml
The orb.properties file in...
WAS_HOME/java/jre/lib
...contains ORB custom properties initially during WAS installation process.
Use the admin console to specify new values for these ORB custom properties. Any value specified takes precedence over any JDK or WAS default values for these properties. The ORB custom properties settings specified in the admin console are stored in the server.xml system file and are passed to an ORB in a properties object whenever an ORB is initialized.
To use the admin console to set ORB custom properties, click...
Servers | Server Types | Application servers | myserver | Container services | ORB service | Custom propertiesWe can then change the setting of one of the listed custom properties or click New to add a new property to the list. Then, click Apply to save the change. When you finish making changes, click OK and then click Save to save the changes.
To use the java command on a command line, use the -D option; for example:
java -Dcom.ibm.CORBA.propname1=value1 -Dcom.ibm.CORBA.propname2=value2 ... application nameTo use the launchclient command on a command line, prefix the property with -CC; for example:
launchclient yourapp.ear -CCDcom.ibm.CORBA.propname1=value1 -CCDcom.ibm.CORBA.propname2=value2 ... optional application argumentsThe Custom properties page might already include SSL properties that were added during product installation. A list of the additional properties that are associated with the ORB service follows. Unless otherwise indicated, the default values that are provided in the descriptions of these properties are the JDK default values.
- com.ibm.CORBA.BootstrapHost
- DNS host name or IP address of the machine on which initial server contact for this client resides.
Deprecated feature: This setting is deprecated.
- com.ibm.CORBA.BootstrapPort
- Port that the ORB uses to bootstrap to the machine on which the initial server contact for this client listens.
Deprecated feature: This setting is deprecated.
Default 2809
- com.ibm.CORBA.ConnectTimeout
- Maximum time, in second, that the client ORB waits before timing out when attempting to establish an IIOP connection with a remote server ORB. Typically, client applications use this property. By default, this property is not used by the appserver. However, if necessary, we can specify the property for each individual appserver through the admin console.
Client applications can specify the com.ibm.CORBA.ConnectTimeout property in one of two ways:
- By including it in the orb.properties file
- By using the -CCD option to set the property with the launchclient script.
The following example specifies a maximum timeout value of ten seconds:
launchclient clientapp.ear -CCDcom.ibm.com.CORBA.ConnectTimeout=10...
Begin by setting the timeout value to 20-30 seconds, but consider factors such as network congestion and appserver load and capacity. Lower values can provide better failover performance, but can result in exceptions if the remote server does not have enough time to complete the connection.
Valid Range 0-300 Default 0, which means that the client ORB waits indefinitely
- com.ibm.CORBA.ConnectionInterceptorName
- Connection interceptor class used to determine the type of outbound IIOP connection to use for a request, and if secure, the quality of protection characteristics associated with the request.
WAS default com.ibm.ISecurityLocalObjectBaseL13Impl.SecurityConnectionInterceptor JDK default None
- com.ibm.CORBA.enableLocateRequest
- Whether the ORB uses the locate request mechanism to find objects in a WAS 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 the initial method invocations are small, setting this property to false might improve performance because this setting change can reduce the GIOP traffic by as much as one-half. If most of the initial method invocations are large, you should set this property to true. When the property is set to true, the small locate request message is sent instead of the large locate request message. The large message is then sent to the target after the desired object is found.
WAS default true JDK default false
- com.ibm.CORBA.FragmentSize
- Size of GIOP fragments that the ORB uses when it sends requests. If the total size of a request exceeds the set value, the ORB breaks the request into fragments, and sends each fragment separately until the entire request is sent. Set this property on the client side with a -D system property if we use a stand-alone Java application.
Adjust the value specified for the com.ibm.CORBA.FragmentSize property if the amount of data that is sent over IIOP in most GIOP requests exceeds one kilobyte, or if thread dumps show that most client-side threads are waiting while sending or receiving data. Most messages should have few or no fragments.
To instruct the ORB not to chunk any of the requests or replies it sends, set this property to 0. However, setting the value to zero does not prevent the ORB from receiving GIOP fragments in requests or replies sent by another ORB.
Units Bytes. Default 1024 Range From 64 to the largest value of a Java integer type that is divisible by 8
- com.ibm.CORBA.ListenerPort
Port on which this server listens for incoming requests. This setting only applies for client-side ORBs.
Default Next available system-assigned port number Range 0 to 2147483647
- com.ibm.CORBA.LocalHost
- Host name or IP address of the system on which the server ORB is running. If we do not specify a value for this property, during ORB initialization, WAS sets this property to the host name or IP address specified for the BOOTSTRAP_ADDRESS end point in the serverindex.xml file.
For client applications, if no value is specified for this property, the ORB obtains a value at run time by calling InetAddress.getLocalHost().getHostAddress() method.
- com.ibm.CORBA.numJNIReaders
Number of JNI reader threads to be allocated in the JNI reader thread pool used by the ORB. Each thread can handle up to 1024 connections.
Avoid trouble: Before you specify this property, verify that a JSSE provider is selected as the provider for the SSL repertoire that is associated with the port on which the ORB service listens for incoming requests. We can specify either IBMJSSE2 SSL or IBMJSSE SSL. IBMJSSE2 SSL is the default provider setting for SSL repertoires.
Valid Range 1 - 2147483647 Default 4
- com.ibm.CORBA.ORBPluginClass.com.ibm.ws.orbimpl.transport.JNIReaderPoolImpl
- JNI reader threads are 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.
Avoid trouble:
- Verify that the library is located in the bin directory for WAS ND.
For an Intel operating system, the name of the file that contains the library name is Selector.dll
For a UNIX-based operating system, the name of the file that contains the library is either libSelector.a or libSelector.so. If the lib prefix is missing from the file name, rename the file such that the name includes the lib prefix.
- When you specify this property using the admin console, enter...
com.ibm.CORBA.ORBPluginClass.com.ibm.ws.orbimpl.transport.JNIReaderPoolImplfor the property name and an empty string ("") for the value. When you specify 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
- com.ibm.CORBA.RasManager
- Alternative to the default RAS manager of the ORB.
This property must be set to com.ibm.websphere.ras.WsOrbRasManager before the ORB can be integrated with the rest of the RAS processing for WAS ND.
WAS default com.ibm.websphere.ras.WsOrbRasManager JDK default None
- com.ibm.CORBA.SendConnectionContexts
- Whether or not the connection contexts, such as Partner Version, Sending Context Runtime, and Codebase contexts, are always sent with every GIOP message, or are sent only once for each connection.
When this property is set to always, all of the connection contexts are sent with every GIOP request and every GIOP response.
When this property is set to once, the connection contexts are only sent with the initial request.
Default once
- com.ibm.CORBA.ServerSocketQueueDepth
- Maximum number of connection requests that can be waiting to be handled by the Server ORB before WAS 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 we see a "connection refused" message in a trace log, typically, either the port on the target machine is not 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
- The exception detail message that is returned whenever the server ORB encounters a CORBA system exception contains a short description of the exception as returned by the toString method of java.lang.Throwable class.
Otherwise, the message contains the complete stack trace as returned by the printStackTrace method of java.lang.Throwable class.
- com.ibm.CORBA.WSSSLClientSocketFactoryName
Class that the ORB uses to create SSL sockets for secure outbound IIOP connections.
WAS default com.ibm.ws.security.orbssl.WSSSLClientSocketFactoryImpl JDK default None
- com.ibm.CORBA.WSSSLServerSocketFactoryName
- Class that the ORB uses to create SSL sockets for inbound IIOP connections.
WAS default com.ibm.ws.security.orbssl.WSSSLServerSocketFactoryImpl JDK default None
- com.ibm.websphere.ObjectIDVersionCompatibility
- Applies when we have a mixed release cluster for which we are performing an incremental cell upgrade, and at least one of the releases is earlier than V5.1.1.
In an environment that includes mixed release cells, the migration program automatically sets this property to 1.
After you upgrade all of the cluster members to the same release, we can remove this property from the list of ORB custom properties, or we can change the value specified for the property to 2. Either action improves performance.
When this property is set to 1, the ORB runs using version 1 object identities, which are required for mixed cells that contain appservers with releases prior to V5.1.1. If we do not specify a value for this property or if we set this property to 2, the ORB runs using version 2 object identities, which cannot be used with pre-V5.1.1 appservers.
- com.ibm.websphere.threadpool.strategy.implementation
Logical pool distribution (LPD) thread pool strategy that takes affect the next time you start the appserver, and is enabled if set to com.ibm.ws.threadpool.strategy.LogicalPoolDistribution.
Deprecated feature: The logical pool distribution function is deprecated. Do not configure logical pool distribution unless we have already configured it for a previous release of WAS ND.
Some requests have shorter start times than others. LPD is a mechanism for providing these shorter requests greater access to start threads.
- com.ibm.websphere.threadpool.strategy.LogicalPoolDistribution.calcinterval
- How often the LPD mechanism readjusts the pool start target times. This property cannot be turned off after this support is installed.
Deprecated feature: The logical pool distribution function is deprecated. Do not configure logical pool distribution unless we have already configured it with a previous release of WAS ND.
If we use this property, LPD must be enabled.
Data type Integer Units Milliseconds Default 30 Range 20,000 milliseconds minimum
- com.ibm.websphere.threadpool.strategy.LogicalPoolDistribution.lruinterval
Specifies, in milliseconds, how long the logical pool distribution internal data is kept for inactive requests. This mechanism tracks several statistics for each request type that is received. Consider removing requests that have been inactive for an unusually long length of time.
Deprecated feature: This function is deprecated. Do not configure logical pool distribution unless we have already configured it with a previous release of WAS ND.depfeat
If we use this property, LPD must be enabled.
Data type Integer Units Milliseconds Default 300000 (5 minutes) Range 60000 (1 minute) minimum
- com.ibm.websphere.threadpool.strategy.LogicalPoolDistribution.outqueues
How many pools are created and how many threads are allocated to each pool in the logical pool distribution mechanism.
Deprecated feature: The logical pool distribution function is deprecated. Do not configure logical pool distribution unless we have already configured it with a previous release of WAS ND.depfeat
The ORB parameter for specifying the maximum number of threads controls the total number of threads. The outqueues parameter is specified as a comma separated list of percentages that add up to 100. For example, the list 25,25,25,25 sets up 4 pools, each allocated 25 percent of the available ORB thread pool.
The pools are indexed left to right from 0 to n-1. The calculation mechanism dynamically assigns each outqueue a target start time. Target start times are assigned to outqueues in increasing order. Therefore, pool 0 gets the requests with the least start time, and pool n-1 gets requests with the highest start times.
If we specify this property, LPD must be enabled.
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
Specifies that statistics are dumped to stdout after this interval expires, but only if requests are processed. This process keeps the mechanism from filling the log files with redundant information. These statistics are beneficial for tuning the logical pool distribution mechanism.
Deprecated feature: The logical pool distribution function is deprecated. Do not configure logical pool distribution unless we have already configured it with a previous release of WAS ND. depfeat
If we use this property, LPD must be enabled.
Data type Integer Units Milliseconds Default 0 (off) Range 30,000 (30 seconds) minimum
- com.ibm.websphere.threadpool.strategy.LogicalPoolDistribution.workqueue
- Size of a new queue where incoming requests wait for dispatch. Pertains to the logical pool distribution mechanism.
Deprecated feature: The logical pool distribution function is deprecated. Do not configure logical pool distribution unless we have already configured it with a previous release of WAS ND. depfeat
If we use this property, LPD must be enabled.
Data type Integer Default 96 Range 10 minimum
- com.ibm.ws.orb.services.redirector.MaxOpenSocketsPerEndpoint
- Maximum number of connections that the IIOP Tunnel Servlet maintains in its connection cache for each target host and port. If the number of concurrent client requests to a single host and 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.
WAS default 3 JDK default Not applicable Range 0 - largest integer recognized by Java
- com.ibm.ws.orb.services.redirector.RequestTimeout
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 incorrectly specified, the com.ibm.CORBA.RequestTimeout property setting for the appserver, 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 must 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 typically times out while waiting for a reply. If this property is set to zero, the IIOP Tunnel Servlet does not time out.
WAS 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
- com.ibm.ws.orb.transport.useMultiHome
- Whether the server ORB binds to all network interfaces in the system. If we specify true, the ORB binds to all network interfaces that are available to it. If we specify false, the ORB only binds to the network interface specified for the com.ibm.CORBA.LocalHost system property.
WAS default true JDK default true
- javax.rmi.CORBA.UtilClass
- Name of the Java class that WAS uses to implement the javax.rmi.CORBA.UtilDelegate interface.
This property supports delegation for method implementations in the javax.rmi.CORBA.Util class. The javax.rmi.CORBA.Util class provides utility methods that can be used by stubs and ties to perform common operations. The delegate is a singleton instance of a class that implements this interface and provides a replacement implementation for all of the methods of javax.rmi.CORBA.Util. To enable a delegate, provide the class name of the delegate as the value of the javax.rmi.CORBA.UtilClass system property. The default value provides support for the com.ibm.CORBA.iiop.noLocalCopies property.
WAS default com.ibm.ws.orb.WSUtilDelegateImpl JDK default None
Related concepts
Logical pool distribution
Related
Administrative console buttons
Administrative console preference settings
Character code set conversion support for the Java ORB service
Client-side programming tips for the Object Request Broker service
Object Request Broker service settings
Object Request Brokers: Links
Tuning the application serving environment