2013-01-17 100 views
3

我使用的Java EE定時器服務程序創建持久性計時器的Java EE定時服務,編程定時器和應用程序部署

@Resource 
TimerService timerService; 

... 
timerService.createCalendarTimer(scheduleExpression, new TimerConfig(..., true)); 

計時器按預期方式工作,並堅持:我可以停止和啓動服務器和計時器仍然在那裏。

現在,當我部署新版本的應用程序時,計時器丟失。有沒有一種辦法之一:

  • 保持定時器當應用程序被重新部署在同一臺服務器

  • 有部署後通過我的Java EE應用程序的第一次啓動調用的方法上,這樣我可以重新創建所有計時器?

+0

僅供參考:在EJB規範中創建的JIRA問題恰恰解決了這個問題,但由於不明確的原因而被拒絕。 –

回答

2

請參閱this answer。簡而言之;沒有自動的方式讓計時器重新部署,而且你需要自己處理。也許在應用程序啓動時使用@Startup重新創建它們?

相關問題