2011-10-23 110 views
0

如果我需要像Tomcat服務器那樣總是運行並且需要守護進程並且始終處於活動狀態並執行使用JAX-WS的HTTP Web服務請求?我可以使用Tomcat作爲調用Web服務的請求服務器嗎?我需要Java守護進程或只能執行Web服務請求的服務器(Web服務客戶端)

更新:
我還是不明白,對不起。我只想要簡單的Web服務客戶端,它能夠將請求發送到多個端點。事情是,它需要永遠活着(像服務器或守護進程一樣)。它需要活着的原因是它需要讀取和執行內部API調用並基於它們來提出Web服務請求。

回答

2

你的問題有點含糊,但據我瞭解,你正在開發一個Web服務來響應http請求。

這可以很容易地使用Tomcat,Jetty或任何其他servlet容器來完成。您只需將您的應用程序作爲WAR部署到servlet容器中,並且servlet容器將負責運行您的Web服務。我假設所有的請求都是普通的http請求,所以HttpServlet是一個很好的起點。看看this tutorial瞭解更多。

另外請記住,如果您正在開發的Web服務需要與之通信,Tomcat可以爲您提供manage database connections。這是推薦的方式,因爲Tomcat將負責打開,合併和關閉數據庫連接。

如果您正在開發一個執行遠程Web服務請求的deamon,那麼我會說Tomcat6也可以用於此。一個好的起點是簡單地配置一個實現方法contextInitialized()和contextDestroyed()的context listener。這兩個方法在WAR啓動和停止時被調用。根據您對遠程Web服務執行請求的方式和時間,我會看看Quartz Scheduler框架在給定的時間間隔內執行請求。

+0

沒有這麼抱歉被誤解我只是想要Web服務客戶端,能夠執行Web服務到不同的端點。並且這個客戶端需要永遠活着(像daemon) – user63898

+0

是的,那麼你肯定仍然可以使用Tomcat。如上所述,起點是實現上下文監聽器,然後計劃將定期執行的任務。這些任務將針對遠程Web服務執行請求。 – sbrattla

+0

嗨,謝謝你的迴應,我是否需要爲請求管理線程池,或者tomcat會給我某種線程池處理程序? – user63898

0

當然。例如,如果您在Windows上爲tomcat下載MSI文件並安裝它,系統會提示您將其安裝爲Windows服務。這正是你需要的。如果你在Linux上需要它,請使用RPM分發:它將tomcat安裝爲unix服務。

+0

也許我沒有解釋我的自我權利,tomcat作爲服務器是好的。即時通訊問我是否可以使用它作爲服務器preform HTTP請求到服務器 – user63898