【发布时间】:2016-10-24 18:22:08
【问题描述】:
是否可以指定消息的处理时间,如果超过,抛出TIMEOUT异常?我尝试设置事务超时,但没有奏效。时间过去了,没有抛出异常。甚至 DefaultTransactionDefinition.getTimeout() 方法也没有被调用(在调试器中有一个断点)。使用正确的值调用了 DefaultTransactionDefinition.setTimeout(int)。
这是我的设置:
<int-jms:message-driven-channel-adapter id="x"
channel="incoming"
container="my"
error-channel="errors"/>
容器“我的”扩展了 DefaultMessageListenerContainer,这就是我拥有的地方:
@Override
@Autowired
@Value("5")
public void setTransactionTimeout(final int transactionTimeoutInSec)
{
super.setTransactionTimeout(transactionTimeoutInSec);
}
还有其他方法吗?谢谢!
【问题讨论】:
-
可能是你没有配置外部
transaction-manager的问题?..
标签: spring-integration spring-transactions