2012-08-17 83 views
0

我正在開發一個從另一個服務器獲取服務的JAX-WS webservice。我必須打開套接字並關閉套接字才能使用此服務。JAX-WS服務生命週期

我正在尋找一些方法,我可以在部署中打開套接字並關閉套接字以部署web服務。

我計劃使用@PostConstruct和@PreDestroy但它不fullfill我的要求,當一個新的實例被添加到方法就緒池

@PreDestroy只調用時

@PostConstruct只叫應用程序服務器決定減少Method-Ready池的大小 - 即它確定它不需要保留您的@WebService的多個實例。

請推薦我如何解決這個問題。我試圖打開和關閉每個請求的套接字,但它導致客戶端超時。

問候, 伊姆蘭

回答

0

你可以檢查在構造函數或PostConstruct註釋的方法,你的靜態插座是否被初始化(非空的實例)。並根據需要進行初始化。

如果您需要維護一個靜態int與實例加載的數量,您可以。

然後,您可以在Finalize或PreDestroy中使用,減少計數器並在其達到0時銷燬套接字。