Je cherche la meilleure méthode pour exécuter une application Java en tant que démon * NIX ou un service Windows. J'ai regardé dans le Java Service Wrapper, le Apache Commons project 'jsvc', et le Apache Commons project 'procrun'. Jusqu'à présent, Java Service Wrapper semble être la meilleure option ... mais je me demande s'il existe d'autres produits sous licence "Open Source".Meilleure méthode pour exécuter une application Java en tant que démon * nix ou service Windows?
Répondre
J'ai eu beaucoup de succès avec Java Service Wrapper moi-même. Je ne l'ai pas regardé les autres, mais les principales forces de service wrapper sont:
- grand soutien-plate-forme x - Je l'ai utilisé sur Windows et Linux, et trouvé facile sur les deux
- Documentation solide - Les documents sont clairs et précis, avec de bons exemples.
- Prise en charge approfondie par plate-forme - Il existe des fonctionnalités uniques dans le système de gestion des services de fenêtrage qui sont parfaitement prises en charge par l'encapsuleur de service (sans redémarrage). Et sur Windows, vous verrez même le nom de votre application dans la liste de processus au lieu de simplement "java.exe".
- Conformité aux normes - Contrairement à de nombreux scripts d'initialisation Java ad-hoc, les scripts pour l'encapsuleur de service ont tendance à être conformes aux normes LSB. Cela peut s'avérer très important si vous voulez une gestion de haute disponibilité à partir de quelque chose comme Linux Heartbeat/HA.
Quoi qu'il en soit, à mes 2 cents ... :)
Je ne le recommande pas assez –
Existe-t-il des attributs spéciaux à appliquer (comme la gestion des ressources guidées par le système d'exploitation) que vous devez prendre en charge? Sinon, pour Unix, vous devriez pouvoir démoniser votre application en écrivant un script init.d approprié et en configurant votre application pour qu'elle démarre automatiquement.
Une autre option est WinRun4J. Ce fonctionne uniquement sous Windows, mais a quelques fonctionnalités utiles:
- 32 bits et le support 64 bits
- API pour accéder au journal des événements et le registre
- peut-il inscrire le service à dépendre d'autres services (c.-à-service A et Serviceb doit démarrer avant serviceC)
Son également open source friendly (CPL) donc pas de restrictions d'utilisation.
(divulgation complète: je travaille sur ce projet).
- 1. Comment puis-je exécuter une application CLI en tant que service Windows?
- 2. Plusieurs instances de même application en tant que service Windows?
- 3. Comment créer une application Windows pouvant fonctionner avec une interface graphique * ou * en tant que service Windows en C#?
- 4. Bonnes pratiques pour créer des scripts de service ou de démon Java
- 5. Débogage à distance d'une application Java lancée en tant que service Windows
- 6. Outil pour créer un service démon Java sous Linux
- 7. Meilleure méthode pour une application Java pour accéder à un processus Windows, et envoyer des commandes
- 8. Exécuteur et démon en Java
- 9. Tomcat Journalisation en cours d'exécution en tant que service Windows
- 10. Puis-je exécuter un script Python en tant que service?
- 11. Comment installer Tomcat en tant que démon sur OS X?
- 12. Windows Mobile - Programme Compact Framework en tant que service?
- 13. Application OpenGL C++ en tant que service web
- 14. Affichage des fenêtres d'un processus s'exécutant en tant que compte système ou en tant que service
- 15. Comment planifier un service Windows C# pour exécuter une méthode quotidiennement?
- 16. Comment puis-je exécuter un fichier de commandes Windows en tant que processus distinct de Java?
- 17. Installer EXE en tant que service sur Windows 2008 Server
- 18. Exécuter une chaîne en tant que commande en python
- 19. Comment convertir une application Java existante à un service SYS V (démon)
- 20. SCardEstablishContext se bloque en tant que service
- 21. Logiciel en tant que service - Base de données
- 22. Meilleure approche du service Web optimisé par un démon
- 23. .NET en tant que client, Java en tant que serveur
- 24. Comment exécuter une tâche Rake en tant que "tâche planifiée" Windows?
- 25. Dois-je lier sqlite3 en tant que code objet brut ou en tant que bibliothèque statique dans une application C++?
- 26. Comment configurer apache tomcat pour utiliser un home java différent lorsqu'il est installé en tant que service Windows?
- 27. WCF fonctionne en tant qu'application, mais pas en tant que service
- 28. WiX ServiceInstall - définition du service à exécuter en tant qu'utilisateur Windows en cours
- 29. Java: exécuté en tant qu'administrateur
- 30. Est-il possible de créer un service Web C# autonome, déployé en tant que service EXE ou Windows?
Pour les services Windows, consultez cette question: http://stackoverflow.com/questions/68113/how-to-create-a-windows-service-from-java-app/3626452#3626452 (Ajout de ce commentaire comme étant Google m'a amené ici, mais l'autre question a plus de réponses). – atomicules