2014-01-13 1 views
1

MQ 7.0 대기열을 수신하는 JBoss 5.1 GA에 MDB (mdbA)가 있습니다. 수신 후 메시지는 MySQL 데이터베이스에 저장되고 다른 큐 (queueB)로 메시지를 보낸 다음 mdbA에서 메시지 처리를 계속하고 일부 추가 작업을 수행하고 HornetQ에 메시지를 보내려고합니다. 모든 첫 번째 메시지를 잘 작동하고 데이터베이스뿐만 아니라 queueB 및 hornetQ 메시지를 볼 수 있습니다. 모든 후속 메시지의 경우 "send to queueB"결과는 'MQRC_SYNCPOINT_NOT_AVAILABLE'오류 2072메시지를 보내려고 할 때 'MQCC_FAILED'이유 '2072' 'MQRC_SYNCPOINT_NOT_AVAILABLE'

내 mdbA에는 다음과 같은 주석이 있습니다. @TransactionAttribute (TransactionAttributeType.REQUIRED) @Service

자세한 정보를 제공해야하는지 알려주십시오.

누군가 도와 주시겠습니까?

+0

아마도 이것은 유용합니다. http://stevemelan.wordpress.com/2014/05/22/mqrc- 2072 년 - 2013 년 - 2013 년 및 2013 년 - – uselpa

답변

0

MDB 자체에 @TransactionManagement (TransactionManagementType.BEAN) 주석을 달고 대신 @TransactionManagement (TransactionManagementType.CONTAINER)를 선택하면 메서드에 대한 트랜잭션 속성이 없으므로 문제가 해결되므로 기본적으로 REQUIRED입니다.

실제로 사운드 MDB는 거래를 컨테이너에 위임하고 코드에서 명시 적으로 제어하려고 시도하지 않습니다. BEAN 관리 유형을 사용하고 명시 적으로 트랜잭션 컨텍스트를 열지 않으면 동기화 지점을 사용할 수 없습니다 ...

관련 문제