如何控制正在运行的java服务

时间:2012-01-13 09:29:17

标签: java rss polling

我打算创建一个java程序/服务,使用信息库'poller'功能连续轮询rss-feeds。我希望能够在程序运行时添加,删除,更新rss-url的实时。我之前没有信息库的经验,但我需要它可能扩展到很多rss-feeds。

  • 有没有人有信息库轮询rss-feeds的经验?您会考虑使用哪些其他方法/库来轮询很多rss-feeds(10.000 +)?

  • 您认为什么是控制正在运行的(控制台)java程序的公认解决方案。我在考虑使用控制端口发送命令。是否有更常用的其他机制来实现此功能?

如果您需要更具体的信息,请与我们联系。

亲切的问候, IVO

2 个答案:

答案 0 :(得分:1)

  

您认为什么是控制跑步的公认解决方案   (控制台)java程序。我正在考虑使用控制端口   发送命令。是否有更常用的其他机制   实现这个功能?

  1. 您可以从.properties文件中读取参数。这样做的唯一缺点是,每次要使用该属性时都必须读取属性文件,而不管该值是否已更改。

  2. 您可以使用JMX。这是一个相当不错的概念,您可以使用jconsole命令(Java Management Extensions Console)公开bean以便管理。完成后,您可以将值远程注入正在运行的JVM中。

  3. Sun Oracle网站上有一个nice example,向您展示如何操作。

答案 1 :(得分:0)

是的,正如您所描述的那样,与远程服务交互的正常方式是控制端口。 您还可以通过数据库设置控制它,并创建一个将轮询这些数据库设置的线程。数据库设置将通过某些网络设置? UI。

如果您计划在一台计算机上运行一个服务,我宁愿推荐它,也可以在虚拟机上设置服务,或者在一台具有大量内存的大型计算机上设置多个服务实例。我一直在使用com.sun.syndication库进行解析/检索 我不想成为明显的队长但我认为通过通常的多线程应用程序和并发队列很容易实现。如果我找到你的话。

感谢。