JEE6: Generische Tasks an zentralem Scheduler registrieren

t3_chris

Mitglied
Hallo!

Ich baue gerade eine JavaEE 6 Application auf Glassfish 3.01, welche grundsätzlich folgende Funktionalität bieten soll. Ein zentraler Singleton übernimmt die Aufgabe eines Schedulers. Das heißt, dieser Singleton prüft zu jeder Minute eine Liste von Tasks und fragt diese, ob sie ausgeführt werden wollen oder nicht (die Tasks wissen das anhand einer internen Logik). Soweit so gut.

Nun suche ich nach einem Pattern, welches mir eine Möglichkeit bietet, diese Tasks am zentralen Scheduler zu registrieren (dieser trägt sie dann in eine Liste ein und schaut wie oben beschrieben jede Minute mal nach den Wünschen der Tasks).
Der für mich einfachste Ansatz wäre nun, alle Tasks mit
Code:
@Singleton
zu annotieren und diese in einer
Code:
@PostConstruct
Methode die Registrierung am Scheduler durchführen zu lassen. Das läuft grundsätzlich gut - allerdings nur so lange bis einer dieser Task und damit der Singleton mit einer entsprechenden Exception stirbt.

Ich hätte nun also gerne einen neuen Ansatz mit dem ich
Code:
@Stateless
Session Beans oder was ähnliches geeignetes an meinem Scheduler registrieren kann. Ich hätte nur gerne eine etwas elegantere Methode als den direkten Aufruf mit z.B.

Java:
@EJB
TaskLocal task1;

@EJB
OtherTaskLocal task2;

private List<Task> scheduleList;

@PostConstruct
private void init() {
   scheduleList = new ...
   scheduleList.add(task1);
   scheduleList.add(task2);
}

Die Lösung sollte also einen neuen Task registrieren können, ohne dass dazu jedes mal der Scheduler verändert werden muss.
Wie würdet ihr das lösen?

Vielen Dank im Voraus für Eure Inspiration!

Best Grüße,

t3chris
 
J

JohannisderKaeufer

Gast
Hallo,

hast du schon mal über Messaging nachgedacht?

Könnte man deinen Anwendungsfall eventuell so konstruieren das es mit JMS gelöst werden kann.
 

FArt

Top Contributor
Danke, Google habe ich natürlich bemüht, nur dabei dieses Dokument nicht gefunden...

Sorry, aber das ist mir völlig unverständlich. ???:L
Die Suchbegriffe sind aus deinem Post, nämlich "Scheduler" und "Glassfish" und das ist der (derzeit) sechste Treffer, sogar mit einer prominenten Überschrift.. man muss also nur die Ergebnisse überfliegen ... :autsch:
 

Ähnliche Java Themen


Oben