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