gpt4 book ai didi

java - Spring Boot 。如何创建带注解的 TaskExecutor?

转载 作者:IT老高 更新时间:2023-10-28 13:49:53 26 4
gpt4 key购买 nike

我在 Spring Boot 应用程序中做了一个 @Service 类,其中一种方法应该异步运行。当我读到方法应该是 @Async 注释并且我必须运行一个 TaskExecutor bean。但在 Spring 手册 http://docs.spring.io/spring/docs/current/spring-framework-reference/html/scheduling.html我没有找到任何信息或示例如何在没有 XML 配置的情况下运行带有注释的 TaskExecutor。是否可以在没有 XML 的 Spring Boot 中创建 TaskExecutor bean,仅使用注释?这是我的服务类:

@Service
public class CatalogPageServiceImpl implements CatalogPageService {

@Override
public void processPagesList(List<CatalogPage> catalogPageList) {
for (CatalogPage catalogPage:catalogPageList){
processPage(catalogPage);
}
}

@Override
@Async("locationPageExecutor")
public void processPage(CatalogPage catalogPage) {
System.out.println("print from Async method "+catalogPage.getUrl());
}
}

最佳答案

在你的 Spring Boot 应用程序类中添加一个 @Bean 方法:

@SpringBootApplication
@EnableAsync
public class MySpringBootApp {

@Bean
public TaskExecutor taskExecutor() {
ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
executor.setCorePoolSize(5);
executor.setMaxPoolSize(10);
executor.setQueueCapacity(25);
return executor;
}

public static void main(String[] args) {
// ...
}
}

Java-based container configuration在 Spring Framework 引用文档中,了解如何使用 Java config 而不是 XML 配置 Spring。

(注意:你不需要在类中添加@Configuration,因为@SpringBootApplication已经包含了@Configuration)。

关于java - Spring Boot 。如何创建带注解的 TaskExecutor?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38370063/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com