Używam programów Java EE Timer Services programowo do tworzenia trwałych liczników czasu
@Resource
TimerService timerService;
...
timerService.createCalendarTimer( scheduleExpression, new TimerConfig( ..., true ) );
Timery działają zgodnie z oczekiwaniami i są utrzymywane: mogę zatrzymać i uruchomić serwer, a timery są nadal dostępne.
Teraz, kiedy wdrażam nową wersję aplikacji, timery są tracone. Czy jest jakiś sposób na:
utrzymuj liczniki czasu, gdy aplikacja zostanie ponownie rozmieszczona na tym samym serwerze
mieć metodę po pierwszym uruchomieniu aplikacji Java EE po wdrożeniu, aby móc odtworzyć wszystkie zegary?
Odpowiedzi:
2 dla odpowiedzi № 1Widzieć ta odpowiedź. W skrócie; nie ma automatycznego sposobu zatrzymywania timerów na redeploy i musisz sobie z tym poradzić. Być może odtwórz je przy uruchamianiu aplikacji za pomocą @Startup
?