我正在使用Spring集成来处理队列中的多个文件。
以下是我的配置:
#!/bin/bash
path="/home/asdf"
number_of_days=$((($(date '+%s')-$(date -d '1 month ago' '+%s'))/86400))
find "$path" -mtime +$number_of_days -delete
我的问题是:多个任务执行者正在从MQ中提取相同的消息。
我想要并行执行,但是不同的线程不应从MQ接收相同的消息。 我的配置有问题吗?我该如何解决?
我的MQ配置
<si-jms:message-driven-channel-adapter
id="someRegionalInboundAdapter" channel="TP_SomeLogBinaryChannel_AUDIT"
container="someContainer" header-mapper="parentLogHeaderMapper" auto-startup="true" />
<bean id="someContainer"
class="org.springframework.jms.listener.DefaultMessageListenerContainer">
<property name="concurrentConsumers" value="10" />
<property name="maxConcurrentConsumers" value="20" />
<property name="connectionFactory" ref="cachingGlobalConnectionFactory" />
<property name="destination" ref="someQ" />
<property name="taskExecutor" ref="taskExecutor" />
<property name="transactionManager" ref="transactionManager" />
<property name="autoStartup" value="false" />
<property name="errorHandler" ref="exceptionLogger"/>
</bean>
<task:executor id="taskExecutor" pool-size="20" queue-capacity="20" />