2015-09-24 2 views
4

Je ne pense pas que ce soit spécifique à la version mais je vais spécifier que je suis sur Immutant 2.1.0 et Wildfly 9.0.1.Final.Déploiement de plusieurs fichiers WAR immuents sur Wildfly

Je commence avec un stock, fraîchement décompressé téléchargement wildfly et exécutez-le avec $ wildfly-9.0.1.Final/bin/standalone.sh. Je $ lein immutant war courir dans mon projet clojure avec ce qui suit dans mon project.clj:

:immutant {:war {:destination "/srv/wildfly-9.0.1.Final/standalone/deployments/" 
       :context-path "/app1}} 

Cela fonctionne bien et j'ai mon application à http://localhost:8080/app1. Le problème est quand je le fais avec une deuxième application avec :context-path "/app2", se plaint wildfly:

>Caused by: org.jboss.msc.service.DuplicateServiceException: 
Service jboss.pojo.\"org.jboss.netty.internal.LoggerConfigurator\".DESCRIBED 
is already registered" 

Si je fais ce processus avec App2 avant app1, App2 correctement mais obtient déployé app1 obtient une plainte. Les deux peuvent être déployés individuellement, mais pas en même temps.

Je ne sais pas s'il me manque une étape à WAR temps ou la configuration wildfly manquant ou quoi.

+0

Cela ressemble à un bug dans Immutant en essayant d'installer un serveur avec le même nom deux fois. –

+0

@ JamesR.Perkins Voir ma réponse ci-dessous. Est-ce une évaluation correcte? Y a-t-il une meilleure façon de contourner le problème? –

Répondre

2

Cela est dû au fait que le fichier netty contient un fichier jboss-beans.xml, détecté par le sous-système "pojo" dans WildFly, et utilisé pour configurer un bean LoggerConfigurator. Chaque application doit avoir une dépendance à Netty (probablement en mode Transitionnel), ce qui fait que WildFly tente de déployer deux fois le même bean. Une solution de contournement consiste à désactiver le sous-système pojo dans WildFly en modifiant le fichier standalone/configuration/standalone*.xml approprié et en commentant le sous-système pojo (vous devrez peut-être commenter à la fois <extension module="org.jboss.as.pojo"/> et <subsystem xmlns="urn:jboss:domain:pojo:1.0"/>).

+0

Je suppose que vous pouvez utiliser immutant le 'jboss-deployment-structure.xml' aussi bien? Si c'est le cas, il peut également être utilisé pour exclure le sous-système 'pojo'. Bien que l'enlever si elle n'est pas utilisée est bien aussi. –

+0

Oui, nous incluons un 'jboss-deployment-structure.xml' dans la guerre pour configurer les dépendances du module pour l'application, et permettre à l'utilisateur d'en fournir un personnalisé, ce qui serait une autre option. J'avais oublié que les sous-systèmes pourraient être désactivés à partir de là. –

+0

Sinon, supprimez la dépendance à netty.jar et réintroduisez-la via jboss-deployment-structure.xml et faites référence au module org.jboss.netty. – Christian13467

0

J'ai eu un problème similaire, lorsque j'essayais de déployer deux applications sur jboss avec hornetq-jms-server. La cause première était un jboss-beans.xml supplémentaire dans le pot de netty. Je ne suis pas sûr dans quelle version exactement a été enlevé, mais en passant à hornet 2.4.7.Final, qui utilise netty-all 4.0.13.Final a fait le travail. Voici les informations sur le défaut https://github.com/netty/netty/issues/1996