2010-02-26 123 views
1

有人能幫助我在此,運行的內部Web服務線程

我創建簡單的Web服務,它具有保持XML文件的隊列從客戶端發送的,因此當Web服務客戶端調用上webserbice的方法,webserbice負荷這個XML到自己的隊列,現在我想對webserbice運行的線程,如果沒有在隊列中的項目採取的其他行動,監視此隊列。

但我的問題是,如果客戶端調用的WS接口的方法之一web服務只可以調用。所以但我需要這個線程在webserbice上運行。所以可能有人告訴我,是有辦法做到這

+0

取決於您所使用的容器,我猜。是不是如Tomcat,碼頭等Web容器或者是像JBoss中,WebSphere等EJB容器? – 2010-02-26 08:06:09

+0

我使用tomcat作爲web容器,axis2作爲web服務引擎, 對不起,因爲我遲到了幾個小時 – KItis 2010-02-27 05:20:18

回答

2

你有一個Web應用程序,這意味着你可能有一個web.xml裏面的某個地方運行Web服務(服務器)。你可以在它的init方法創建一個servlet,並且initialize(起點)的處理線程,阻止它在Servlet的銷燬方法。請注意,認爲通過使用此模型,如果Web應用程序停止,您可能會丟失未處理的消息。您應該看看JMS或類似WebSphere MQ的東西,它們都可以充當消息傳遞系統 - 您會收到消息,將其排隊在不同的隊列中,然後當處理應用程序準備就緒時,它會提取下一條消息,處理消息,並通知呼叫過程回來。