2012-10-09 67 views
0

我有一個簡單的Tomcat 7服務器,我想實現一個Java Web服務,它提供了一些我可以通過手機獲取的數據。 重點是我希望每隔一段時間更新一次服務器上的數據。所以我需要一個更新數據的「後臺進程」。Java Web Service後臺進程更新服務數據

我第一次嘗試,開始在我的綁定實現類的構造一個新的線程(其中只實現我自己的服務 - 不是的HttpServlet左右),如

public NewBindingImpl(){ 
    Thread informationFetcher = new InformationFetcher(); 
    informationFetcher.start(); 
} 

但我沒有想到的每當有人使用該服務時都會創建此類。更進一步,這隻會在我請求他們的那一刻更新數據。但我怎麼能更新他們說,每兩個小時左右呢?

希望這裏有人有一個想法。這甚至可以用於「簡單」的Web服務嗎?

非常感謝你,

托比亞斯

編輯:----

也許它有助於知道,我在這裏嘗試這種非常基礎教程:

http://www.elearning.witnut.com/230/java-web-service-creation-using-top-development-approach/

回答

0

爲什麼不初始化線程時servlet的init()方法被調用?您可以在調用相應的destroy()方法時將其關閉。該線程將被綁定到servlet的生命週期,並且由於init()僅被調用一次,所以您不必擔心多個實例。

下面是關於init() method usage的簡短教程。

由於您希望每兩小時運行一次,請檢查Timer類。對於更復雜的場景Quartz是一個嚴肅的競爭者。

+0

目前聽起來還行,但你能給我一個提示怎麼做嗎?不幸的是,這是我第一次使用Tomcat服務器。 –

+0

這是一個servlet工具,而不是特定於Tomcat的。請參閱上面鏈接的教程 –

+0

謝謝。我會先閱讀它,希望事情與「普通」的servlet和web服務沒有什麼不同。 :-) –