2009-06-10 5 views
0

Manchmal ist es sinnvoll, die Verarbeitung einiger Daten auf mehrere Threads in einer EJB3-Session-Bean zu verteilen.Wie verarbeitet man Daten in mehreren Threads mit EJB3?

Nehmen wir an, eine Stateless Session Bean holt viele Daten aus der Datenbank, teilt sie in mehrere Partitionen auf und möchte die Verarbeitung dieser Partitionen in ihren eigenen parallelen Threads erzeugen. Was ist der beste Weg, dies zu erreichen? Nachrichtengesteuerte Beans verwenden?

EDIT: Ich müsste auch irgendwie informiert werden, wenn alle MDBs ihre Daten verarbeitet haben, so dass die Ergebnisse für den Anforderer kombiniert und gesendet werden konnten.

Antwort

0

Ja. MDB. Es ist nicht erlaubt, eigene Threads in einem EJB gemäß der Spezifikation zu starten.

+0

Wie würden Sie die Ergebnisse kombinieren? (Siehe EDIT: Teil der Frage.) – tputkonen

0

Nur ein Remimder, EJB 3 Framework übernimmt alle Threads für Sie. Für den Entwickler ist es eine einfache Thread- und Thread-sichere Programmierung. Sie dürfen keinen eigenen Thread erstellen.