Прежде всего, позвольте мне заявить, что следующий пример кода прекрасно работает в 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?