2009-11-16 42 views
0

我的系統有3-4網絡服務,通過UDP互相通信,所以就開始每個Web服務需要啓動一個UDP監聽線程,可這在完成Web服務本身的構造函數?如何從Web服務啓動監聽器? 【JAVA的Netbeans 6.7.1和Tomcat的6.0.18]

我已經做了一些閱讀(不知道它是否正確),並注意到有時人們將Web服務稱爲「無狀態」,並提到每次客戶端連接它時都會創建一個新的Web服務,從而運行構造函數 - 但我想運行我的構造函數只有一個時間(當服務被部署),並有它開始我的UDP監聽只有一次......並保持它聽,即使沒有客戶端連接...

這是否有什麼意義?人們通常如何解決這種情況?

任何意見將不勝感激。 謝謝,

+0

你是不是想從應用服務器內運行?哪一個?你想寫一個UDP套接字偵聽器嗎?你將如何啓動你的服務?請提供詳細.. – Zak 2009-11-16 07:00:29

+0

扎克 - 我真的很新的Web服務,所以讓我嘗試回答... 我創建一個WebService(使用NetBeans),這是我可以部署一個單一的java文件/從運行IDE。不確定「應用程序服務器」是什麼意思? 是的,我有作爲一個UDP套接字監聽線程(已工作 - 作爲一個RMI應用程序)。 至於我怎麼會啓動它 - 我不知道我有多少選擇的餘地 - 現在我部署它(NetBeans IDE中) - 有另一種方式? – Shaitan00 2009-11-16 07:08:57

回答

0

您可以使用靜態初始化:


static { 
    Listener.initialize(); 
} 
+0

在@WebService類本身? 但這是否真的意味着每次客戶執行方法的默認構造函數被再次叫什麼名字? – Shaitan00 2009-11-16 07:13:15

+0

我猜想依賴於實現 - 使用某個池不是不可能的。但更好的是不要在託管環境中使用默認構造函數:) – Bozho 2009-11-16 07:37:46

相關問題