Gemanagte ( kontrollierte ) Thread in JEE5

RoNa

Bekanntes Mitglied
Hallo zusammen,

gibt es in JEE5 eine standardisierte Möglichkeit eigene Threads zu starten. Diese müssten unter Kontrolle des Applikation Servers stehen. Ich möchte nicht 'new Thread' aufrufen.

Unter Websphere gibt es die 'asynchronous beans', aber es ist kein JEE Standard. Ich würde gerne die Applikation unter Tomcat laufen lassen.

Kann mir jemand einen Tipp geben?

Gruß,

Robert
 

RoNa

Bekanntes Mitglied
Für den Aufbau des Indexes einer Suchmaschine ( Apache Solr ) muss ich viele Worker Threads starten. Die sollen periodisch immer die gleiche Datei lesen und indizieren.
Die Datei ist eine Logdatei, die ständig neu beschrieben wird.
 

RoNa

Bekanntes Mitglied
Klar, es wäre auch damit möglich. Nur diese Threads / Jobs wären vom Application Server unkontrolliert und würden z.B. beim Beenden des Applikation Servers im Nirvana weiterlaufen.

Deswegen die Suche nach standardisierten Möglichkeit.
 
G

Gelöschtes Mitglied 5909

Gast
1. Tomcat ist kein vollständiger J2EE5 AppServer
2.

Nur diese Threads / Jobs wären vom Application Server unkontrolliert und würden z.B. beim Beenden des Applikation Servers im Nirvana weiterlaufen.

Äääh? Wenn du den Server beendest ist die VM weg, ergo auch die Threads.

Du könntest Quartz verwenden, Spring (25. Task Execution and Scheduling), oder auch einfach einen TimerTask nehmen.
 

FArt

Top Contributor
Im Tomcat gibt es keine wirklich schöne Lösung dafür. Was einer wirklich schönen Lösung sehr nahe kommt ist ein MBean im Tomcat, evtl. als Valve für Tomcat (falls der Service irgendwie am Call-Context partizipieren soll). Das könnte man dann mit Quartz als Scheduler realisieren, pure Java (ScheduledExecutorService) ist aber dann auch ausreichend.
Sonst würde ich empfehlen, z.B. einen JBoss zu verwenden. Da gibt es auch asynchrone Beans, Scheduler (Timer Service) und einen Tomcat. Nicht benötigte Services kann man getrost raus schmeißen und der AS bietet trotzdem noch einiges an Vorteilen gegenüber einem Tomcat.
 

Deadalus

Bekanntes Mitglied
Im JEE6 Standard sind asynchrone EJB enthalten. Ich würde auch raten auf JEE 6 umzustellen, da kein Grund existiert es nicht zu tun ;-)
 

Ähnliche Java Themen

Neue Themen


Oben