簡體   English   中英

如何控制正在運行的Java服務

[英]how to control a running java service

我打算創建一個Java程序/服務,以使用notifya庫“ poller”功能連續輪詢rss-feed。 我希望能夠在程序運行時實時添加,刪除,更新rss-url。 我以前沒有使用Informationa庫的經驗,但是我需要將其潛在地擴展到很多rss提要。

  • 有沒有人有利用Informationa庫輪詢rss-feed的經驗? 您還會考慮使用其他哪些方法/庫來輪詢大量rss供稿(10.000+)?

  • 您認為什么是控制正在運行的(控制台)java程序的公認解決方案。 我在考慮使用控制端口發送命令。 還有其他更常用的機制來實現此功能嗎?

如果您需要更多具體信息,請告訴我。

親切的問候,伊沃

您認為什么是控制正在運行的(控制台)java程序的公認解決方案。 我在考慮使用控制端口發送命令。 還有其他更常用的機制來實現此功能嗎?

  1. 您可以從.properties文件中讀取參數。 這樣做的唯一缺點是,每次要使用該屬性時,都必須讀取屬性文件,而與值是否已更改無關。

  2. 您可以使用JMX 這是一個相當不錯的概念,其中您可以使用jconsole命令(Java管理擴展控制台)將bean公開為可管理的。 完成后,您可以將值遠程注入到正在運行的JVM中。

Sun Oracle網站上有一個很好的示例 ,向您展示了如何執行此操作。

是的,與遠程服務進行交互的正常方式是您所描述的控制端口。 您還可以通過數據庫設置來控制它,並創建一個線程來輪詢這些數據庫設置。 數據庫設置將通過某些網站設置嗎? 用戶界面。

如果您打算在一台機器上通過輪詢運行一項服務,那么我建議不要在虛擬機上設置服務,或者在一台擁有大量內存的大型機器上設置服務的多個實例。 我一直在使用com.sun.syndication庫進行提要解析/檢索。
我不想成為明顯的隊長,但我認為使用常規的多線程應用程序和並發隊列可以輕松實現。 如果我正確地理解了你。

謝謝。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM