1 votes

Redéploiement du serveur d'applications JBoss

J'ai besoin d'un shell Windows script qui redéploiera mon fichier .ear. J'en ai écrit un :

net stop "JBAS50SVC"
copy /y O:\TEMP\app.ear C:\jboss-4.2.3.GA\server\default\deploy\app.ear
net start "JBAS50SVC"

Mais le problème est que lorsque j'essaie d'arrêter le service JBoss, il ne se décharge pas complètement (comme je l'ai suggéré), de sorte que lorsque je le démarre, aucune application n'est déployée dans JBoss.

2voto

pra Points 1786

Vous avez mentionné que JBoss devient très lent lorsque vous utilisez autoDeploy et que vous laissez le serveur fonctionner pendant un mois ou plus. Cela est probablement dû au fait que votre mémoire de génération permanente se remplit au fil du temps. Voir cette question connexe .

Je pense que le mieux serait d'utiliser la fonction de déploiement automatique comme d'autres le suggèrent, et de redémarrer périodiquement l'ensemble du serveur pour vider PermGen. Il existe plusieurs façons de suivre l'utilisation de PermGen ; j'ajoute ce qui suit à JAVA_OPTS dans run.conf :

-XX:+PrintGCTimeStamps -XX:+PrintHeapAtGC -XX:+PrintTenuringDistribution -Xloggc:$LOGDIR/gc.log

1voto

Pablo Santa Cruz Points 73944

Vous pouvez simplement COPIER/RENOMMER le fichier EAR dans le répertoire de déploiement. JBoss s'occupera automatiquement du redéploiement pour vous.

1voto

Stefan Ernst Points 944

Comme mentionné précédemment, jboss déploie automatiquement tout ce que vous copiez dans le répertoire deploy par défaut.

Sinon, vérifiez si vous travaillez sur un serveur virtuel qui ne déploie pas automatiquement les fichiers d'oreille.

<Host name="vhost2" autoDeploy="false" .... />

à part cela, j'ai l'impression qu'il s'agit d'une erreur totalement différente du fait que jboss s'occupe du déploiement pour vous. Veuillez vérifier les fichiers journaux pour les erreurs de démarrage de votre application.

1voto

Yishai Points 42417

En général, pour redéployer une application qui est contenue dans une oreille dans Jboss, il suffit de remplacer l'oreille. Si l'application comporte d'autres éléments (comme des classes qui doivent être placées dans le répertoire jboss lib), il peut être nécessaire de la redémarrer.

En ce qui concerne la façon de le redémarrer, cela dépend de ce que vous utilisez pour démarrer jboss en tant que service. Certains démarreurs de service ne contrôlent pas réellement le jvm après l'avoir démarré, donc le redémarrage du service ne fait que démarrer une deuxième instance. Vous pouvez arrêter jboss avec le script shutdown script dans le répertoire JBOSS_HOME/bin (shutdown.bat), puis déployer et redémarrer le service. Veillez à faire une pause lorsque vous faites cela, car comme la commande shutdown émet la demande d'arrêt, le serveur peut être encore en cours d'exécution.

0voto

matt b Points 73770

Vous pouvez vérifier le Wiki de la communauté JBoss à ce sujet, il existe sans doute des méthodes plus faciles et plus fiables qu'un fichier batch.

L'arrêt du serveur ne devrait pas annuler le déploiement de l'application - cela n'aurait pas beaucoup de sens.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X