Java-приложение / сервер потоков - PullRequest
3 голосов
/ 28 марта 2010

Я ищу что-то очень близкое к серверу приложений с этими функциями:

  • он должен обрабатывать серию потоков / демонов, позволяя пользователю запускать-останавливать-перезагружать каждый без влияния на другие
  • он должен хранить библиотеки разделенными между различными потоками / демонами
  • он должен позволять разделять некоторые библиотеки

В настоящее время у нас есть какой-то устаревший код, заново изобретающий колесо ... и не совсем идеальный! Я думал использовать Tomcat, но мне не нужен веб-сервер, за исключением, может быть, простого пользовательского интерфейса backoffice (/manager/html).

Есть предложения? Существует ли сервер не веб-приложений или есть лучшая альтернатива Tomcat (например, более легкая или более простая в настройке)? Заранее спасибо.

Ответы [ 4 ]

4 голосов
/ 28 марта 2010

Вы смотрели на OSGi ?Вы можете загружать / выгружать комплектов (в основном .jar-файлы с метаданными) независимо друг от друга и, необязательно, определять зависимости между ними (с жизненным циклом программного обеспечения, определенным так, чтобы комплекты знали о других загружаемых / выгружаемых комплектах).

2 голосов
/ 28 марта 2010

Я нашел концепцию Jetty «контексты» очень полезной для обработки приложений (упакованных как WAR и с прослушивателями контекста сервлета), где xml-файл помещен в контексты / полностью описывает то, что вы хотите запустить. При повторном удалении xml-файла описанная вещь останавливается.

Если вы не запустите серверный соединитель, у вас будет просто старт-стоп, который звучит так, как вы ищете.

Причал можно сделать очень маленьким, поэтому накладные расходы неплохие.

1 голос
/ 28 марта 2010

Никто не мешает вам отправлять двоичные и текстовые данные вместо HTML-страниц по протоколу http. Вот для чего сервлеты. Поэтому я бы использовал сервер Tomcat.

1 голос
/ 28 марта 2010

Можно рассмотреть Spring dmServer . Это довольно нетрадиционный сервер приложений с очень легким ядром OSGi (например, веб-контейнер не является обязательным), но он обеспечивает изоляцию загрузчика классов и базовые сервисы контейнера. Это не контейнер JavaEE, но поставляется с подключаемыми модулями.

Вам все равно придется много работать самостоятельно, но основы dmServer очень надежны.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...