ザ・春の統合は、デフォルトでは、このオプションを使用してThreadPoolTaskScheduler
を使用しています:
BeanDefinition scheduler = BeanDefinitionBuilder.genericBeanDefinition(ThreadPoolTaskScheduler.class)
.addPropertyValue("poolSize", IntegrationProperties.getExpressionFor(IntegrationProperties.TASK_SCHEDULER_POOL_SIZE))
.addPropertyValue("threadNamePrefix", "task-scheduler-")
.addPropertyValue("rejectedExecutionHandler", new CallerRunsPolicy())
.addPropertyValue("errorHandler", new RootBeanDefinition(MessagePublishingErrorHandler.class))
.getBeanDefinition();
registry.registerBeanDefinition(IntegrationContextUtils.TASK_SCHEDULER_BEAN_NAME, scheduler);
MessagePublishingErrorHandler
は、デフォルトでグローバルerrorChannel
に問題を送信します。
このグローバルの動作を変更したい場合は、適切なオプションを使用して自分自身のtaskScheduler
を宣言する必要があります。
それ以外の場合、私はあなたの質問を理解していないので、あなたは問題に関するいくつかの情報を提供する必要があります。
スケジューラに複数のジョブcronトリガーがありますが、一部のジョブがトリガーされません。リソースの可用性またはその他の理由が原因である可能性があります。私は仕事がトリガーを逃している理由を知る必要があります。失火が発生した場合、失火の詳細を記録する方法があるかどうか疑問に思っていましたか?また、プールサイズについて何も言及していない場合は、デフォルトのプールサイズは何になりますか? – Hari
まだ分かりません。たぶん、いくつかのコードは役に立ちますか? –
あなたは本当にSpring Integration Frameworkについて話していますか?http://projects.spring.io/spring-integration/? –