2

我在一个有许多静态方法的类中注入了一个无状态会话 bean。我想从这些静态方法中访问这个 bean。没有关于此的文档。

所以我想知道它是否允许。如果是,有什么缺点吗?推荐/不推荐?

4

2 回答 2

1

如果允许?是的,可以在容器内和容器外允许。

您可以从非 EJB 访问 EJB。请检查以下链接。

https://stackoverflow.com/a/9061924/1718893

如果类和 EJB 在同一个项目/可部署,那么 JNDI 调用应该很容易。可以跳过上面链接中提到的几个步骤。

推荐在如下场景中 -

根据情况,这可能是推荐的方法。当我不得不实现工厂模式时,我遇到了这种情况。仅在需要时根据条件调用 EJB。我本可以让 Factory 类本身成为 EJB。但由于它依赖于其他一些决策组件,这是不可能的。

不推荐在如下场景中使用 -

取决于遵循了多少有纪律的开发,也可能不鼓励这种方法。如果所有开发人员对 EJB 及其事务管理和部署都没有多少经验,那么这种方法可能会产生危险情况。

于 2013-07-12T05:32:26.567 回答
0

您绝对可以从实例方法或变量访问静态方法或变量......但不能从静态方法访问实例方法或变量!

于 2013-07-12T04:44:54.890 回答