Object Request Broker custom properties

 

+

Search Tips   |   Advanced Search

 

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 the following ORB custom properties to configure an ORB, understand that there are two types of default values for some of these properties: JDK default values and WAS 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 WAS default is the value that WAS sets for a property in one of the following files:

orb.properties When an appserver is installed.
server.xml When an appserver is configured.

Because WAS explicitly sets its default value, if both a WAS and a JDK default value is defined for a property, the WAS 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.

The WAS orb.properties file, that is located in the WAS directory...

was_home/java/jre/lib

...contains WAS ORB custom properties that are initially set to WAS default values during the WAS installation process.

You can specify new values for the ORB custom properties in the console. Any value you specify takes precedence over any JDK or WAS default values for these properties. The ORB custom properties settings specified in the 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 console to set ORB custom properties, in the console, click...

Servers | Application servers | server | Container services | ORB service | Custom properties

You 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 your change. When you finish making changes, click OK and then click Save to save your 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 name
To 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 arguments

The Custom properties page might already include SSL properties that were added during WAS installation. 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

Specify the domain name service (DNS) host name or IP address of the machine on which initial server contact for this client resides. This setting is deprecated and is scheduled for removal in a future release.

For a command-line or programmatic alternative, refer to Client-side programming tips for the Java Object Request Broker service.

 

com.ibm.CORBA.BootstrapPort

Port to which the ORB connects for bootstrapping, the port of the machine on which the initial server contact for this client listens. This setting is deprecated and is scheduled for removal in a future release.

For a command-line or programmatic alternative, refer to Client-side programming tips for the Java Object Request Broker service.

Default 2809

 

com.ibm.CORBA.ConnectTimeout

Maximum time in seconds that the client ORB waits before timing out when attempting to establish an IIOP connection with a remote server ORB.

Generally, client applications use this property. The property is not used by the appserver by default. However, if necessary, you can specify the property for each individual appserver through the console.

Client applications can specify the com.ibm.CORBA.ConnectTimeout property in one of two ways:

Begin by setting your 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 (seconds)
Default 0 (the client ORB waits indefinitely)

 

com.ibm.CORBA.ConnectionInterceptorName

Specify the connection interceptor class that is 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

Specify 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 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.

WAS default true
JDK default false

 

com.ibm.CORBA.FragmentSize

Size of General Inter-ORB Protocol (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. Set this property on the client side with a -D system property if you use a stand-alone Java application.

Adjust 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 seem to be waiting while sending or receiving data. Adjust this property so that most messages have few or no fragments.

To instruct the ORB not to break up any of the requests or replies it sends, set this property to 0 (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 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. The setting of this property is valid for client-side ORBs only.

Default Next available system-assigned port number
Range 0 to 2147483647

 

com.ibm.CORBA.LocalHost

Specify the host name or IP address of the system on which the server ORB is running. If you 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 serverindex.xml. 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 ORB's JNI reader thread pool. Each thread can handle up to 1024 connections.

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. Either IBMJSSE2 SSL or IBMJSSE SSL can be specified. 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

Specify 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.

Valid Range not applicable
Default none

 

com.ibm.CORBA.RasManager

Specify an 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 WAS RAS processing.

WAS default com.ibm.websphere.ras.WsOrbRasManager
JDK default None.

 

com.ibm.CORBA.ServerSocketQueueDepth

Maximum number of connection requests that can remain unhandled by the WAS 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

Specify that 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

Specify the 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

Specify the 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

This property applies when you have a mixed release cluster for which you 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, you can removing this property from the list of ORB custom properties or you can change the value that is 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 you do not specify a value for this property or if you set this property to 2, the ORB runs using version 2 object identities, which cannot be used with pre-V5.1.1 appservers.

For incremental cell upgrade instructions, see Migrating to a V6.1 deployment manager .

 

com.ibm.websphere.threadpool.strategy.implementation

Logical pool distribution (LPD) thread pool strategy the next time you start the appserver, and is enabled if set to com.ibm.ws.threadpool.strategy.LogicalPoolDistribution.

This is a deprecated function and will be removed in a future version of the product. Do not configure logical pool distribution unless you have already configured it for a previous release of WAS.

Some requests have shorter start times than others. LPD is a mechanism for providing these shorter requests greater access to start threads. For more information, see Logical pool distribution.

 

com.ibm.websphere.threadpool.strategy.LogicalPoolDistribution.calcinterval

Specify how often the logical pool distribution (LPD) mechanism readjusts the pool start target times. This property cannot be turned off after this support is installed.

Do not configure logical pool distribution unless you have already configured it with a previous release of WebSphere Application Server. This function is deprecated and will be removed in a future version of the product.

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

Data type Integer
Units Milliseconds
Default 30
Range 20,000 milliseconds minimum

 

com.ibm.websphere.threadpool.strategy.LogicalPoolDistribution.lruinterval

Specify how long the logical pool distribution internal data is kept for inactive requests. The mechanism tracks several statistics for each request type that is received. Consider removing requests inactive for awhile.

Do not configure logical pool distribution unless you have already configured it with a previous release of WebSphere Application Server. This function is deprecated and will be removed in a future version of the product.

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

Specify how many pools are created and how many threads are allocated to each pool in the logical pool distribution mechanism.

Do not configure logical pool distribution unless you have already configured it with a previous release of WebSphere Application Server. This function is deprecated and will be removed in a future version of the product.

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 add up to 100. For example, the list 25,25,25,25 sets 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 start time by the calculation mechanism. Target start times are assigned to outqueues in increasing order so pool 0 gets the requests with the least start time and pool n-1 gets requests with the highest start 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

Specify 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.

Do not configure logical pool distribution unless you have already configured it with a previous release of WebSphere Application Server. This function is deprecated and will be removed in a future version of the product.

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

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.

Do not configure logical pool distribution unless you have already configured it with a previous release of WebSphere Application Server. This function is deprecated and will be removed in a future version of the product.

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

Data type Integer
Default 96
Range 10 minimum

 

com.ibm.ws.orb.services.redirector.MaxOpenSocketsPerEndpoint

Maximum number of connections that the IIOP Tunnel Servlet should maintain 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 improperly 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 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.

WAS default com.ibm.CORBA.RequestTimeout property setting for the appserver 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

Specify whether the WAS ORB binds to all network interfaces in the system. If true is specified, the ORB binds to all network interfaces that are available to it. If false is specified, 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 Reference


Administrative console buttons
Administrative console preference settings
Character code set 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
Object Request Brokers: Resources for learning
Tuning the application serving environment