InfoCenter Home > 6.6.30.5: Setting the ORB timeout valueIf the network goes down when a Java application is attempting to contact a server, it can take too long for the ORB in the Java application to get an exception. This causes the Web browser originating the request to time out before the Java application can respond to the connection failure (network down). Setting the ORB timeout value to be less than the browser timeout value will allow the Java application to handle the exception before the browser times out. This provides the opportunity for a more graceful, user-friendly response to down servers. The setting should only be used if you cannot set or adjust a timeout at the JDK level. At the time of this writing, the JDK does not have such a setting. Also, you should be fairly sure of the problem before attempting this solution. Note the considerations. Considerations for setting the ORB timeoutIt is recommended that you do not adjust the ORB timeout unless experiencing a problem, because configuring a value that is inappropriate for the environment can create a problem. If you set the value, experimentation will be needed to find the correct value for the particular environment. Configuring an incorrect value can produce results worse than the original problem. That said, if Web clients accessing Java applications running in the WebSphere environment are consistently experiencing problems with their requests, and the problem cannot traced to other sources and addressed through other solutions, consider setting an ORB timeout value and adjusting it for your environment. Web browsers vary in their language for indicating that they have timed out. Usually, the problem is announced as a "connection failure" or "no path to server" message. Tuning the ORB timeoutWhen tuning this parameter, aim to set the ORB timeout value to less than the time after which a Web client eventually times out. Because it can be difficult to tell how long Web clients will wait before timing out, setting the ORB timeout requires some experimentation. Another difficulty is that the ideal testing environment will feature some simulated network failures for testing the proposed setting value. Empirical results from limited testing indicate that 30 seconds is a reasonable starting value. Mainly, you need to ensure that the setting is not too low. To fine tune the setting, find a value that is not too low. Then gradually decrease the setting until reaching the threshhold at which the value becomes too low. Set the value a little above the threshhold. When the ORB timeout is set too low, the symptom is numerous CORBA 'NO_RESPONSE' exceptions, which occur even for some requests that should have been valid. If requests that should have been successful (for example, the server is not down) are being lost or refused, then the value is likely too low. How to set the ORB timeoutTo set the ORB timeout, add a command line argument to the Java application that the Web clients are trying to access. The Java application could be your own application, or a Java process internal to WebSphere Application Server, such as an application server (and its related servlet engine). It could be the WebSphere thin servlet redirector. On the Java command line for the application, specify: -Dcom.ibm.CORBA.requestTimeout=30where 30 is a value that you think will be appropriate for the environment. |
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|