J2EE/EJB + 服务定位器:缓存 EJB Home 查找结果安全吗?

Gui*_*ume 5 java weblogic service-locator jakarta-ee

在 J2EE 应用程序中,我们在 weblogic 中使用 EJB2。

为了避免浪费时间构建初始上下文和查找 EJB Home 接口,我正在考虑服务定位器模式

但在网络上进行了一些搜索后,我发现即使这种模式经常被推荐用于 InitialContext 缓存,但对于 EJB Home 缓存也存在一些负面意见。

问题:

  • 缓存 EJB Home 查找结果安全吗?
  • 如果我的一个集群节点不再工作会发生什么?
  • 如果我安装新版本的 EJB 而不刷新服务定位器的缓存,会发生什么情况?

Bre*_*ail 4

缓存 EJB Home 查找结果安全吗?

是的。

如果我的一个集群节点不再工作会发生什么?

如果您的服务器配置为集群/WLM,则请求应静默故障转移到集群中的另一台服务器。路由信息被编码在存根 IOR 中。

如果我安装新版本的 EJB 而不刷新服务定位器的缓存,会发生什么情况?

假设您更新 bean 而不是组件或 home 接口,那么一切都会继续工作。EJBHome 实际上是一个无状态会话 bean,因此可以从同一台服务器(如果可用)继续访问该请求,如果不可用,则可以在集群中的不同服务器上继续访问该请求。

请注意,EJB3 中的 @EJB 注入有效地鼓励了家庭缓存。(不过,无可否认,它也允许 SFSB 缓存,尽管这显然是不正确的,所以 @EJB 可能不是我的主张的最佳支持:-))。