Ich muss einen einfachen (nicht geclusterten) Timer für WebLogic implementieren und es scheint, dass es zwei verschiedene "Standard" -Optionen gibt
Hat jemand Tipps zur Verwendung des CommonJ TimerManager im Vergleich zur Verwendung des EJB3 TimerService in WebLogic 10.0?
Danke.
TimerService in EJB 3.0 ist im Vergleich zum CommonJ Timer Manager etwas eingeschränkt. Zum Beispiel erfordert es einen Standardcode und eine containerspezifische Konfiguration, um eine flexible Aufgabenplanung zu implementieren. Dies wurde mit der Einführung von @Scheduled Annotation in EJB 3.1 vereinfacht.
Wenn Sie bei EJB 3.0 bleiben und eine einfach und flexibel konfigurierbare Aufgabenplanung benötigen, ist die CommonJ Timer Manager API eine praktikable Option.
Darüber hinaus kann der Taskplaner von Spring Framework (org.springframework.scheduling.TaskScheduler) die Timer Manager-API abstrahieren und eine deklarative Konfiguration mithilfe von Cron-Ausdrücken ermöglichen.
CommonJ wurde ursprünglich unter JSR 237 vorgeschlagen, das 2008 zurückgezogen und in JSR 236 Concurrency Utilities für die Java EE-Plattform integriert wurde. Beachten Sie, dass dies eine wesentliche Änderung gegenüber dem von CommonJ vorgeschlagenen Standard und API bedeutet. Der Name CommonJ wird entfernt, die neuen Pakete befinden sich unter javax.enterprise.concurrent statt commonj.timers und commonj.work, und die ursprünglichen Klassen TimerManager, Timer und TimerListener werden durch nicht entsprechende Schnittstellen / Klassen ersetzt, einschließlich ManagedScheduledExecutorService, ManagedTask, ManagedTaskListener, Trigger.
Der letztgenannte JSR 236 wurde vor kurzem in die Öffentlichkeit gebracht und sollte daher bald zu einem Standard werden. Ab November 2012 ist es ein vorläufiger Kandidat für die Aufnahme in die Java EE 7-Spezifikation (JSR 342), aber dies wird bestätigt, sobald 342 fertiggestellt und veröffentlicht ist.
Daher die folgenden Probleme mit CommonJ:
Ich schlage vor, dass Sie den EJB 3.0 Timer Service verwenden, wenn er Ihren Anforderungen entspricht.