我有一个简单的Tomcat 7服务器,我想实现一个Java Web服务,它提供了一些我可以通过手机获得的数据。 关键是我希望服务器上的数据每隔一段时间更新一次。所以我需要一个更新数据的“后台进程”。
我首先尝试在绑定实现类的构造函数中启动一个新线程(它只实现我自己的服务 - 而不是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 :(得分:1)
为什么不在调用servlet的init()
方法时初始化线程?您可以在调用相应的destroy()
方法时将其关闭。该线程将绑定到servlet的生命周期,并且由于init()
仅被调用一次,因此您不必担心多个实例。
以下是init() method usage的简要教程。