The server, by default, uses a dynamic port and is issued
a new port after being restarted.
The client uses the cached IOR, containing the old port number, to send
a request message to the server but the server is now listening on a new
port.
The default behavior of the ORB is to wait or standby indefinitely.
|
Setting the following properties may help to avoid the
standby condition.
com.ibm.CORBA.enableLocateRequest
com.ibm.CORBA.LocateRequestTimeout
com.ibm.CORBA.RequestTimeout
According to Diagnostic's guide.
"When the property
com.ibm.CORBA.enableLocateRequest is set to true (the default is false),
the ORB first sends a short message to the server to find the object that
it needs to access. This first contact is the Locate Request. You must now
set the LocateRequestTimeout to a value other than 0 (which is equivalent
to infinity).
A good value could be something around 5000 milliseconds. Also, set the
RequestTimeout to a value other than 0. Because a reply to a request is
often large, allow more time; for example, 10000 milliseconds. These
values are suggestions and might be too low for slow connections. When a
request times out, the client receives an explanatory CORBA
exception."
See: Diagnostics Guides for further details on IBM's SDKs.
http://www-128.ibm.com/developerworks/java/jdk/diagnosis/ |