我正在使用spring集成来安排不同的工作。我有不同的触发器,我看到触发器丢失执行,但无法在日志文件中找到任何条目。我需要在我的日志文件中记录失火详细信息。你能告诉我怎么做吗?还有一种方法可以提供关于弹簧集成的失火指令。池大小设置为10,因此可能缺少执行,因为线程不可用,但由于日志文件中没有条目,我无法跟踪它。
答案 0 :(得分:0)
Spring Integration默认使用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
的某些行为,则应使用适当的选项声明自己的taskScheduler
。
否则我不理解你的问题,你应该提供更多关于这个问题的信息。