我在 Spring Boot 应用程序中做了一个 @Service
类,其中一种方法应该异步运行。正如我所读的方法应该是 @Async
注释并且我还必须运行一个 TaskExecutor
bean。但是在 Spring 手册 http://docs.spring.io/spring/docs/current/spring-framework-reference/html/scheduling.html 我找不到任何信息或示例如何运行 TaskExecutor
带注释, 没有 XML 配置。是否可以在没有 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());
}
}
原文由 Pavlo Morozov 发布,翻译遵循 CC BY-SA 4.0 许可协议
将
@Bean
方法添加到您的 Spring Boot 应用程序类:请参阅 Spring Framework 参考文档中 基于 Java 的容器配置,了解如何使用 Java 配置而不是 XML 配置 Spring。
(注意:您不需要将
@Configuration
添加到类中,因为@SpringBootApplication
已经包含@Configuration
)。