users@glassfish.java.net

Re: Major Application client frustrations

From: <glassfish_at_javadesktop.org>
Date: Tue, 01 May 2007 05:42:15 PDT

Hello everybody,

surfing the sourcecode and talking to people led to a partial relieve for our communication problems. Eventually, setting these properties resolved some of our issues (they are not documented or official, but seem to work without sideeffects on V1UR1):

            System.setProperty(ORBConstants.COMMUNICATIONS_RETRY_TIMEOUT, "" + (5*1000));

This property controls how long the ORB retries to submit a call. In contrast to what I believed (which was a retry count), it is a timeout. The default is 60 seconds, which is awful lot for a login. Reducing this to 5 seconds got at least almost immediate response for the user that, for example, the host is not reachable.

Another setting is to control the response timeout (I am not quite sure what exactly this means in terms of transport, but it does not seem to prevent large messages from being transmitted, even if the time for their transmission exceeds the timeout). I chose to set this value extremely low (in contrast to the 30 minutes that are used by default), and it did indeed improve our situation.

            System.setProperty(ORBConstants.WAIT_FOR_RESPONSE_TIMEOUT, "" + (2*1000));

This may need to get some finetuning on our side to also take into account longer processing time on the server.

There is another property that could be set (ORBConstants. TRANSPORT_TCP_TIMEOUTS_PROPERTY), but there was nobody I talked to who could explain what it means and the values seem to be sufficiently low anyway:

    // transport read tcp timeout property, colon separated property
    // with syntax <initial time to wait:max read giop header time to
    // wait: max read message time to wait:backoff factor>

The default values for this property is "100:6000:300:20"


best regards,

Florian
[Message sent by forum member 'florianbruckner' (florianbruckner)]

http://forums.java.net/jive/thread.jspa?messageID=215035