2012-11-17 7 views
0

MDB에는 AUTO_ACKNOWLEDGE 및 DUPS_OK_ACKNOWLEDGE 만 가능합니다. XA 트랜잭션을 피하기 위해 CLIENT_ACKNOWLEDGE와 같은 것을 갖고 싶습니다.MDB가 포함 된 클라이언트 확인

기본적으로 내가 원하는 : 메시지를 받게 -> 수행 DB 작업 - -> 로컬 트랜잭션을 시작> 끝 로컬 트랜잭션 -> ACK 메시지

이 어떻게 달성하기 위해 당신은 알고 계십니까?

현재 저는 Jboss 5.1.GA를 사용합니다.

답변

0

MDB 전략 here에 대한 자세한 설명을 발견했습니다.

AFAIK 수동으로 ack를 수행 할 방법은 없지만, Bean Managed Transaction을 사용하면 onMessage 메소드에서 예외가 발생해도 ack가 발생하지 않습니다. 우리는 '수동으로'거래를 시작하고 끝낼 수 있습니다. 예외가 발생하면 메시지가 전달되지 않습니다.