2011-09-29 4 views
5

Ho un'applicazione console (scritta in Java), che dovrebbe essere eseguita su una macchina Linux fino a quando non viene arrestata.Demone Java sotto Linux: Scelte?

La registrazione viene eseguita dall'applicazione stessa.

L'applicazione deve essere arrestata ogni volta che è disponibile una nuova versione (ad esempio, accesso, arresto dell'applicazione, copia del nuovo file JAR, quindi riavvio).

Quali sono le opzioni per l'implementazione di questo, oltre a quelli specificati di seguito?

modi noti per farlo:

1) Servizio Tanuki involucro

2) nohup java -jar myapp-1.32.jar &

+0

Anche se non si adatta perfettamente alle tue esigenze, puoi dare un'occhiata a capistrano. – leonm

+0

Fare attenzione a trovare un servizio che consenta di ascoltare i segnali di spegnimento per arrestare il servizio in modo corretto. –

+0

La tua applicazione console sarà in grado di rilevare che deve essere chiusa? –

risposta

2

Alcune moderne distribuzioni Linux sono passate a upstart. Questo è un daeomon che avvia e ferma tutti gli altri servizi. Ne esaminerei sicuramente. Poiché risolve alcuni problemi spinosi con gli script di avvio pronto per la produzione. Lo svantaggio è che non ha funzionalità specifiche java.

+0

Grazie per il tuo suggerimento. Il link che hai pubblicato si riferisce ad un articolo di Wikipedia sull'ordinamento esterno. Non capisco cosa ha a che fare con Upstart. –

+0

Oh scusa, quello era il link sbagliato. Intendevo: http://upstart.at/ – jmg

0
Ci

anche i Commons apache demoni http://commons.apache.org/proper/commons-daemon/jsvc.html

jsvc è un insieme di librerie e applicazioni per rendere le applicazioni Java eseguito su UNIX più facilmente.

jsvc permette l'applicazione (ad esempio Tomcat) per eseguire alcune operazioni privilegiate come root (per esempio binding a una porta < 1024), e quindi passare identità a un utente non privilegiato.