Jakarta ee 如何从EJB访问/注入sessionscoped bean';什么是异步方法?

Jakarta ee 如何从EJB访问/注入sessionscoped bean';什么是异步方法?,jakarta-ee,ejb-3.0,cdi,Jakarta Ee,Ejb 3.0,Cdi,我有一个sessionscoped bean,其中包含当前购物车和用户联系数据。在某个时候,用户被重定向到支付提供商,然后返回到我的页面。由于我不想延迟返回到我的页面,我异步调用页面加载时发生的业务方法,阻止UI并显示一些“繁忙消息”。 到目前为止效果不错。问题是:我希望异步方法读取和处理上述会话范围bean中的数据(订购送货员的用户联系数据),如果出现故障,返回一些步骤,仍然可以使用会话数据(购物车等),并将错误记录到会话范围bean中的日志中。 但是由于我不能在@异步-注释方法中使用注入be

我有一个sessionscoped bean,其中包含当前购物车和用户联系数据。在某个时候,用户被重定向到支付提供商,然后返回到我的页面。由于我不想延迟返回到我的页面,我异步调用页面加载时发生的业务方法,阻止UI并显示一些“繁忙消息”。
到目前为止效果不错。问题是:我希望异步方法读取和处理上述会话范围bean中的数据(订购送货员的用户联系数据),如果出现故障,返回一些步骤,仍然可以使用会话数据(购物车等),并将错误记录到会话范围bean中的日志中。

但是由于我不能在
@异步
-注释方法中使用注入bean,所以我不知道如何做到这一点。

你不能。作用域不适用于异步方法。@JohnAment您应该将注释移动到答案。如果您对OP如何以不同方式完成任务有任何建议(例如,将状态存储在可从会话范围访问的单独对象中,然后显式地将其传递给异步方法?),那也很好。我希望答案是“这是您如何做的”而不是“您不能做”。这是一个明确的限制。很明显,您可以将参数传递给可能需要的方法,但无论如何,您都会遇到范围问题。@JohnAment,为什么不传播范围?根据请求范围,“在任何EJB的任何异步方法调用期间”是活动的。不幸的是,它似乎不适用于GF 3、GF 4和Wildfly 8.2(我自己也尝试过)。雷斯特:我读过一些我还没有尝试过的东西。也许这对你有帮助。。。