먼저 다음 코드 예제가 GF 3.0.1에서 올바르게 작동했음을 밝힙니다. GF 3.1로 전환했을 때 문제가 발생했습니다.Glassfish 3.1에서 @Asynchronous 및 Weld/CDI Events 및 @Observes (= TransactionPhase.AFTER_COMPLETION 중)를 결합하는 방법
WELD-000401 Failure while notifying an observer of event [package].ExecuteFlowStepEvent
추가적인 정보 나 스택 트레이스가 주어진다 :
나는 이것이 내가 다음과 같은 오류 메시지를 내려면 ExecuteFlowStepEvent
을 받아야 할 때마다 방법 스위치 이후
@Asynchronous
public void executeFlowStep(
@Observes(during=TransactionPhase.AFTER_COMPLETION)
ExecuteFlowStepEvent executeFlowStepEvent) {
을 사용하고 있습니다. @Asynchronous
주석과 AFTER_COMPLETION
속성을 제거하면 작동합니다. 물론 이것은 AFTER_COMPLETION
타이밍에 의존하기 때문에 프로그램을 중단시킵니다. 나는 적어도 알고 싶습니다 http://seamframework.org/Community/WeldUsers
: 이 A는 같은 문제를 가진 다른 사람이있을 것 같다 있지만
나는 지금까지 아무 소용, 용접 포럼에 도움을 요청하려 버그, 또는 이것이 필요합니다. 이것은 Weld가 비동기 메소드/AFTER_COMPLETION 속성과 작동하지 않는다는 것을 의미합니까? GF 3.0.1에서이 기능이 작동 한 이유는 무엇입니까? 누군가 GF 3.1에서이 작업을 할 수 있었습니까?
은 버그 일 수 있습니다. 그것을보고 해보십시오. – Bozho
Seam/Weld 포럼에서도 게시했습니다. 아무도 관심을 보이지 않아서 일주일 전에 Glassfish Bugtracker에 제출 했으므로 아무 것도 나오지 않습니다. 비슷한 문제가있는 사람이 있으면이 URL이 추적 프로그램의 URL입니다. http://java.net/jira/browse/GLASSFISH-16513 – Michael
Weld에 직접보고합니다. Glashfish는 Weld를 CDI 구현으로 사용합니다. – Bozho