Spring 集成:按收到消息的百分比路由消息

Spring Integration: Routing messages by percentage of messages received

我如何实现拆分现有 Spring 基于集成的请求通道以将固定百分比的消息路由到基于 Rabbit MQ 的通道的要求?路由不应基于负载或 header。是否有开箱即用的方法来指定其中一个应该在一个频道上继续并留在另一个频道上?谢谢

这是一种方法...

<bean id="counter" class="java.util.concurrent.atomic.AtomicInteger" />

<int:router id="percentageRouter" input-channel="routePercentage" 
        expression="@counter.getAndIncrement() % 10 == 0">
    <int:mapping value="true" channel="tenpercent" />
    <int:mapping value="false" channel="ninetypercent" />
</int:router>