有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

spring集成上的java检测缺火指令

我正在使用spring集成来安排不同的作业。我有不同的触发器,我看到触发器缺少执行,但在日志文件中找不到任何条目。我需要在我的日志文件中记录失火的详细信息。你能告诉我怎么做吗?还有一种方法可以提供有关spring集成的缺火指示。池大小被设置为10,因此它可能会因为线程不可用而丢失执行,但我无法跟踪它,因为日志文件中的not条目不可用


共 (1) 个答案

  1. # 1 楼答案

    默认情况下,Spring集成使用带有以下选项的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

    否则我不理解你的问题,你应该提供更多关于这个问题的信息