升级到 Spring Boot 2.7.18 时执行器无法工作

问题描述 投票:0回答:1

我有一个Spring项目,版本是2.3.5.RELEASE,我已经更新到2.7.18。更新后,与

Executor
交互时出现错误。

error

我尝试调试并抛出日志消息,但它不起作用

enter image description here

2.3.5.RELEASE版本没有任何错误

java spring executor
1个回答
0
投票

查看堆栈跟踪,Spring Cloud Sleuth 似乎正在尝试跟踪您传递给执行器的可运行对象,但它失败了,因为 BraveSpan 对象为 null。

您需要使用 Sleuth 包装器来包装 Executor 对象,如下所示:

@Configuration
public class ThreadConfig {

    @Autowired
    private BeanFactory beanFactory;

    @Bean
    public Executor executor() {
        ThreadPoolTaskExecutor threadPoolTaskExecutor
         = new ThreadPoolTaskExecutor();
        threadPoolTaskExecutor.setCorePoolSize(1);
        threadPoolTaskExecutor.setMaxPoolSize(1);
        threadPoolTaskExecutor.initialize();

        return new LazyTraceExecutor(beanFactory, threadPoolTaskExecutor);
    }
}

您可以在这里阅读:https://www.baeldung.com/spring-cloud-sleuth-single-application#4-spanning-runnables

© www.soinside.com 2019 - 2024. All rights reserved.