Object Request Broker service settings

 

Object Request Broker service settings

Use this page to configure the Java Object Request Broker (ORB) service.

To view this administrative console page, click Servers > Application servers > server_name > Container services > ORB service .

Several settings are available for controlling internal Object Request Broker (ORB) processing. You can use these settings to improve application performance in the case of applications that contain enterprise beans. You can make changes to these settings for the default server or any application server that is configured in the administrative domain.

Request timeout

The number of seconds to wait before timing out on a request message.

If you use command-line scripting, the full name of this system property is com.ibm.CORBA.RequestTimeout.

Data type int
Units Seconds
Default 180
Range 0 to 300

Request retries count

The number of times that the ORB attempts to send a request if a server fails. Retrying sometimes enables recovery from transient network failures.

If you use command-line scripting, the full name of this system property is com.ibm.CORBA.requestRetriesCount.

Data type int
Default 1
Range 1 to 10

Request retries delay

The number of milliseconds between request retries.

If you use command-line scripting, the full name of this system property is com.ibm.CORBA.requestRetriesDelay.

Data type int
Units Milliseconds
Default 0
Range 0 to 60

Connection cache maximum

The largest number of supported connections that can occupy the connection cache for the service. If simultaneous clients connect to the server-side ORB, this parameter can be increased up to 1000 clients to support the heavy load.

For use in command-line scripting, the full name of this system property is com.ibm.CORBA.MaxOpenConnections.

Data type Integer
Units Connections
Default 240
Range 0-255

Connection cache minimum

The smallest number of connections to be kept in the connection cache for the ORB service.

For use in command-line scripting, the full name of this system property is com.ibm.CORBA.MinOpenConnections.

Data type Integer
Units Connections
Default 100
Range 0-255

Locate request timeout

The number of seconds to wait before timing out on a LocateRequest message.

If you use command-line scripting, the full name of this system property is com.ibm.CORBA.LocateRequestTimeout.

Data type int
Units Seconds
Default 180
Range 0 to 300

Force tunneling

Controls how the client ORB attempts to use HTTP tunneling.

If you use command-line scripting, the full name of this system property is com.ibm.CORBA.ForceTunnel.

Data type String
Default NEVER
Range Valid values are ALWAYS, NEVER, or WHENREQUIRED.
Consider the following information when choosing the valid value:

ALWAYS

Use HTTP tunneling immediately, without trying TCP connections first.

NEVER

Disable HTTP tunneling. If a TCP connection fails, a CORBA system exception (COMM_FAILURE) occurs.

WHENREQUIRED

Use HTTP tunneling if TCP connections fail.

Tunnel agent URL

The web address of the servlet to use in support of HTTP tunneling.

This web address must be a proper format:

http://w3.mycorp.com:81/servlet/com.ibm.CORBA.services.IIOPTunnelServlet

For applets: http://applethost:port/servlet/com.ibm.CORBA.services.IIOPTunnelServlet.

This field is required if HTTP tunneling is set. If you use command-line scripting, the full name of this system property is com.ibm.CORBA.TunnelAgentURL.

Pass by reference

Specifies how the ORB passes parameters. If enabled, the ORB passes parameters by reference instead of by value, to avoid making an object copy. If you do not enable pass by reference, the parameters are copied to the stack before every remote method call is made, which can be expensive.

If the EJB client and server are installed in the same WebSphere Application Server instance, and the client and server use remote interfaces, enabling Pass by reference can improve performance up to 50%. Pass by reference helps performance only where non-primitive object types are passed as parameters. Therefore, int and floats are always copied, regardless of the call model.

Enable this property with caution, because unexpected behavior can occur. If an object reference is modified by the remote method, the caller might change.

If you use command line scripting, the full name of this system property is com.ibm.CORBA.iiop.noLocalCopies.

Data type Boolean
Default Not enabled (false)

The use of this option for enterprise beans with remote interfaces violates EJB Specification, Version 2.0 (see section 5.4). Object references passed to EJB methods or to EJB home methods are not copied and can be subject to corruption. Consider the following example:

Iterator iterator = collection.iterator();
MyPrimaryKey pk = new MyPrimaryKey();
while (iterator.hasNext()) {
   pk.id = (String) iterator.next();
   MyEJB myEJB = myEJBHome.findByPrimaryKey(pk);
}

In this example, a reference to the same MyPrimaryKey object passes into WebSphere Application Server with a different ID value each time. Running this code with Pass by reference enabled causes a problem within the application server because multiple enterprise beans are referencing the same MyPrimaryKey object. To avoid this problem, set the com.ibm.websphere.ejbcontainer.allowPrimaryKeyMutation system property to true when Pass by reference is enabled. Setting Pass by reference to true causes the EJB container to make a local copy of the PrimaryKey object. As a result, however, a small portion of the performance advantage of setting Pass by reference is lost.

As a general rule, any application code that passes an object reference as a parameter to an enterprise bean method or to an EJB home method must be scrutinized to determine if passing that object reference results in loss of data integrity or in other problems.

Configuration tab

ORB tracing

Enables the tracing of ORB General Inter-ORB Protocol (GIOP) messages.

This setting affects two system properties: com.ibm.CORBA.Debug and com.ibm.CORBA.CommTrace. If you set these properties through command-line scripting, set both properties to true to enable the tracing of GIOP messages.

Data type Boolean
Default Not enabled (false)




Related tasks
Managing Object Request Brokers

Related reference
Thread pool settings
Object Request Broker communications trace
Object Request Brokers: Resources for learning