configure per-invocation timeouts
As of version 2.4, all Remoting transports offer a per invocation transport facility, which allows a timeout value to be set for a particular invocation, overriding the client invoker's previously configured timeout value. The per invocation timeout is set by passing the String representation of the timeout value in the invocation's metadata map, using the key "timeout". For example, HashMap metadata = new HashMap(); metadata.put("timeout", "2000"); client.invoke("testInvocation", metadata); will allow approximately 2 seconds for this particular invocation, after which the timeout value will be reset to its previously configured value. Each transport handles per invocation timeouts a little differently. More details are given below.