Ich habe eine @Service
Klasse in Spring Boot-Anwendung mit einer der Methoden, die asynchron ausgeführt werden sollten. Wie ich die Methode lese sollte @Async
kommentiert werden und ich muss auch eine TaskExecutor
Bean laufen lassen. Aber im Frühjahr Handbuch http://docs.spring.io/spring/docs/current/spring-framework-reference/html/scheduling.html Ich finde keine Informationen oder ein Beispiel, wie man TaskExecutor
mit Annotation, ohne XML-Konfiguration ausführen. Ist es möglich, TaskExecutor
Bean im Spring Boot ohne XML zu erstellen, nur mit Anmerkungen? Hier meine Service-Klasse:Spring Boot. Wie erstelle ich TaskExecutor mit Annotation?
@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());
}
}
ich erstellen, wie Sie erwähnen und es macht eine Bohne (ich kann‚@Autowire‘es in meinem Test-Klasse jus t zu wissen, dass es existiert), aber meine Service-Methode läuft nicht asynchron. Hier meine Methodenbeschreibung: "@Bean public TaskExecutor locationPageExecutor()". Könnten Sie kommentieren? – Pavlo
Irgendwie sieht es so aus, als hätten Sie meine erste Frage beantwortet, also werde ich versuchen, ein neues Problem zu lösen. Vielen Dank. – Pavlo
@Pavlo Sie müssen Ihrer Spring-Boot-App-Klasse auch '@ EnableAsync' hinzufügen, siehe: [Zeitplanbenachrichtigungen aktivieren] (http://docs.spring.io/spring/docs/current/spring-framework-reference/html /scheduling.html#scheduling-enable-annotation-support) – Jesper