2 Object Request Broker (ORB)

Several settings are available for controlling internal Object Request Broker (ORB) processing. You can use these to improve application performance in the case of applications containing enterprise beans.

You can change these settings for the default server or any appserver configured in the administrative domain from the Administrative Console.

 

Pass by value versus Pass by reference (com.ibm.CORBA.iiop.noLocalCopies)

For EJB 1.1 beans, the EJB 1.1 specification states that method calls are to be Pass by value. For every remote method call, the parameters are copied onto the stack before the call is made. This can be expensive. The Pass by reference, which passes the original object reference without making a copy of the object, can be specified.

For EJB 2.0 beans, interfaces can be local or remote. For local interfaces, method calls are Pass by reference, by default.

If the EJB client and EJB server are installed in the same WAS instance, and the client and server use remote interfaces, specifying Pass by reference can improve performance up to 50%.

Please note that Pass by reference helps performance only when non-primitive object types are being passed as parameters. Therefore, int and floats are always copied, regardless of the call model.

Important: Pass by reference can be dangerous and can lead to unexpected results. If an object reference is modified by the remote method, the change might be seen by the caller.

Use the Administrative Console to set this value:

3. Select Servers -> Application Servers.

4. Select the appserver you wish to change.

5. Then, select ORB Service from Additional Properties.

6. Select the check box Pass by Reference.

7. Click OK and Apply to save the changes.

8. Stop and restart the appserver.

The default is Pass by value for remote interfaces and Pass by reference for EJB 2.0 local interfaces.

If the appserver expects a large workload for enterprise bean requests, the ORB configuration is critical. Take note of the following properties.

 

com.ibm.CORBA.ServerSocketQueueDepth

This property corresponds to the length of the TCP/IP stack listen queue and prevents WAS from rejecting requests when there is no space in the listen queue.

If there are many simultaneous clients connecting to the server-side ORB, this parameter can be increased to support the heavy load up to 1000 clients. The default value is 50.

To set the property (in our example we set it to 200), follow these steps:

1. Select Servers -> Application Servers.

2. Click the appserver you want to tune.

3. Select Process Definition under Additional Properties.

4. Select Java Virtual Machine under Additional Properties.

5. Enter -Dcom.ibm.CORBA.ServerSocketQueueDepth=200 in the Generic JVM Properties field.

 

Object Request Broker connection cache maximum (com.ibm.CORBA.MaxOpenConnections)

This property has two names and corresponds to the size of the ORB connection table. The property sets the standard for the number of simultaneous ORB connections that can be processed.

If there are many simultaneous clients connecting to the server-side ORB, this parameter can be increased to support the heavy load up to 1000 clients. The default value is 240. To change this value:

1. Select Servers -> Application Servers.

2. Select the appserver you want to tune.

3. Select ORB Service under Additional Properties.

4. Update the Connection cache maximum field and click OK.

5. Click Apply to save the changes then restart the appserver.

 

ORB thread pool size

Refer to EJB container for more information.

  Prev | Home | Next

 

WebSphere is a trademark of the IBM Corporation in the United States, other countries, or both.

 

IBM is a trademark of the IBM Corporation in the United States, other countries, or both.