[jboss-dev-forums] [Design of JBoss ESB] - Subdeployments for AS 5
beve
do-not-reply at jboss.com
Thu Aug 13 07:41:44 EDT 2009
Prior to AS 5 sub-deployments in an .esb archive could be located anywhere, in the root, in a subdirectory somewhere.
This has changed with AS 5 and this post is meant to list the options that users have when upgrading.
This really only effects users that currently have sub-deployments in a sub-directory. For those that have sub-deployments in the root of the .esb archive nothing needs to be done.
We are now defining a GroupStructure in deployers/esb.deployers/META-INF/esb-deployers-jboss-beans.xml:
| <bean name="GroupingStructure" class="org.jboss.soa.esb.listeners.deployers.mc.GroupingStructure">
| <property name="shortCircuitFilter">
| <inject bean="EsbFilter"/>
| </property>
| <property name="metaDataPaths">
| <array elementClass="java.lang.String">
| <value>META-INF</value>
| <value>.</value>
| </array>
| </property>
| <property name="libs">
| <set elementClass="java.lang.String">
| <value>.</value>
| <value>jars</value>
| </set>
| </property>
| <property name="libFilter">
| <inject bean="JarFilter"/>
| </property>
| <property name="groups">
| <set elementClass="java.lang.String">
| <value>.</value>
| <value>wars</value>
| </set>
| </property>
| <property name="groupFilter">
| <inject bean="WarFilter"/>
| </property>
| </bean>
|
| <bean name="EsbFilter" class="org.jboss.soa.esb.listeners.deployers.mc.util.VfsFileFilter">
| <constructor>
| <parameter>.esb</parameter>
| </constructor>
| </bean>
|
| <bean name="JarFilter" class="org.jboss.soa.esb.listeners.deployers.mc.util.VfsFileFilter">
| <constructor>
| <parameter>.jar</parameter>
| </constructor>
| </bean>
|
| <bean name="WarFilter" class="org.jboss.soa.esb.listeners.deployers.mc.util.VfsFileFilter">
| <constructor>
| <parameter>.war</parameter>
| </constructor>
| </bean>
|
So by default we can have jars in either the root, or in a sub directory named 'jars'.
And we can have wars in either the root, or in a sub directory named 'wars'.
In the cases where users want to have wars (or other types of deployments) in sub-directories that have different names. they have the following options:
1. Renaming their sub directory to 'wars'.
2. Adding their sub directory names to the 'groups' list above.
3. Add a META-INF/jboss-structure.xml to their .esb archive:
Code:
<?xml version="1.0" encoding="UTF-8"?>
| <structure>
| <context>
| <path name=""/>
| <metaDataPath>
| <path name="META-INF"/>
| <path name="."/>
| </metaDataPath>
| <classpath>
| <path name=""/>
| <path name="." suffixes=".jar"/>
| </classpath>
| </context>
| <context>
| <path name="subdir/testwar.war"/>
| <metaDataPath>
| <path name="WEB-INF"/>
| </metaDataPath>
| <classpath>
| <path name="subdir/testwar.war/WEB-INF/classes"/>
| </classpath>
| </context>
| </structure>
4. Last resort (because of the negative performance impact) activate the DirectoryStructure by uncommenting it in deployers/directory-deployer-jboss-beans.xml. It should be noted that this will effect all deployments in the server and I would think that any of the other options would be better.
The jira for this: https://jira.jboss.org/jira/browse/JBESB-2655
/Daniel
View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4249393#4249393
Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4249393
More information about the jboss-dev-forums
mailing list