在我的Spring-Integration Config中,我有队列,任务执行器。我想更改队列容量,任务执行程序池大小和固定延迟。我想有一个UI页面,如果有更多要处理的消息,或者如果有大量负载需要重建和部署应用程序,我应该能够更改配置。
例:
<si:service-activator input-channel="MessageChannel" ref="messageHandler"
method="handleMessage" output-channel="ackChannel">
<si:poller task-executor="messageTaskExecutor" fixed-delay="1000"/>
</si:service-activator>
<task:executor id="messageTaskExecutor" pool-size="10"
queue-capacity="10" keep-alive="1" rejection-policy="CALLER_RUNS"/>
我想动态更改此数字并重新加载配置以获取更改。如果你能指出我正确的方向,那就太好了。
答案 0 :(得分:1)
您需要将Task Executors,Queues等注入常规bean。然后在运行时将参数设置为它们。例如
<task:executor id="messageTaskExecutor" pool-size="10"
queue-capacity="10" keep-alive="1" rejection-policy="CALLER_RUNS"/>
将生成名为ThreadPoolExecutor
的{{1}}类型的bean。因此,它可能会注入:
messageTaskExecutor