Jsf 在异步方法中注入ConversationScope bean
我需要从ConversationScope bean调用EJB中带有@Asynchronous注释的方法。在这个方法中,我使用@Inject来注入ConversationScoped bean来创建一些类的实例。 是否可以将异步方法的上下文设置为给定的对话Jsf 在异步方法中注入ConversationScope bean,jsf,asynchronous,ejb,conversation-scope,Jsf,Asynchronous,Ejb,Conversation Scope,我需要从ConversationScope bean调用EJB中带有@Asynchronous注释的方法。在这个方法中,我使用@Inject来注入ConversationScoped bean来创建一些类的实例。 是否可以将异步方法的上下文设置为给定的对话 我希望你能帮助我。不,绝对不能。EJB不按照定义在web容器中运行,而是在EJB容器中运行。本质上,在EJB类中包含任何与web相关的工件/依赖项(包括javax.faces.*classes)是一个红色警报。您不应该从业务层(EJB/EAR
我希望你能帮助我。不,绝对不能。EJB不按照定义在web容器中运行,而是在EJB容器中运行。本质上,在EJB类中包含任何与web相关的工件/依赖项(包括
javax.faces.*
classes)是一个红色警报。您不应该从业务层(EJB/EAR)的客户机层(WAR)注入/访问任何类。此外,会话范围的bean绑定到HTTP请求参数,而这些信息在EJB容器中不可用
无论你试图解决什么问题,并且你认为这一切都是正确的解决方案,都必须以不同的方式解决。作为一个有根据的猜测,我认为您只需要让EJB触发一个CDI事件或接受一个回调参数
另见:
@stateful
bean并将其注入@ConversationScope
bean。另一个值得阅读的食物: