我在一个有许多静态方法的类中注入了一个无状态会话 bean。我想从这些静态方法中访问这个 bean。没有关于此的文档。
所以我想知道它是否允许。如果是,有什么缺点吗?推荐/不推荐?
我在一个有许多静态方法的类中注入了一个无状态会话 bean。我想从这些静态方法中访问这个 bean。没有关于此的文档。
所以我想知道它是否允许。如果是,有什么缺点吗?推荐/不推荐?
如果允许?是的,可以在容器内和容器外允许。
您可以从非 EJB 访问 EJB。请检查以下链接。
https://stackoverflow.com/a/9061924/1718893
如果类和 EJB 在同一个项目/可部署,那么 JNDI 调用应该很容易。可以跳过上面链接中提到的几个步骤。
推荐在如下场景中 -
根据情况,这可能是推荐的方法。当我不得不实现工厂模式时,我遇到了这种情况。仅在需要时根据条件调用 EJB。我本可以让 Factory 类本身成为 EJB。但由于它依赖于其他一些决策组件,这是不可能的。
不推荐在如下场景中使用 -
取决于遵循了多少有纪律的开发,也可能不鼓励这种方法。如果所有开发人员对 EJB 及其事务管理和部署都没有多少经验,那么这种方法可能会产生危险情况。
您绝对可以从实例方法或变量访问静态方法或变量......但不能从静态方法访问实例方法或变量!