【发布时间】:2019-10-16 01:44:20
【问题描述】:
我正在设置一个 Spring Integration 配置以使用多线程从 redis 读取,但是当我运行我的应用程序时,Spring 只创建一个线程。
我正在创建一个 int-redis:queue-inbound-channel-adapter,其中的 executor-task 具有 pool-size= 500 和 queue-capacity=0。
<redis:queue-inbound-channel-adapter
id="fromRedis" channel="privateAggregationExecutorChannel" queue="${instance}_private"
receive-timeout="1000" recovery-interval="3000" expect-message="false" error-channel="distributionErrors"
auto-startup="false" task-executor="robotTaskExecutor"/>
<task:executor
id="robotTaskExecutor"
pool-size="500"
queue-capacity="0"
keep-alive="50"
rejection-policy="CALLER_RUNS" />
<int:service-activator input-channel="privateAggregationExecutorChannel" ref="aggregationExecutor" method="run" />
我不知道我做错了什么,或者我是否缺少某些东西。感谢您的帮助。
【问题讨论】:
标签: spring multithreading redis spring-integration