2013-01-02 64 views
3

我有一個部署到JBoss 7.1.1一個RestEasy的網絡服務後。 Web服務依賴於另一個服務。這個其他服務必須在JBoss啓動時初始化 - 在第一次調用RestEasy Web服務之前。我嘗試在RestEasy類中使用靜態初始化塊,但直到第一次調用RestEasy Web服務方法之一時纔會執行該初始化塊。如何初始化RestEasy的Web服務的JBoss啓動

我將不勝感激任何RestEasy的方法被調用之前如何初始化依賴服務(基於JBoss的啓動)的任何建議。

+1

如果是在RestEasy的類本身,被稱爲RestEasy的類的任何方法之前一定靜態初始化塊應該被調用。發佈您的代碼。 – JoshDM

+0

讓我嘗試澄清:該RestEasy的依賴於其他服務是一個分佈式緩存JCS。我們有兩個JBoss實例,我們需要在啓動時初始化JCS以啓用分佈式緩存。我試圖用來啓動JCS的靜態初始化塊,在第一次調用RestEasy方法之前不會執行。我需要JCS在JBoss啓動時初始化。 –

+0

您目前如何初始化您的JCS,以及您目前如何初始化RestEasy?有兩種方法可以做到這一點,所以知道你正在使用的應該有助於確定一個答案。 – JoshDM

回答

1

如果你的靜態塊不能正常工作,您可以通過調用在web.xml一個監聽器類引用你的第二個服務實例初始化你的第二個服務。

<listener> 
    <description>Initializes the Second Service</description> 
    <display-name>Second Service Loader</display-name> 
    <listener-class>my.package.path.SecondServiceListener</listener-class> 
</listener> 

或者,如果您使用的是Spring,解決方案更加簡單。請詳細說明你的環境。

+1

謝謝,JoshDM。這種方法起作用。 –

相關問題