Transactions HornetQ MDB超时

Transactions HornetQ MDB超时,transactions,jms,jboss5.x,rollback,Transactions,Jms,Jboss5.x,Rollback,JBoss 5.1和HornetQ 我需要一个MDB来回滚,如果它不能在30秒内处理消息。这可能吗 @TransactionTimeout(30000)注释似乎不起作用 我将其与以下内容一起使用: @TransactionManagement(value=TransactionManagementType.CONTAINER) @TransactionAttribute(value=TransactionAttributeType.REQUIRED) 当前的行为是,如果5分钟过去,JMS回滚事务

JBoss 5.1和HornetQ

我需要一个MDB来回滚,如果它不能在30秒内处理消息。这可能吗

@TransactionTimeout(30000)
注释似乎不起作用

我将其与以下内容一起使用:

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

当前的行为是,如果5分钟过去,JMS回滚事务。但是,通过这种方式,代码会执行多次:对于第一次交付和每次重新交付,因为JMS知道事务已被取消

这有办法解决吗? 理想情况下,我希望MDB在JMS取消事务之前回滚。

试试这个

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