Como escrever um daemon Java

Este será um aplicativo de rede que sempre (ou quase sempre que eu puder gerenciar) estará escutando em uma determinada port

Sou bastante novo em Java e muito novo em programação para servidores que não são da Web, portanto, gostaria de receber feedback da comunidade sobre minhas suposições e planos preliminare

Eu li sobre jsvc http: //commons.apache.org/daemon/jsvc.htm) e atualmente estou trabalhando com a suposição de que esta é a "melhor" maneira de escrever um daemon em java para uma caixa Linux (provavelmente executando o centOS

Os Nagios podem ser configurados para monitorar se meu daemon está em execução ou não e para alertar a mim ou ao administrador do sistema quando não estiver? (Presumo que sim, mas não sou um tipo de administrador de sistema muito talentoso)

Este será um aplicativo cliente SMPP (ou ESME, eu acho), e foi por isso que escolhi o Java, pois parece ser uma plataforma muito madura para o SMPP. No entanto, eu sei que é mais "tradicional" escrever um daemon em C / C ++. Com o Java moderno, executando tarefas bastante simples, é provável que eu encontre grandes desvantagens?

Qual é a melhor maneira de gerenciar a implantação de novas construções? Basta parar o daemon e substituir o binário o mais rápido possível e reiniciar?

Qualquer outra entrada seria muito apreciad

questionAnswers(2)

yourAnswerToTheQuestion