Java wrapper de service Community Edition est un logiciel en ligne de commande la source totalement gratuit et ouvert qui a été conçu à partir du sol d'agir comme un configurable et facile à utiliser l'utilitaire pour déployer les applications Java comme des démons UNIX ou Windows natives fond services.Provides correction de défaut functionalityIt est un logiciel flexible, fiable et multiplate-forme qui fournit des fonctionnalités de correction d'erreur qui va automatiquement redémarrer non recevables ou écrasé JVM (Java machines virtuelles). En outre, le logiciel dispose d'script standard, l'installation d'une application facile, et la fonctionnalité de journalisation, la gestion de processus enfants, épreuves chronométrées, les courriels d'alerte, les commandes de l'événement, les limites de mémoire relatifs, le support de plusieurs langues, ainsi que des événements et des actions définies par l'utilisateur.
Le Community Edition est distribué sous une licence open source, par elle & rsquo; de la fonctionnalité est limitée, que vous pourrez utiliser pour ne permettre aux applications Java afin de fonctionner comme un démon UNIX, de redémarrer et de surveiller les machines virtuelles, pour contrôler la priorité du processus, à JVM déclencheur redémarre, décharges de fil, et les arrêts, d'utiliser un répertoire de travail personnalisé, à utiliser des caractères génériques, ainsi que de se connecter et de capturer JVM console output.Getting commencé avec Java Service Wrapper Communauté EditionTo débuter avec le Community Edition de Java wrapper de service , télécharger le package qui correspond à votre ordinateur & rsquo; s architecture, enregistrer l'archive sur votre répertoire d'accueil, décompresser, ouvrir une application Terminal, accédez à l'emplacement du & lsquo; bin & rsquo; dossier (par exemple /home/softoware/wrapper-linux-x86-64-3.5.26/bin/ cd) et exécutez le & lsquo; ./ wrapper & rsquo; commande, qui affiche le message d'utilisation et disponibles options.Runs de ligne de commande sur un large éventail de POSIX et d'exploitation de type UNIX systemsJava wrapper de service est distribué en trois éditions, Community Edition, Standard Edition et Professional Edition. Il est compatible avec toutes les distributions GNU / Linux, mais fonctionne sur une large gamme de systèmes d'exploitation de type UNIX, y compris FreeBSD, AIX, HP-UX, Microsoft Windows, Mac OS X et Solaris, POSIX et de soutenir 64 bits (x86_64 ), 32 bits (x86), Armel, armhf, SPARC, s390, s390x, Itanium, PPC (PowerPC), ainsi que PA-RISC plates-formes matérielles.
Ce qui est nouveau dans cette version:.
- Améliorer les messages du journal lorsqu'un redémarrage JVM est demandé lors de l'enveloppe est dans un état qui il sera ignoré (Standard / Professional Edition)
- Ajoutez un message de débogage supplémentaire lorsqu'un balayage de l'impasse complète. Aucun changement fonctionnel, mais cela a été ajouté pour le rendre facile à dire combien de temps le balayage prend une application donnée.
- Nettoyez le suivi interne de l'endroit où les variables d'environnement ont été fixés. Pas de changements fonctionnels.
- Lors de la détection avec Cygwin 'uname -o' dans le fichier de script, certains systèmes d'exploitation (Solaris, MacOS, etc.) montrent un message d'erreur parce que «-o 'ne est pas un paramètre valide. Maintenant nous nous cachons ce message d'erreur pour éviter toute confusion et nous pouvons deviner que Cygwin ne est pas en cours d'exécution.
- Ajouter la capacité de contrôler l'exécution du service avec systemd utilisant le fichier de script.
- Sur Mac OS X, fixer une faute de frappe, ajouter une autre alternative pour trouver Java pour définir la variable d'environnement JAVA_HOME et utiliser le chemin complet pour exécuter sysctl au cas où il ne est pas dans le chemin. Merci à Dannes Wessels pour cette précision.
- Correction d'un problème sur les versions plus récentes de Windows lors de la personnalisation du Wrapper. Le certificat n'a pas été supprimée lors de la création de la cible. Cela a été conduit à une erreur en essayant de signer la cible avec un nouveau certificat.
- Ajout du support manquant dans le script shell pour le redémarrage / l'arrêt du service de Wrapper avec launchctl sur Mac OS X.
- Ajout du support manquant dans le script shell pour le redémarrage / l'arrêt du service de Wrapper avec Upstart.
- Ajouter la possibilité de définir le chemin de la commande «su» ainsi que la possibilité de spécifier des arguments supplémentaires dans le script shell Wrapper utilisant de nouvelles variables de SU_BIN et SU_OPTS.
- Correction d'un problème dans les classes d'aide WrapperSimpleApp, WrapperStartStopApp et WrapperJarApp où les problèmes de ligne de commande qui ont abouti à la JVM sortie au démarrage ressemblaient sorties inattendues. Cela signifiait que le Wrapper allait essayer de relancer la JVM nouveau plutôt que de renoncer à la première tentative.
- modification des classes d'aide WrapperSimpleApp, WrapperStartStopApp et WrapperJarApp afin que leurs bannières d'utilisation seront seulement maintenant être présentés pour des problèmes liés à la ligne de commande. Problèmes avec les classes, méthodes ou fichiers jar spécifiés sont encore enregistrés comme des erreurs, mais montrant l'utilisateur l'usage dans ces cas a été source de confusion.
- Corrigez la méthode WrapperResources.getString () qui n'a pas d'arguments de remplacement de sorte que son traitement de la chaîne brute est manipulé le même que les méthodes qui ont arguments de remplacement. Maintenant toutes les chaînes sont traitées par la classe MessageFormat avant d'être renvoyé. Les versions précédentes ne étaient pas unanimes sur le besoin d'échapper les guillemets simples.
- Ajout de validation de la clé option pour se assurer que les chaînes passées à la méthode WrapperResources.getString () sont formatés correctement. Voir la classe WrapperResources des informations comment activer.
- Ajouter de nouvelles options pour les biens wrapper.backend.type: AUTO, PRISE, SOCKET_IPv4, SOCKET_IPv6, PIPE. Lorsqu'il est réglé sur AUTO, le Wrapper essayer d'ouvrir un socket ipv4 et ipv6 repli à et de conduite en cas d'erreur.
- Correction d'un bug lors de la conversion multi-octets en grande omble sans définir les paramètres régionaux au démarrage (Unix seulement). Merci à Bert.
- Ajouter un 'CLOSE_BACKEND' alias 'CLOSE_SOCKET »comme une commande de test pour la propriété wrapper.commandfile. Ce est parce qu'il ya eu de multiples options pour la connexion backend pour un certain temps et le nom est plus portable.
- Correction d'un problème lors de l'exécution sur Mac OS X Yosemite où le script ne parvenait pas à comparer correctement versions '10 .10 'au '10 .5.0. Ce était en tête au script penser que seuls les binaires 32 bits pourraient être exécutés. Ce était un problème que si la dénomination pack delta des binaires wrapper a été utilisé.
- Ajoutez une nouvelle propriété de wrapper.java.classpath.missing.loglevel qui permet de contrôler la façon dont le Wrapper enregistre avertissements sur les éléments manquants de chemin de classes. Auparavant, ce était toujours connecté en tant que sortie de débogage et ne peut être désactivée.
- Se il ya des problèmes de bas niveau de lancement du processus Java qui ne sont pas liés à la configuration ou la JVM elle-même, le Wrapper ne sera plus essayer à nouveau que ces tentatives ne ont aucun sens.
- API système Windows ont un problème qui provoque un processus visant à planter si il tente de définir une variable d'environnement au cours de 32 767 caractères. Le Wrapper maintenant, cette vérification et enregistre une erreur plutôt que de fixer la variable. Ce était un problème si de très grandes classpaths ont été utilisés lorsque la propriété wrapper.java.classpath.use_environment était vrai.
- Windows ne permet pas une ligne de commande pour être plus que 32 766 caractères. Différentes versions de Windows gèrent différemment quand une telle commande longue est fournie. Le Wrapper fait maintenant son propre contrôle et montre une erreur d'une manière cohérente.
- Améliorer le message d'erreur sur les plateformes UNIX lorsque la ligne de commande est plus longue que le maximum du système. Ce maximum varie grandement selon la plate-forme et de l'environnement et est difficile à calculer de manière fiable, de sorte que la longueur maximale ne est pas représenté actuellement dans le message.
- Correction d'un problème sur les plateformes UNIX où un fichier de configuration très grand pourrait provoquer l'WrapperManager échec au démarrage. Cela était dû à la cession partielle du fichier de configuration à l'WrapperManager via la connexion backend. Ce serait le cas indépendamment du type de backend utilisé. La taille du fichier de configuration qui pourrait entraîner un problème très variable en fonction du système spécifique.
- Correction d'un problème sur les plateformes Windows, où un très gros fichier de configuration ne parviendrait pas à être envoyé à l'WrapperManager au démarrage lorsque la propriété a été fixé à wrapper.backend.type PIPE. Le seul problème était que les WrapperManager.getProperties () méthode serait vide. (Professional Edition)
- Ajout de vérifications à l'WrapperManager.exec () méthodes sur Windows pour la longueur maximale de ligne de commande de 32 766, et de l'environnement maximal nom-valeur de la variable longueur de 32767. (Professional Edition) paire
- Correction d'un problème où un libre d'un pointeur NULL a été effectué dans le cadre du processus de nettoyage d'un appel WrapperManager.exec (). Ce ne est pas connu pour avoir causé des problèmes.
- Ajouté getStdOut (), getStdErr (), et getStdIn () méthodes à la classe de WrapperProcess que les alias à la getInputStream (), getErrorStream (), et getOutputStream () pour éviter toute confusion.
- Correction d'un problème sur Windows 7 où les lignes du journal de longues a été corrompue après 31 397 caractères lorsque wrapper.console.direct était vrai. Cela semble être un problème avec l'API Windows sous-jacent et était seulement un problème d'affichage. Réduction du nombre maximum de caractères qui peuvent être écrits avec un seul appel d'API à 30 000 pour contourner le problème. Ce changement est interne et il n'y a toujours pas de limite sur la longueur des lignes exploitées.
- Correction d'un blocage si le Wrapper n'a pas d'écrire sur le serveur lorsque la propriété était wrapper.backend.type PIPE. Trouvé par la revue de code et ne est pas connu pour avoir réellement passé.
- De Mac OSX 10.5.0, le fichier de script va utiliser la touche «KeepAlive» dans le fichier de configuration de launchctl. Les versions antérieures de Mac OSX vont continuer à utiliser la même clé «OnDemand». Merci à Robin pour cette précision. (Standard / Professional Edition)
- Interdire l'utilisation de hostids liés aux appareils Bluetooth d'Apple lors de l'exécution sur un système Windows virtualisé hébergé sur un système Mac OS X.
- Correction d'un problème où WrapperManager.log () ne fonctionnait pas correctement lorsque des messages multi-octets ont été enregistrées.
- Dans la sortie de débogage la pleine paquet de propriétés de configuration est supprimée à partir de la sortie du journal parce qu'il est énorme et peut contenir des données sensibles. Ajouter une dimension à la sortie abrégée pour aider avec le débogage.
- Correction d'une fuite de mémoire sur les plateformes UNIX chaque fois un message d'erreur a été signalée. Ce était seulement un problème si le message a été enregistré à plusieurs reprises.
- Correction d'un couple d'autres éventuelles fuites de mémoire ont trouvé à travers la révision du code. Non connu pour avoir été causer de problèmes réels.
Ce qui est nouveau dans la version 3.5.23:
- Standard / Professional Edition:
- Quand un type de licence inconnu est rencontré, inclure le type inconnu dans le message d'erreur pour faciliter le débogage.
- Correction d'un problème de corruption de mémoire sur z / OS lorsque la langue a été fixé à une double locale d'octets comme le japonais.
- Aller à travers et faire le Wrapper beaucoup plus durables lorsque mal encodés caractères à deux octets sont rencontrés.
- preofessional Edition:
- Modifier l'exception levée lorsque WrapperManager.exec () est appelée alors que l'enveloppe est l'arrêt il dit maintenant que plutôt que de dire que la bibliothèque native ne est pas chargé.
- Le Wrapper est maintenant plus prudent de se assurer que le backend ne est jamais fermé pendant un processus enfant est lancé pour se assurer que le Wrapper connaît tous les processus enfants lancés.
- Ajouter un message d'avertissement au cas où le gestionnaire ne est pas informé d'un processus enfant lancé en raison de la connexion backend étant fermé.
- Correction d'un NPE potentiel qui pourrait être lancée lors de la lecture ou de sortie stdout stderr d'un processus enfant tandis que le Wrapper fermait et après le processus de l'enfant est sorti.
- Correction d'un problème sur les plates-formes UNIX où nous avons été coincé en essayant de nettoyage après un processus qui a été bloque actuellement sur une lecture de stdout ou stderr.
- Correction d'un problème sur les plates-formes UNIX où un délai de tenter d'obtenir un verrou interne de la liste des processus de l'enfant causait un compteur interne pour sortir de synchronisation, conduisant à un autres processus fils terminé étant laissé zombies que défunts jusqu'à ce que le processus Java fin.
- Correction d'un problème sur les plateformes UNIX où les descriptions de fichiers de tuyaux utilisés pour communiquer avec des processus enfants étaient mal passées à tous les processus de l'enfant. Ils ne étaient pas de plus en plus au fil du temps.
- Correction d'un problème sur les systèmes FreeBSD où le wrapper.lang.encoding n'a pas été résolu à UTF-8 correctement lorsque la variable d'environnement LANG est pas réglée.
- Correction d'un problème de synchronisation potentiel appelant WrapperProcess.waitFor () ou WrapperProcess.exitValue ().
- Ajouter supplémentaires sortie du journal de débogage montrant les différentes valeurs de temporisation pour aider avec les problèmes des utilisateurs de débogage.
- Correction d'un problème où le script shell n'a pas été correctement détecter la version du système d'exploitation Mac OSX avec Maverick.
- Ajoutez avertissements sur les variables d'environnement définis dans inclure des références de fichiers dans le fichier de configuration.
- Ajout du support pour l'expansion variable d'environnement dans les fichiers spécifiés avec le wrapper.java.additional_file et wrapper.app.parameter_file propriétés.
- Corriger le formatage dans la méthode WrapperUNIXGroup.toString () entier de sorte qu'il est cohérent avec le reste de l'enveloppe.
- Correction d'un problème où l'exigence de la bibliothèque iconv ne pouvait être satisfaite dans FreeBSD 10. Nous localiser aujourd'hui la bibliothèque dynamique en recherchant /usr/local/lib/libiconv.so, /usr/local/lib/libbiconv.so ou /lib/libkiconv.so.4 dans cet ordre.
- Correction d'un méthode WrapperPrintStream.println () pour des chaînes contenant des sauts de ligne seront correctement ont chaque ligne préfixé avec l'en-tête configuré.
Quoi de neuf dans la version 3.5.14:
- Correction d'un problème dans le AppCommand.bat.in fichier où une parenthèse dans le nom du fichier du binaire Wrapper aurait provoqué une & quot; PATH était inattendue à ce moment & quot; erreur.
- (Standard / Professional Edition)
- Correction d'un problème lors de l'utilisation d'une version localisée du Wrapper sur plates-formes Windows 64 bits où le Wrapper continuerait à utiliser la langue par défaut du système, même wrapper.lang a été utilisé pour spécifier une langue différente. Introduit en 3.5.12.
- Correction d'un problème dans le fichier de commandes à base de commande Windows AppCommand.bat.in où la commande 'état de mal a été signalé comme étant «requête» dans la sortie d'utilisation. La commande 'état de avait toujours travaillé correctement si utilisé.
- Correction d'un problème sur les plates-formes UNIX où certains messages asynchrones causaient un message d'avertissement & quot; erreur de codage ... & quot; être connecté à la place du message destiné. Cela pourrait être vu si le fichier journal configuré ne dispose pas des autorisations d'écriture. Autre que le message du journal incorrect, le Wrapper a fonctionné correctement. Introduit en 3.5.2.
- Correction d'un problème dans le script UNIX où courir avec arriviste ne fonctionnait pas correctement lorsque RUN_AS_USER a été créé.
- Relax contrôles de sécurité lors de l'exécution du «statut» commande contre le script shell UNIX de sorte qu'il permet désormais l'utilisateur qui exécute le script pour effectuer le contrôle de lecture seule du fichier de pid.
- Correction d'un problème avec le script UNIX où le 'supprimer' commande essayait d'arrêter une application en cours d'exécution même lorsque l'application ne avait pas été installé.
- Correction d'un débordement de tampon qui pourrait provoquer un plantage lors de l'installation d'un Service Windows lorsque wrapper.ntservice.account a été spécifié. Cela a été introduit en 3.5.12.
- Correction d'une corruption du tas qui pourrait survenir au démarrage et potentiellement provoquer un plantage. Seuls les systèmes Windows, qui utilisent les journaux des événements système, ont été touchés. Découverte d'une revue de code, il n'y avait jamais eu de rapports de ces problèmes causant pour les utilisateurs. Cela pourrait se produire si le wrapper.log configuré n'a pas pu être écrit comme la Wrapper essaie toujours d'écrire dans le journal des événements dans de tels cas. Introduit en 3.5.12.
- Ajouter une nouvelle comparaison entre la version script shell UNIX et Wrapper de commencer à montrer un avertissement en cas d'une incompatibilité de version. Le contrôle ne fonctionne que si le script shell et Wrapper sont chacun d'au moins la version 3.5.14.
- Ajout d'une nouvelle propriété wrapper.pidfile.strict qui racontera l'Wrapper pas commencer si le fichier de pid existait déjà. Par défaut à false pour une compatibilité arrière.
- Faire le Java côté de la prise de backend plus résiliente en cas de lecture ou d'écriture timeout. La prise de backend n'a pas de délai fixé par défaut ce qui devrait ne pas avoir été un problème. Quelques utilisateurs ont signalé des problèmes sur les systèmes spécifiques mais qui a conduit à ce correctif.
- Pour aider à l'essai de la temporisation de prise de backend, une nouvelle propriété système wrapper.backend.so_timeout a été ajouté pour permettre de configurer la prise de backend à utiliser un temps mort. Voir la Javadocs du WrapperManager.exec () classe pour plus de détails.
Ce qui est nouveau dans la version 3.5.11:
- Correction d'un crash potentiel sur Windows causée par un tampon débordement. Cela a été un problème depuis la version 3.5.0 et affecte configurations qui définissent plus d'un wrapper.ntservice.dependency .. Selon ce qui était dans la mémoire, cela n'a pas toujours lieu dans un accident. Il a un comportement très reproductible pour un fichier de configuration donné.
- Correction d'un problème sur Windows où le Wrapper prenait 15 secondes ou plus pour démarrer sur certains systèmes, car l'appel système WinVerifyTrust avait des problèmes de mise à jour de la CRL. Cela avait été un problème puisque les binaires Wrapper commencé à être signé dans la version 3.5.7. Si l'appel WinVerifyTrust prend plus de temps que le wrapper.startup_thread.timeout configuré alors le Wrapper continuera à démarrer sans plus tarder.
- (Standard / Professional Edition)
- Supprimez de façon explicite le certificat du binaire personnalisé lors de la personnalisation. Il y avait des problèmes démissionnaires du binaire avec un autre certificat contraire.
- Si le Wrapper est incapable d'écrire sur le wrapper.logfile configuré pour une raison quelconque, nous tombons toujours à un fichier journal par défaut, puis enregistrer un message sur l'échec. Si le défaut échoue également alors ce est également enregistré, mais les messages ne seraient connecté à la console dans la plupart des cas. Modifier le Wrapper donc nous désormais toujours envoyer deux messages à la syslog ou EventLog quel que soit le wrapper.syslog.loglevel est réglé. Ce est important pour aider à traquer la cause de problèmes d'accès au fichier journal.
- Depuis la version 3.5.0, il est possible d'imprimer en interne des messages de journaux multi-ligne de sorte que toutes les lignes serait toujours regroupés dans le fichier journal. Cette version modifie le code d'enregistrement légèrement de sorte que la sortie du journal tels multi-ligne est désormais enregistré comme un seul message dans la Sylog UNIX ou Windows EventLog.
- Correction d'un problème où de très longues lignes de la sortie de la JVM causerait l'Wrapper apparaisse à accrocher pendant un certain temps. La première fois une seule ligne de sortie contenant plusieurs centaines de milliers de caractères a été connecté, une mémoire tampon interne était progressivement augmenté de 100 caractères par cycle. Le Wrapper augmente désormais la taille basée sur la dernière taille connue pour réduire considérablement le nombre de cycles nécessaires pour choisir une nouvelle taille de la mémoire tampon.
- Modifier la commande PAUSE_THREAD sorte qu'il est maintenant possible d'attendre indéfiniment. Seulement utile pour tester l'enveloppe.
- Ajouter une nouvelle commande de PAUSE_LOGGER pour le rendre possible de mettre en pause la prochaine entrée du journal. Seulement utile pour tester l'enveloppe.
- Sur UNIX, le tuyau stdout / stderr entre la JVM et Wrapper ne était pas nettoyé correctement. Il en est résulté une petite fuite mais était par ailleurs inoffensifs. Les tuyaux sont maintenant nettoyés et initialisés pour chaque instance JVM.
- Correction d'un problème où le Wrapper pourrait ne pas redémarrer la JVM lorsque la demande de redémarrage originaire de la JVM si le système a été IO connaît très lourd résultant en longue files d'attente disque IO. Ce était causant boucle principale du Wrapper pour bloquer sur le écriture et de manquer la demande de redémarrage, de l'enveloppe sur l'arrêt plutôt que de redémarrage. Cela pourrait affecter toutes les plateformes. Sous Windows, il pourrait également être reproduit en faisant une sélection dans la console de geler la production et puis faire une demande au sein de la JVM pour redémarrer.
- Ajouter une nouvelle classe d'aide WrapperPropertyUtil pour le rendre easer pour accéder à la valeur des propriétés de Wrapper au sein de la JVM.
- Correction d'un bug sur certaines plateformes où la sortie de journal de java pourrait obtenir endommagé en raison d'une mauvaise utilisation d'une fonction de système de strncpy. Cette fonction avertit que certaines implémentations ne supportent pas de chevauchement des copies de mémoire. Le problème ne peut être reproduite sur une seule machine de test Linux dans les lignes ci-dessous une ligne vide de la production. Ce problème existe depuis 3.4.0.
Ce qui est nouveau dans la version 3.5.9:
- Correction d'un problème sur Windows où les cartes réseau dont les noms contenue & quot; PRO / 1000 & quot; étaient retirés de la liste des hostids affiche lorsque & quot; wrapper.exe -h & quot; a été exécuté. Cela ne affecte pas les fichiers de clés de licences de serveur existants générés pour hostids rapportés par 3.5.7 ou antérieure, ou les clés de licence de développement. Mais cela ne provoque l'Wrapper pour signaler qu'aucun hostids valides pourraient être trouvées lorsque le Wrapper a été lancé sans un fichier de licence. Cela a été causée par un code ajouté à 3.5.8 de test que nous avons omis de supprimer.
- Correction d'un problème où le Wrapper été ne cède pas correctement le contrôle à sa boucle principale lorsque de très grandes quantités de sortie continue a être enregistrés à partir de la JVM. Introduit dans la version 3.4.0. Dans les versions antérieures à 3.5.8, cela pourrait avoir causé la JVM du délai d'attente et se relancer. Ce problème particulier a été résolu mais le processus de wrapper 3.5.8 aurait toujours été de répondre lorsque cela se passait. Le Wrapper va maintenant toujours yeild à sa boucle principale après 250 millisecondes de l'exploitation forestière continue.
- Correction d'un problème où le WrapperManager pourrait bloquer essayer sortie écriture de débogage si l'application de l'utilisateur courant écrivait de très grandes quantités de la production à la console ainsi. Dans des circonstances extrêmes, cela a conduit à la Wrapper penser que la JVM a été gelé. Ce était un problème que si la sortie de débogage a été activée.
- restructuré le script shell donc toutes les éditions utilisent maintenant le même script à nouveau.
Ce qui est nouveau dans la version 3.5.8:
- (Standard / Professional Edition)
- Depuis la version 3.5.5, nous invalidé l'utilisation de tous 00ff * hostids sur Windows pour éviter les problèmes avec l'évolution hostids lorsque les utilisateurs disposent d'un adaptateur réseau Juniper Network Connect sur leur système. Ceci se est avéré être trop restrictive OS invités fonctionnant sous Parallels aussi faire usage de cette gamme de hostid. Le Wrapper est maintenant plus attention à ne invalider réels hostids Juniper Network Connect.
- (Standard / Professional Edition)
- Améliorer le message affiché à l'utilisateur lorsque le Wrapper est incapable de trouver un hostids pour un système.
- Correction d'un problème avec le script d'emballage sur Solaris, où l'option -F ne était pas disponible pour grep.
- Ajout de Windows de version sur la sortie wrapper de débogage.
- Ajout d'une propriété wrapper.log.warning.threshold qui rend le Wrapper affichera une alerte chaque fois qu'il détecte que le Wrapper fallu beaucoup de temps pour enregistrer un message de journal. Ceci a été ajouté pour tester un problème signalé lente causée par IO sur les systèmes très lourdement chargés.
- Correction d'un problème où un filtre qui a demandé la JVM pour redémarrer serait ignorée si la JVM est sorti de sa propre immédiatement. Le Wrapper est maintenant plus cohérente afin que les demandes de redémarrage à partir de l'intérieur de la JVM ou filtres seront toujours avoir la priorité sur les demandes de sortie. Les demandes d'arrêt externes, ou ceux d'autres actions seront toujours se comporter comme ils l'ont fait dans le passé et continuera à l'arrêt du Wrapper. Le Wrapper enregistre également les messages en sortie de débogage si une demande de redémarrage exceptionnelle est préservée ou ignoré.
- Correction d'un problème dans le fichier batch AppCommand.bat qui pourrait se produire sur certaines plates-formes Windows avec certains encodages système multi-octets. Le script a été réécrit et les pièces douteuses ont été simplifiées. La fonctionnalité du script a été préservé.
- Ajout de l'environnement WRAPPER_CONF_DIR variable, qui peut être utilisée pour les propriétés de configuration. (Feature Request 3160644)
- Fait la sortie de script avec le code de sortie à droite reçues lors de l'exécution du script en tant qu'utilisateur différent, spécifié dans RUN_AS_USER. (Rapport bogue 3185281)
- Correction d'une violation d'accès qui pourrait se produire lorsque le certificat de signature de code n'a pas été vérifiée.
- Connectez une erreur si la prise de backend est fermée de force externe. Il avait été de se connecté à un niveau de journal de débogage. Le message est & quot; Une connexion existante a dû être fermée par l'hôte distant. (0x2746) & quot ;. Parce que le message a été seulement enregistré si la sortie de débogage a été activée, la JVM serait redémarré sans aucune explication claire quant à ce qui est arrivé. La source de la fermeture de la prise est sous enquête.
- (Professional Edition)
- Ajout de l'appel fireUserEvent Java pour l'API WrapperManager. Cela permet de tirer mails d'événements d'utilisateur, des actions sans déclenchement du filtre. Se il vous plaît également trouver plus de détails sur le modèle de sécurité pour cet appel à la page de sécurité.
- Correction d'un avertissement sur les versions Mac si la commande java configuré ne était pas un binaire universel. Une vérification a été ajoutée en 3.4.0 pour se assurer que le wrapper.java.command pointée directement à un exécutable pour éviter un comportement inattendu lors de l'exécution d'un script. Le message ne est qu'un avertissement et l'Wrapper continue indépendamment. Ppc Standard, ppc_64, x86_64, i386, ainsi que les binaires universels seront maintenant tous travailler correctement sans un avertissement.
- La valeur par défaut de l'emballage. *. Utilise le umask du processus a. Avant la valeur par défaut était toujours 0022.
- Ajoutez une nouvelle propriété de wrapper.backend.type qui est utilisé pour contrôler si le Wrapper communique avec la machine virtuelle Java en utilisant la traditionnelle & quot; PRISE & quot; ou une nouvelle expérimentale & quot; PIPE & quot ;. Ceci a été ajouté en tant que solution à un problème rare où certaines machines Windows ferment la prise au niveau du système d'exploitation. Ce ne était jamais vu sur Windows 2003, mais pourrait exister sur d'autres versions de Windows ainsi.
- Ajoutez une nouvelle propriété de wrapper.use_javaio_thread expérimental qui provoque le Wrapper pour gérer toutes les sorties de la console java dans un thread dédié.
- Ajouter une nouvelle méthode WrapperManager.isNativeLibraryOk () qui permet de code utilisateur tester facilement si oui ou non la bibliothèque native a été chargé et initialisé au démarrage.
- Ajouter une nouvelle commande de PAUSE_THREAD à la propriété wrapper.commandfile qui permet de tester comment le Wrapper se comporte lorsque plusieurs threads bloquer ou geler. Il a été utilisé pour simuler et reproduire les problèmes sur les serveurs fortement lié IO.
- Améliorer la façon dont le Java côté de l'enveloppe se comporte quand le Wrapper ne parvient pas à un ping la JVM pour une période de temps prolongée. La JVM permet de sortir de se laisser se resynchroniser avec la JVM. Ce était à l'origine des problèmes sur les systèmes qui étaient fortement liée IO parce que le Wrapper pourrait bloquer pendant un certain temps tout en essayant d'écrire dans le fichier journal et la JVM a été sortie. La JVM va maintenant quitter jamais dans de telles circonstances. La JVM ne deviendra jamais orphelins parce que ce sera toujours sortir presque immédiatement si la prise de backend ou un tuyau avec le Wrapper est jamais fermé.
- désapprouvent la méthode WrapperManager.appearOrphan () tel qu'il est utilisé pour simuler un mode de défaillance qui ne est plus possible avec le Wrapper.
- changé la façon dont l'enveloppe est la gestion des erreurs de certificats concernant le certificat de signature de code / d'horodatage. Le Wrapper maintenant que l'arrêt lui-même si la signature du binaire n'a pas été vérifiée avec succès parce que la signature binaire ou a été déformée mais pas si un problème avec le contre-signataire a été trouvé. À partir de 3.5.7, les fichiers binaires de Windows Wrapper sont signés. Certains utilisateurs avec des systèmes verrouillés Windows 2008 ont eu des problèmes avec le Wrapper refusant de démarrer car le certificat Comodo avait été désactivée sur leur système.
- Ajoutez une nouvelle propriété wrapper.java.detach_started ce qui permet d'utiliser le Wrapper comme un outil simple pour lancer des applications Java. Lorsqu'elle est activée, le Wrapper se termine immédiatement et la JVM est restant à courir sur son propre.
- Lorsque vous exécutez le Wrapper comme un compte d'utilisateur spécifié, via la propriété wrapper.ntservice.account, le Wrapper ajoutera la permission pour le compte de se connecter en tant que service automatiquement lors de l'installation. (Feature Request # 3286491)
Propriétés umask
Ce qui est nouveau dans la version 3.5.6:
- Correction d'un problème sur les plates-formes UNIX où le fichier journal chemin était calculée correctement si un chemin absolu a été spécifié pour wrapper.logfile, et le fichier ne existe pas déjà. Un message d'avertissement a été affiché mais le Wrapper serait continuer à utiliser le fichier journal par défaut. Il y avait un problème dans le message affiché qui a causé un accident sur certaines plateformes comprennent Mac OSX. Introduit dans la version 3.5.5.
- Correction d'un problème sur les plateformes Windows où le Wrapper plantait si elle ne pouvait pas accéder au répertoire de l'wrapper.logfile configuré. Introduit dans la version 3.5.5. Bug # 3087424.
- Améliorer la façon avertissements sont enregistrés quand il ya des problèmes pour écrire sur l'wrapper.logfile configuré de sorte que le message va maintenant être connecté dans le fichier journal que le Wrapper finit par utiliser au cas où il réussit à retomber à un journal par défaut fichier.
- Correction d'un problème sur les plateformes Windows où wrapper.java.additional. propriétés qui ont été spécifiés sur la ligne de commande, et qui contenaient des espaces, ne étaient pas correctement lorsque requoted construire la ligne de commande Java. Introduit dans la version 3.3.6.
- Correction d'un problème où le message d'avertissement connecté pour les valeurs invalides de la wrapper.java.additional. la propriété, contenait le texte corrompu. Introduit dans la version 3.3.6.
- Correction d'un problème sur les plateformes UNIX, où une valeur non valide pour le wrapper.java.additional. propriété a été correctement signalés et ensuite sauté, mais la ligne de commande résultant de lancer la JVM eu une valeur vide qui causait la JVM échec de lancer. Une valeur non valide est une valeur qui ne commence pas par un & quot; - & quot; caractère.
- Ajouter une nouvelle variable d'environnement WRAPPER_INIT_DIR qui peut être utilisé pour référencer le répertoire de travail à partir de laquelle l'Wrapper a été lancé. Cela est nécessaire pour certaines applications car le Wrapper change toujours son répertoire de travail à l'emplacement du binaire Wrapper.
- Modifier le script shell UNIX de sorte qu'il ne modifie plus le répertoire de travail courant à l'emplacement du script. Ce ne est plus nécessaire parce que le Wrapper a été de changer le répertoire de travail à son propre emplacement depuis la version 3.2.0.
- Ajoutez une nouvelle propriété de wrapper.request_thread_dump_on_failed_jvm_exit.delay pour contrôler combien de temps le Wrapper attendra après avoir fait un thread dump avant de tuer le processus Java. Ce retard a toujours été codé en dur à 5 secondes.
- Nettoyer le texte de plusieurs messages d'avertissement sur les valeurs de configuration invalides pour les rendre plus cohérente.
- (Professional Edition)
- Ajoutez une nouvelle propriété de wrapper.jvm_kill.delay qui permet de contrôler la quantité de temps pour permettre entre l'événement de jvm_kill étant tiré et la JVM étant effectivement tué.
Exigences :
- Oracle standard Java Edition Runtime Environment
Commentaires non trouvées