Démarrage rapide

Comme pour toute application, la meilleure façon de commencer est de lire la documentation. Mais, conscients du désir de se lancer rapidement, nous vous invitons à parcourir cette page pour vous faire une idée de ce que le Wrapper peut faire.

Ensuite, pour démarrer, vous devrez au minimum lire la section Résumé des méthodes d'intégration. Vous y trouverez 4 méthodes d'intégration. À partir des aperçus, choisissez celle qui correspond le mieux à vos besoins, puis lisez la section dédiée à cette méthode d'intégration.

[Pour les fonctionnalités avancées du Wrapper] : Le Wrapper offre un très large éventail de fonctionnalités. Il est recommandé, à un moment donné, de consulter l'ensemble des propriétés de configuration pour vous faire une idée de toute la puissance du Java Service Wrapper.

[Besoin d'aide ?] : Si vous rencontrez des problèmes ou si vous avez des questions, la méthode privilégiée pour obtenir de l'aide consiste à publier un message sur la liste de diffusion Wrapper-User.

Aperçu des fonctionnalités du Wrapper

Le Java Service Wrapper est une application née du souhait de résoudre un certain nombre de problèmes communs à de nombreuses applications Java. Vous trouverez ci-dessous les principales fonctionnalités du Wrapper :

Exécuter une application Java en tant que service Windows ou démon UNIX

Le Java Service Wrapper permet d'installer une application Java en tant que service Windows. De même, les scripts fournis avec le Wrapper facilitent également l'installation d'une application Java en tant que processus démon sur les systèmes UNIX.

Le Wrapper gère correctement les « déconnexions utilisateur » sous Windows, les dépendances de services, ainsi que la possibilité d'exécuter des services qui interagissent avec le bureau.

Veuillez consulter les pages de documentation ci-dessous pour les instructions :

Fiabilité des applications Java

Compte tenu de la large adoption du langage Java, de nombreuses applications ont été conçues pour fournir une variété de services critiques et essentiels. Ces services doivent pouvoir offrir un haut niveau de fiabilité. Dans un monde idéal, seuls les logiciels 100 % exempts de bogues seraient publiés et installés. Cependant, l'histoire a montré que ce n'est pas le cas. Presque toutes les applications souffrent de problèmes de qualité à un moment ou à un autre de leur cycle de vie. Les applications se figent, plantent, manquent de mémoire ou rencontrent toutes sortes de problèmes. Lorsque c'est possible, les problèmes sont corrigés rapidement sans interruption de service significative. Il arrive toutefois que la correction d'un problème soit prohibitivement coûteuse ou impossible à résoudre dans un délai court.

Le Wrapper surveille un processus JVM et le redémarre automatiquement si la JVM a planté ou s'est figée. Ce processus ne prend que quelques secondes une fois que le Wrapper a déterminé qu'il y a un problème. Il est également possible de configurer le Wrapper pour surveiller la sortie console d'une JVM et réagir à certaines chaînes en redémarrant ou en arrêtant la JVM.

Bien que ces fonctionnalités avancées du Java Service Wrapper ne fassent pas disparaître tous les problèmes, elles vous aideront à dormir plus sereinement, sachant que s'il y a un problème, le Wrapper sera là pour maintenir le service jusqu'à ce que vous puissiez vous rendre au bureau pour consulter les journaux. Dites adieu à ces appels d'urgence !

Scripts standard, prêts à l'emploi

Configuration « Write Once, Run Everywhere ». Java a été commercialisé comme un langage de programmation « Write Once, Run Everywhere ». Bien que cela soit vrai pour de nombreux aspects d'une application, le développeur est souvent contraint d'écrire des scripts complexes, spécifiques à la plateforme, chargés de construire les chemins de classes et de collecter d'autres informations système nécessaires au lancement d'une application.

Le Java Service Wrapper aide à soulager le développeur de cette tâche fastidieuse en fournissant un ensemble de scripts pour un large éventail de plateformes, qui peuvent être utilisés tels quels pour lancer et exécuter presque n'importe quelle application Java contrôlée par le Wrapper.

Le Wrapper regroupe toute la configuration de la JVM dans un fichier de configuration indépendant de la plateforme wrapper.conf. Consultez les exemples de la section Résumé des méthodes d'intégration pour plus de détails.

Redémarrages à la demande

Le Java Service Wrapper offre à une application Java un moyen de demander le redémarrage de sa propre JVM. Cela peut être utile dans de nombreux cas. Les applications peuvent souhaiter redémarrer après la modification de leurs fichiers de configuration. Ou l'application peut simplement avoir besoin d'être redémarrée pour éviter des problèmes liés à une fuite de mémoire ou de ressources.

Les redémarrages de la JVM peuvent être déclenchés depuis l'intérieur de la JVM en appelant WrapperManager.restart(). Consultez WrapperManager.restart() dans les JavaDocs pour plus de détails.

Il existe également des moyens plus passifs de déclencher des redémarrages. Le Wrapper a la capacité de surveiller la sortie console et de déclencher des arrêts ou des redémarrages dès que certains textes sont détectés.

Le Wrapper peut également être configuré pour redémarrer une autre instance de JVM ou s'arrêter normalement en fonction du code exit renvoyé par une JVM.

Configuration flexible

Le Java Service Wrapper fournit un large éventail de propriétés de configuration qui peuvent être utilisées pour configurer la JVM de toutes les manières possibles depuis la ligne de commande. Le fichier de configuration du Wrapper « wrapper.conf » fournit également un certain nombre de propriétés vous permettant de configurer des éléments tels que la journalisation et la façon dont le Wrapper est installé en tant que service.

Consultez la section Propriétés de configuration pour plus de détails sur les possibilités. Assurez-vous d'avoir lu la section Résumé des méthodes d'intégration avant de vous plonger dans le fichier de configuration wrapper.conf.

Faciliter l'installation des applications

En utilisant les scripts standard du Wrapper et des chemins relatifs dans le fichier de configuration wrapper.conf, il est généralement possible de créer une application qui ne nécessite aucune installation plus complexe que la simple extraction d'un fichier d'archive dans un répertoire choisi par l'utilisateur.

Journalisation

Bien que le Java Service Wrapper n'essaie pas, et ne devrait pas, remplacer l'un des excellents outils de journalisation disponibles, il fournit un certain nombre de propriétés pour configurer la façon dont les sorties « stdout » et « stderr » vers la console de la JVM sont gérées. Cette sortie peut être journalisée vers n'importe quelle combinaison de la console, d'un fichier, ou du « Journal des événements » (Windows) ou de « syslog » (UNIX).

La journalisation de la sortie vers la console de la JVM peut être essentielle pour identifier les problèmes d'une application. Sans le Wrapper, lorsqu'une JVM s'exécute en tant que service sous Windows, ou en tant que démon sous UNIX, la sortie console serait normalement perdue. Le Wrapper s'assure que toute la sortie console est journalisée.

Les outils de journalisation basés sur Java ne sont capables de journaliser que les sorties générées depuis l'intérieur de la JVM. Si la JVM plante ou affiche des messages de bas niveau tels que des dumps de threads, il n'y a généralement aucun moyen de les journaliser. Le Wrapper journalise toute la sortie console du processus JVM, quelle que soit sa source. Cela signifie que les enregistrements de tout plantage survivront même après que le Wrapper ait redémarré la JVM.

Consultez la section Configuration de la journalisation pour plus de détails.

Sécurité

Le Wrapper offre plusieurs fonctionnalités pour sécuriser vos mots de passe ou toute donnée sensible dans votre configuration.

De plus, de nombreuses configurations sont disponibles pour sécuriser votre application en cours d'exécution et l'isoler des accès indésirables, qu'elle s'exécute en tant que service ou en tant qu'application console.

Considérez le Wrapper comme une couche supplémentaire où les fonctionnalités de sécurité peuvent être facilement mises en œuvre et intégrées à votre application. Ces fonctionnalités sont conçues pour être flexibles et adaptables à divers scénarios.

Pour des informations plus détaillées sur ces fonctionnalités de sécurité et pour les bonnes pratiques de sécurité, veuillez consulter la section Sécurité.

JVM prises en charge (machines virtuelles Java)

Le Wrapper est connu pour fonctionner avec diverses JVM (Oracle, OpenJDK, Eclipse Temurin, IBM, Microsoft Build of OpenJDK, Amazon Corretto, Azul Zulu, etc.). Si vous avez l'occasion de tester d'autres JVM, n'hésitez pas à nous faire part des résultats.

Les versions 3.4.0 à 3.6.x du Java Service Wrapper nécessitent Java version 1.4.x ou ultérieure.

À partir de la version 3.7.0, le Java Service Wrapper nécessite Java 7 et versions ultérieures.

La dernière version du Java Service Wrapper a été testée et est compatible avec Java 27.

Avant chaque publication du Wrapper, nous effectuons des tests approfondis pour garantir la compatibilité avec la version de Java la plus récente disponible à ce moment-là. Cependant, il est important de noter que les anciennes versions du Wrapper ne sont pas systématiquement retestées avec les versions ultérieures de Java. En production, veillez toujours à utiliser une version du Wrapper publiée après la date de publication du JDK spécifique que vous avez choisi.

Veuillez consulter cette page pour vérifier les versions de Java recommandées pour chaque version du Wrapper.

Plateformes prises en charge

Des distributions binaires du Java Service Wrapper sont fournies pour la liste de plateformes suivante et sont disponibles sur la page de téléchargement.

Seules les versions de système d'exploitation connues pour fonctionner ont été listées. Si vous avez obtenu des résultats positifs ou négatifs en exécutant le Wrapper sur d'autres versions de système d'exploitation, veuillez nous en informer et elles seront ajoutées à la liste.

Il devrait être assez facile de compiler le Wrapper à partir des sources sur d'autres plateformes UNIX. Veuillez nous en informer et nous mettrons la liste à jour.

Par version du Wrapper :

Cette section suivra les dépendances de plateforme du Wrapper. Après chaque publication d'une nouvelle version, nous ajouterons une nouvelle page listant les plateformes prises en charge par le Wrapper. Veuillez consulter les pages ci-dessous contenant les listes des plateformes prises en charge et les éventuelles restrictions, à titre de référence.