Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/398.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我们可以从静态方法访问/调用无状态会话Bean吗?_Java_Static_Ejb_Instance_Stateless Session Bean - Fatal编程技术网

Java 我们可以从静态方法访问/调用无状态会话Bean吗?

Java 我们可以从静态方法访问/调用无状态会话Bean吗?,java,static,ejb,instance,stateless-session-bean,Java,Static,Ejb,Instance,Stateless Session Bean,我正在一个有许多静态方法的类中注入一个无状态会话bean。 我想从这些静态方法访问这个bean。没有关于这个的文档 所以我想知道它是否被允许。如果是,有什么缺点吗?推荐/不推荐?您完全可以从实例方法或变量访问静态方法或变量。。。但无法从静态方法访问实例方法或变量 如果允许的话?是的,可以在集装箱内和集装箱外使用 您可以从非EJB访问EJB。请查看下面的链接 如果类和EJB在同一个项目/可部署中,那么JNDI调用应该很容易。可以跳过上面链接中提到的几个步骤 在如下场景中推荐- 根据场景,这可能是

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


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

您完全可以从实例方法或变量访问静态方法或变量。。。但无法从静态方法访问实例方法或变量

如果允许的话?是的,可以在集装箱内和集装箱外使用

您可以从非EJB访问EJB。请查看下面的链接

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

在如下场景中推荐-

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

不建议在场景中使用,如下所示-


根据遵循了多少规范的开发,这种方法也可能不被鼓励。如果所有开发人员对EJB及其事务管理和部署没有太多经验,那么这种方法可能会造成危险情况。

您尝试过吗?您有什么问题吗?架构决策基于此。还没有尝试过。文档并没有对此做任何说明。告诉项目的架构师成为真正的架构师并测试它。目标类是否由容器管理?问题是如何在静态方法中访问它们。谢谢。问题是如何从静态方法访问它们。而不是怎么做。这是关于“如果我们可以”和“如果这是一件好事/建议”的。嗨,凯文,我的答案可能不是预期的格式。我又试着一点一点地回答问题。嗯。。我想你漏掉了一点。我问的不是来自非EJB的访问,而是来自“静态方法”的访问。