2009-11-03 2 views
0

J'ai un fichier d'oreille qui contient 4 fichiers war. La principale raison pour laquelle nous les mettons ensemble, c'est que l'ordre de démarrage est important, et c'est plus facile du point de vue du déploiement (le client n'a qu'un seul fichier et ne doit pas s'inquiéter des versions qui fonctionnent ensemble).Comment inhiber le démarrage du fichier WAR dans le fichier EAR de manière configurative?

Les fichiers ear vont être déployés sur 4 systèmes différents, ce qui est un peu différent, donc sur deux des serveurs l'une des applications de guerre n'a même pas besoin d'être démarrée.

L'environnement d'exécution est JBOSS 4.2.2.

Par conséquent ma question est: Quelles sont mes options pour empêcher le fichier war de démarrer, si je veux le configurer via les propriétés définies dans properties-service.xml?

Une autre option, parce que les applications sont en fait des applications de ressorts, serait d'empêcher le démarrage de ContextLoaderListener, mais ici, je n'ai aucune idée de comment faire cela via la configuration.

Répondre

1

Les fichiers WAR, incorporés dans un fichier EAR, ne sont pas déployés en tant qu'applications Web à moins qu'ils ne soient définis en tant que modules dans le descripteur de déploiement application.xml du fichier EAR. Si vous utilisez des descritors de déploiement spécifiques à JBoss au lieu des descripteurs standard J2EE, vous devez modifier la configuration à la place.

1

Vous pouvez ajouter la liste dans la guerre META-INF/application.xml

<application xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/application_5.xsd" version="5"> 

    <module> 
    <web> 
     <web-uri>war1.war</web-uri> 
     <context-root>/war1</context-root> 
    </web> 
    </module> 
    <module> 
    <web> 
     <web-uri>war2.war</web-uri> 
     <context-root>/war2</context-root> 
    </web> 
    </module> 


    <library-directory>lib</library-directory> 

</application> 

Le contexte du printemps dans la guerre ne sera pas utilisé pour commencer. Vous obtiendrez un contexte applicaton de printemps par guerre. (sauf si vous utilisez le contexte partagé)

Questions connexes