Spring集成中的轮询器的事务支持,每次轮询最大消息数

时间:2013-10-01 00:31:46

标签: transactions spring-integration poller

我是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

为新秀问题提前道歉。

1 个答案:

答案 0 :(得分:2)

我几周前在Spring Forums回答了类似的问题......

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