如何解决春季引导如何创建带注释的TaskExecutor?
@Bean
在您的Spring Boot应用程序类中添加一个方法:
@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 config而不是XML来配置Spring的信息,请参阅Spring Framework参考文档中的基于Java的容器配置。
(注意:您不需要添加@Configuration
到该类中,因为@SpringBootApplication
已经包含了@Configuration
)。
解决方法
我@Service
在Spring
Boot应用程序中使用一种应该异步运行的方法来做一个类。当我阅读方法时,应该@Async
加上注释,而且我还必须运行一个TaskExecutor
bean。但是在Spring手册http://docs.spring.io/spring/docs/current/spring-
framework-
reference/html/scheduling.html中,我找不到任何信息或示例如何在TaskExecutor
没有XML配置的情况下使用注释运行。是否可以TaskExecutor
在不带XML且仅带有注释的Spring
Boot中创建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());
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。