/ / Czy zegary EJB powinny być trwałe / niezawodne? - java, java-ee, ejb-3.0, timer, ejb

Czy zegary EJB powinny być trwałe / niezawodne? - java, java-ee, ejb-3.0, timer, ejb

Na przykład. jeśli ustawiam timer, który ma wygasnąć każdego dnia o północy, co stanie się, jeśli jeden "błąd zapłonu" (nie wywoła wywołania zwrotnego, ponieważ serwer jest na przykład wyłączony)? Nie mogę tego znaleźć w dokumentacji.

Czy istnieje sposób, aby ten licznik czasu wywoływał wywołanie zwrotne jako soons jako restart serwera?

PS: Wiem o Quartz, ja oceniam timery EJB jako alternatywę.

Odpowiedzi:

4 dla odpowiedzi № 1

Możesz użyć a TimerHandle aby czasomierz był trwały. Czasy EJB zostały zaprojektowane, aby przetrwać awarie kontenerów.

Zobacz artykuł dla porównania czasów EJB i innych systemów planujących, takich jak Quartz.


3 dla odpowiedzi № 2

Z doświadczenia wiem, że w Glassfishnieodebrany timer uruchomi się, gdy tylko serwer się uruchomi. Jeśli serwer nie działa z powodu dwóch lub więcej nieodebranych limitów czasu, zostanie uruchomiony tylko raz, a nie raz za każdy nieodebrany czas. Następnie wraca do twojego regularnie zaplanowanego programu.