在异步方法中注入ConversationScoped bean

时间:2015-05-06 13:47:24

标签: jsf asynchronous ejb conversation-scope

我需要从ConversationScoped bean中调用一个在EJB中使用@Asynchronous注释的方法。在这个方法中,我使用@Inject创建一些类的实例来注入ConversationScoped bean。 是否有可能将异步方法的上下文设置为给定的对话?

我希望你能帮助我。

1 个答案:

答案 0 :(得分:3)

不,绝对没有。 EJB根据定义不在Web容器中运行,而是在EJB容器中运行。实质上,在EJB类中包含任何与Web相关的工件/依赖项(包括javax.faces.*类)都是红色警报。您不应该从业务层(EJB / EAR)中的客户端层(WAR)注入/访问任何类。此外,会话范围bean与HTTP请求参数绑定,并且此信息在EJB容器中无处可用。

无论你想要解决什么问题,并且你incorrectly认为这一切都是正确的解决方案,它必须以不同的方式解决。作为一个有根据的猜测,我认为您只需要让EJB触发CDI事件或采用回调参数。

另见: