0

我有一个简单的 Tomcat 7 服务器,我想在其中实现一个 Java Web 服务,它提供一些我可以通过手机获取的数据。关键是我希望服务器上的数据每隔一段时间更新一次。所以我需要一个更新数据的“后台进程”。

我首先尝试在绑定实现类的构造函数中启动一个新线程(它只实现我自己的服务 - 不是 HttpServlet 左右),比如

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

但是我没有想到每次有人使用该服务时都会创建这个类。此外,这只会在我要求数据时更新数据。但是我怎么能更新它们让我们说每两个小时左右?

希望这里有人有想法。这对于“简单”的网络服务是否可行?

非常感谢,

托拜厄斯

编辑: - -

也许知道我在这里尝试了这个非常基本的教程会有所帮助:

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

4

1 回答 1

1

为什么在init()调用 servlet 的方法时不初始化线程?destroy()调用相应方法时可以将其关闭。该线程将绑定到 servlet 的生命周期,并且由于init()只调用一次,因此您不必担心多个实例。

这是关于init() 方法用法的简短教程。

由于您希望每两个小时运行一次,请查看Timer类。对于更复杂的场景, Quartz是一个有力的竞争者。

于 2012-10-09T13:15:01.077 回答