我們需要做一些初始化的部署(在一個JBoss 7.1.0實例)的結束,因爲只有這樣,所有需要的服務是可用的(有一個應用程序其中不少是)。在JBoss的7部署結束時執行操作
一種方法,我們嘗試是這樣的:
我們有一個@Startup註釋沿着單獨服務,但我們至今沒有成功地告訴了JBoss最後創建實例沒有太多的麻煩。
我們可以使用@DependsOn
,但是我們必須維護一個不斷增長和已經很大的依賴關係列表,因此我們寧願只做最後的手段。
在過去(JBoss 4和5),有可能定義一個依賴於應用程序(如@Depends("myapp.ear")
),這正是我們所需要的。
截至7 JBoss的事情發生了變化,但我認爲還是有辦法做到這一點。
另一種方法是嘗試創建我們自己的JBoss子系統,在所有其他子系統啓動後調用它,但是在執行我們需要的操作之前,我們無法找到等待其他子系統完成的方法。
我們可以看看有什麼其他的選擇到?
謝謝你的提示。但是,我們的EAR中通常會有多個WAR,並且必須定義它們的啓動順序(這應該是可能的) - 在某些情況下,我們甚至可能沒有WAR,因此也沒有web.xml。 – Thomas
要考慮的其他事情可能是,檢查服務是否在循環中可用。或者執行基於初始化的時間,以便啓動類或servlet在開始初始化之前等待x minuts ..通常部署速度很快,因此可能只是1 minut .. 最後認爲可能是有服務註冊themselfs時準備(如果這是可能的服務),所以你可以在一個循環中檢查時,所有的服務都是現成 –