1

我是 Spring Integration 的新手,并且有一个关于将消息的轮询器和事务支持与 max-messages-per-poll 值结合使用的问题。

当使用具有以下配置的轮询器时

<int:poller fixed-delay="1000" max-messages-per-poll="10">
    <int:transactional transaction-manager="SomeDatabaseTransactionManager"/>
</int:poller>

文档提到轮询任务每次轮询将产生 10 条消息(或直到收到 null)。

每条消息是否会在其自己的事务边界中运行,即如果一条消息未能到达事务边界的末尾,将仅针对失败的消息进行回滚,还是将所有 10 条消息(属于轮询的一部分)都回滚?

谢谢 RC

提前为菜鸟问题道歉。

4

1 回答 1

2

几周前我在春季论坛上回答了一个类似的问题......

底线是每条消息都在单个事务中处理。这max-messages-per-poll意味着轮询线程(在其自己的事务中处理当前消息之后)立即尝试处理新消息,而不是等待下一次轮询,直到到达 mmpp。

于 2013-10-01T01:17:13.457 回答