Ähnlich wie Background Thread for a Tomcat servlet app, aber ich suche eine Java EE 7 spezifische Lösung.Wie kann ich Container-Hintergrundthread in Java EE 7+ ausführen/verwalten?
0
A
Antwort
1
Dies ist, was ich schließlich mit für Wildfly 11 (Java EE 7) kam ohne Konfigurationsänderungen/Ergänzungen mit/web.xml beans.xml: auch
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.TimeUnit;
import javax.annotation.PostConstruct;
import javax.annotation.PreDestroy;
import javax.annotation.Resource;
import javax.ejb.Singleton;
import javax.ejb.Startup;
import javax.enterprise.concurrent.ManagedThreadFactory;
@Startup
@Singleton
public class IndexingTask implements Runnable {
private static final Logger LOG = LoggerFactory.getLogger(IndexingTask.class);
private Thread taskThread = null;
private final CountDownLatch shutdownLatch = new CountDownLatch(1);
@Resource
private ManagedThreadFactory threadFactory;
@PostConstruct
public void postConstruct() {
taskThread = threadFactory.newThread(this);
taskThread.start();
}
@PreDestroy
public void preDestroy(){
shutdownLatch.countDown();
try {
taskThread.join();
} catch (InterruptedException ex) {
LOG.warn("interrupted while waiting for " + taskThread + " to shut down", ex);
}
}
@Override
public void run() {
LOG.info("started");
try {
while (!shutdownLatch.await(100, TimeUnit.MILLISECONDS)) {
}
} catch (InterruptedException ex) {
LOG.warn("", ex);
}
LOG.info("stopped");
}
}
https://gruust.stream/2017/10/15/how-to-run-manage-a-container-background-thread-in-java-ee-7-
See Java EE 7 containers: initialize bean at startup without adding it to beans.xml?
Verwandte Themen
- 1. Unterschied zwischen Java EE 7 und Java EE 6
- 2. Spring vs Java EE 7
- 3. Wie lade ich Java EE 7 API Dokumentation (zip) herunter?
- 4. Quartz vs Java EE 7 Scheduler
- 5. Führen Sie Java EE 7 WebSockets in Tomcat 7
- 6. Java EE 7 CDI Manuelle Instantiierung
- 7. Kann ich die Java 8-Syntax in Java EE 7-Projekten verwenden?
- 8. Wie implementiert Push to Client mit Java EE 7 WebSockets?
- 9. Wie kann ich Sitzungen in Java EE verwalten?
- 10. "Java EE 7" und JBoss EAP 7.0 in Netbeans
- 11. Java EE 7 - Injektion in Runnable/aufrufbare Objekt
- 12. Anmeldung mit JDBC Realm in GlassFish 4.1/Java EE 7
- 13. get Liste von Objektinstanzen eines Restclientaufrufs in Java ee 7
- 14. Modernisierung der JMS-API in Java EE 7
- 15. Wie kann ich eine Rolle im Code hinzufügen, Java EE
- 16. Einführung in Java EE
- 17. Java EE-Webanwendung - Tomcat 7-Server hängt unnötig
- 18. So testen Sie Login/Authentifizierung mit Arquillian - Java EE 7
- 19. Java EE 7 Webservices auf Wildfly - JSON Problem
- 20. Wie führe ich eine JSF 2.2-Seite in einer Java EE 7-Umgebung ohne web.xml aus?
- 21. Dependency-Injektion und Container-Klasse (Java-ee 7)
- 22. Dateipfad (JAVA EE)
- 23. javax.faces.INTERPRET_EMPTY_STRING_SUBMITTED_VALUES_AS_NULL nicht mehr 7/EL da Java EE 3.0
- 24. Erstellen Sie JSON-Array mit Java EE 7
- 25. Java EE 7 Batch-API: Job-Bereich erstellen CDI Bean
- 26. wie SAML sso mit Java, Java EE
- 27. Threading in Java EE Webapps
- 28. Java EE 5 Abhängigkeitsinjektion?
- 29. Wie implementiere ich Request-Throttling in einer Java EE-Umgebung?
- 30. Eclipse Java EE Plugin