Weblogic RMI Call是支持Timeout的,注意仅针对非事务的方法,配置如下:
The following entry causes a remote RMI client to timeout after waiting 5 seconds.
异常:
weblogic.rmi.extensions.RequestTimeoutException: RJVM response timed out after: '10000' milliseconds.
at weblogic.rjvm.BasicOutboundRequest.sendReceive(BasicOutboundRequest.java:108)
at weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteRef.java:290)
at weblogic.rmi.cluster.ReplicaAwareRemoteRef.invoke(ReplicaAwareRemoteRef.java:248)
at TestEJB_n1fsdc_EOImpl_815_WLStub.test(Unknown Source)
at TestClient.main(TestClient.java:23)
使用的指引:
This feature provides a work around for legacy systems where the behavior of asynchronous calls is desired but not yet implemented. BEA recommends legacy systems implement more appropriate technologies if possible, such as:(建议用以下方式代替)
If you need to use the RMI timeout for a legacy sytem, review the following guidelines:
- The RMI timeout should be used only when the following three conditions are met:(约束)
- There is no transparent failover to another cluster node when a request times out.
RequestTimeOutExceptionis always propogated to the caller. - The server continues to process requests that have timed out. The client is required check the state of the request on the server before reattempting the call.
- If a server times out, the client has the ability to mark the server as unreachable in the client side cluster reference. This prevents calls from being directed to the marked server for a specified time.
本文详细介绍了WebLogic RMI调用中使用远程客户端超时配置的方法,包括配置步骤、常见异常处理及使用场景限制。强调了在特定条件下使用RMI超时配置的必要性和局限性。
2034

被折叠的 条评论
为什么被折叠?



