2011-02-17 30 views
2

JBoss 5.1与HornetQHornetQ MDB超时

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

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

我用它沿着:

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

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

难道这可以应付吗? 理想情况下,我希望MDB在JMS取消交易之前回滚。

回答

2

试试这个

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