5

我们有一个集群并部署了一些无状态的 ejb 会话 bean。目前我们只在客户端代码中缓存了InitialContext对象,我有几个问题:

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

1 回答 1

1

最好的了解方法是编写一个小测试客户端。

您可以使用它的 toString() 方法检查您的存根来自哪个服务器,该方法应该打印一种 URL(至少在 WebLogic 10 上是这样)。您可能会对结果感到惊讶。

于 2012-10-30T15:29:24.660 回答