2012-01-13 1 views
0

Я намереваюсь создать java-программу/службу, которая непрерывно обменивается rss-каналами, используя функциональность библиотеки pola. Я хочу иметь возможность добавлять, удалять, обновлять rss-url в реальном времени, пока программа работает. У меня нет прежнего опыта работы с библиотекой informa, но мне нужно, чтобы он потенциально масштабировался до большого количества rss-каналов.Как управлять запущенной службой java

  • У кого-нибудь есть опыт работы с библиотекой informa для опроса rss-каналов? Какие другие методы/библиотеки вы могли бы опросить множество rss-каналов (10.000+)?

  • Что вы считаете приемлемым решением для управления работающей (консольной) java-программой. Я думал об использовании порта управления для отправки команд. Существуют ли другие механизмы, которые обычно используются для достижения этой функциональности?

Пожалуйста, дайте мне знать, если вам нужна более конкретная информация.

С наилучшими пожеланиями, Иво

ответ

0

Да, обычным способом взаимодействия с удаленной службой был бы порт управления, как вы его описали. Вы также можете управлять им с помощью настроек базы данных и создать поток, который будет выполнять опрос для этих настроек БД. Настройки БД будут установлены через некоторую сеть? UI.

Если вы планируете использовать одну услугу с опросом на одной машине, я бы рекомендовал против нее и установить службу на виртуальных машинах или настроить несколько экземпляров службы на одной большой машине с большим объемом памяти. Я использую библиотеку com.sun.syndication для разбора/извлечения фидов.
Я не хочу быть капитаном очевидным, но я думаю, что это легко достижимо с помощью обычного многопоточного приложения и Concurrent Queuing. Если я правильно тебя приведу.

Спасибо.

1

Что вы считаете, чтобы быть принятым решением для управления бегущую (консоль) программы Java. Я думал об использовании порта управления для команд отправки . Существуют ли другие механизмы, более широко используемые для , для достижения этой функциональности?

  1. Вы можете прочитать параметр из .properties файла. Единственным недостатком этого является то, что файл свойств должен быть прочитан каждый раз, когда вы хотите использовать это свойство, независимо от того, изменилось ли значение.

  2. Вы можете использовать JMX. Это довольно приятная концепция, в которой вы можете управлять bean-компонентом, используя команду jconsole (консоль расширения Java Management Extensions). После этого вы можете удаленно вводить значения в запущенную JVM.

Существует nice example на сайте ВС Oracle, который показывает вам, как это сделать.