фон/демон/сервис Java кросс-платформенные лучшие практики

27
задан Cœur 26 April 2017 в 16:39
поделиться

4 ответа

Можно использовать эти классы SystemTray и установить приложение как любой другой в платформе по умолчанию.

окна For это могла быть запланированная задача, которые работают при запуске. Для Linux и OSX я не знаю (помимо crontab, который является так или иначе слишком техническим), но я вполне уверен, у них обоих есть способ сделать то же самое легко.

, К сожалению (с сегодняшнего дня) Apple не закончила 1,6 порта.

Это не будет настоящий демон, но приложение как Google Desktop.

я услышал, что Кварц является хорошим вариантом. Но я никогда не использовал его.

7
ответ дан qasimzee 28 November 2019 в 05:40
поделиться

Можно запустить JAVA-приложение как услуга (Windows) или демон (Linux) с помощью Apache код демона палаты общин .

Структура

Демон сделан из 2 частей. Один записанный в C, который делает интерфейс к операционной системе и другому в Java, который обеспечивает API Демона.

Платформы

И Win32 и UNIX как платформы поддерживаются. Для Win32 платформы используют procrun. Поскольку UNIX как платформы использует jsvc.

код Java

необходимо записать Класс (MyClass), который реализует следующие методы:

* void load(String[] arguments): Here open the configuration files, create the trace file, create the ServerSockets, the Threads
* void start(): Start the Thread, accept incoming connections
* void stop(): Inform the Thread to live the run(), close the ServerSockets
* void destroy(): Destroy any object created in init()
15
ответ дан pro 28 November 2019 в 05:40
поделиться

Можно превратить любую программу Java на сервис/демона с помощью Сервисная Обертка Java . Это используется несколькими проектами OSS и поставлется как часть менеджера репозиториев Знатока Nexus так, чтобы это могло быть установлено как услуга из поля. Для использования его, автор, просто необходимо создать конфигурационный файл и затем выполнить простой пакетный файл, чтобы создать сервис на Windows или скопировать init сценарий в корректный runlevel на Linux.

9
ответ дан Chris Lieb 28 November 2019 в 05:40
поделиться

Выезд JDIC, проект Компонентов Интеграции настольных систем Java. Это поддерживает интеграцию настольных систем как системный лоток (или эквивалентный) с межплатформенным API.

Другие упомянули Кварц, который является планировщиком заданий предприятия. Это может быть легко, в зависимости от заданий, которые планируются, но это не имеет никаких функций, которые по сути ориентированы на рабочий стол. Наоборот, многие его функции зависят от поддержки предприятия как реляционная база данных. Если Ваше приложение, прежде всего, планирует задачи, бездисплейное Кварцевое обслуживание, выполняющее задания, с настольным клиентом для взаимодействия с сервисом, является разумным подходом.

0
ответ дан erickson 28 November 2019 в 05:40
поделиться
Другие вопросы по тегам:

Похожие вопросы: