首先让我声明,以下代码示例在 GF 3.0.1 中运行良好。当我们切换到 GF 3.1 时,麻烦就开始了。
我正在使用一种方法
@Asynchronous
public void executeFlowStep(
@Observes(during=TransactionPhase.AFTER_COMPLETION)
ExecuteFlowStepEvent executeFlowStepEvent) {
自切换以来,每当这应该收到时,ExecuteFlowStepEvent
我都会收到以下错误消息:
WELD-000401 Failure while notifying an observer of event [package].ExecuteFlowStepEvent
没有提供更多信息或堆栈跟踪。如果我删除@Asynchronous
注释和AFTER_COMPLETION
属性,它会起作用,当然这会破坏程序,因为我取决于AFTER_COMPLETION
时间。
我试图在焊接论坛上寻求帮助,但到目前为止无济于事,尽管似乎还有其他人有同样的问题:http ://seamframework.org/Community/WeldUsers
我至少想知道:这是一个错误,还是这是想要的。这是否意味着 Weld 不适用于异步方法/AFTER_COMPLETION 属性?为什么这在 GF 3.0.1 中有效?有没有人设法在 GF 3.1 上完成这项工作?