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