1

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"/>

この番号を動的に変更し、構成をリロードして変更を取得したいと思います。私を正しい方向に向けていただければ幸いです。

4

1 に答える 1

1

タスクエグゼキュータ、キューなどを通常のBeanとして注入する必要があります。そして、実行時にパラメータを設定するだけです。例えば

<task:executor id="messageTaskExecutor" pool-size="10"
     queue-capacity="10" keep-alive="1" rejection-policy="CALLER_RUNS"/>

ThreadPoolExecutor名前が付いたタイプのBeanを生成しますmessageTaskExecutor。したがって、次のように注入される可能性があります。

@Autowired @Qualifier("messageTaskExecutor") // or @Inject @Named("messageTaskExecutor")
ThreadPoolExecutor messageTaskExecutor;

messageTaskExecutor.setMaximumPoolSizeを呼び出した後

于 2013-03-19T20:23:14.247 に答える