我们有一个集群并部署了一些无状态的 ejb 会话 bean。目前我们只在客户端代码中缓存了InitialContext对象,我有几个问题:
- 在当前情况下,如果我们调用lookup() 来获取一个replica-aware stub,哪个服务器将返回stub 对象,我们获取InitialContext 的同一台服务器,或者每次调用lookup 方法时它都会负载均衡到其他服务器?
- 我们应该只缓存存根吗?它是线程安全的吗?如果是,存根如何处理来自客户端线程的并发请求?并行还是顺序?
- 还有一个问题,当我们调用 new InitialContext() 时,如果服务器不可达,需要很长时间才能返回超时异常,这种情况如何设置超时?