Vous avez un problème de Glassfish étrange ici. Voici comment reproduire:Comment changer le port Admin sur Glassfish dans un script
(1) Installez Glassfish v3
(2) Commencez votre domaine par défaut:
$GLASSFISH_HOME/bin/asadmin start-domain domain1
(3) Changer le port d'administration (vous devez entrer uid admin & mot de passe, dans notre script que nous utilisons les paramètres -W -u &):
$GLASSFISH_HOME/bin/asadmin set configs.config.server-config.network-config.network-listeners.network-listener.admin-listener.port=34848
(4) Arrêter le domaine:
$GLASSFISH_HOME/bin/asadmin stop-domain domain1
Vous verrez que cela ne fonctionne pas. Vous obtenez:
CLI306 Warning - server is not running.
Command stop-domain executed successfully.
Mais votre processus Glassfish est toujours en cours. Pire, lorsque vous essayez de démarrer le processus, vous obtenez un avertissement que certains de vos ports sont déjà utilisés. Bien sûr qu'ils le sont, le vieux processus les a encore! Votre seul moyen de sortir est killall -9 java
Alors que certains des changements de configuration sont dynamiques, il semble que ce ne l'est pas, mais l'arrêt de domaine suppose qu'il est dynamique et utilise le nouveau port pour essayer et exécuter la commande.
solutions possibles sont les suivantes:
(1) Utilisez sed
sur domain.xml
- préféreraient ne pas car il est compliqué & Grepping risqué par le code XML. J'ai vu Glassfish changer l'ordre des attributs dans ce fichier afin que nous ne puissions pas simplement sed pour port="4848"
(2) Utilisez le programme d'installation par script plutôt que le fichier zip et alimentez les paramètres du programme d'installation en tant que fichier de réponse - ceci est problématique pour nos scripts d'installation qui doivent être puissants.
(3) Utilisez un zip personnalisé de l'archive d'installation de Glassfish avec domain.xml déjà changé - pas une option car le port que nous définissons peut changer dans le futur.
C'est presque la définition d'un cas de coin mais nous devons le résoudre. Pour l'instant, nous allons sed domaine.xml mais il serait bon de savoir si il y avait un moyen qui est possible via l'interface de ligne de commande.
Duh ... merci -toi! –