2011-02-17 6 views
2

JBoss 5.1 with HornetQHornetQ MDB 시간 초과

30 초 내에 메시지를 처리 ​​할 수없는 경우 롤백하려면 MDB가 필요합니다. 이것이 가능한가 ?

@TransactionTimeout(30000) 특수 효과가 작동하지 않는 것 같습니다.

나는 함께 사용 :

@TransactionManagement(value = TransactionManagementType.CONTAINER) @TransactionAttribute(value = TransactionAttributeType.REQUIRED)

현재 동작은 5 분 전달하는 경우, JMS 트랜잭션을 롤백 것입니다. 그러나이 방법은 코드가 여러 번 실행됩니다. JMS가 트랜잭션이 취소되었음을 알 때 첫 번째 전달 및 각 다시 전달에 대해.

어떻게 든 대응할 수 있습니까? JMS가 트랜잭션을 취소하기 전에 MDB를 롤백하는 것이 가장 이상적입니다.

답변

2

@ActivationConfigProperty(propertyName = "transactionTimeout", propertyValue = "30") 
시도