Как написать Java-демон

Это будет сетевое приложение, которое всегда (или почти всегда, насколько мне это удастся) будет слушать заданный порт.

Я довольно новичок в Java и очень новичок в программировании не на стороне веб-сервера, поэтому я хотел бы получить обратную связь от сообщества о моих предположениях и предварительных планах.

Я читал о jsvc ( http://commons.apache.org/daemon/jsvc.html ) и в настоящее время исхожу из того, что это "лучший" способ написать демон на java для linux-ящика (скорее всего под управлением centOS).

Можно ли настроить nagios на мониторинг того, запущен ли мой демон, и предупреждать меня или системного администратора, когда он не запущен? (Я предполагаю, что да, но я не очень талантливый системный администратор)

Это будет клиентское приложение SMPP (или приложение ESME, я думаю), поэтому я выбрал Java, так как это, кажется, очень зрелая платформа для SMPP. Однако, я знаю, что более "традиционным" является написание демона на C/C++. С современной Java, выполняющей довольно несложные задачи, могу ли я столкнуться с какими-либо серьезными недостатками?

Какой лучший способ управления развертыванием новых сборок? Просто остановить демон, как можно быстрее заменить бинарник и перезапустить?

Любой другой вклад будет очень признателен.

12
задан Raedwald 21 October 2013 в 16:22
поделиться