Hi ALRubinger,
Currently my project has grown from 3 modules to 7 modules.
And my entity classes that is used by more than one session bean is scattered over the 7
jar file. It makes hot deployment running slow and surely slowing the development process.
So I tried your setup.
Here's my first packaging build.xml :
| <?xml version="1.0"?>
|
| <!-- =======================================================================
-->
| <!-- JBoss build file -->
| <!-- =======================================================================
-->
|
| <project name="OLIBSE2-SERVER" default="all"
basedir=".">
|
| ......
|
| <!-- =================================================================== -->
| <!-- Pack the CIF Module -->
| <!-- =================================================================== -->
| <target name="olibse2-cif" depends="compile">
| <jar jarfile="build/olibse2-cif.ejb3">
| <fileset dir="${build.classes.dir}">
| <include name="com/cip/olibse2/domain/cif/*.class" />
| <include name="com/cip/olibse2/cif/*.class" />
| </fileset>
| <fileset dir="${src.resources}/">
| <include name="META-INF/persistence.xml" />
| </fileset>
| </jar>
| <copy file="build/olibse2-cif.ejb3"
todir="${jboss.home}/server/default/deploy" />
| </target>
|
| <!-- =================================================================== -->
| <!-- Pack the CurrentAccount Module -->
| <!-- =================================================================== -->
| <target name="olibse2-ca" depends="compile">
| <jar jarfile="build/olibse2-current.ejb3">
| <fileset dir="${build.classes.dir}">
| <include
name="com/cip/olibse2/serahterimamodal/server/domain/*.class" />
| <include name="com/cip/olibse2/funding/saving/server/domain/*.class"
/>
| <include name="com/cip/olibse2/config/server/domain/*.class" />
| <include name="com/cip/olibse2/funding/current/server/*.class" />
| <include name="com/cip/olibse2/funding/saving/server/domain/*.class"
/>
| <include name="com/cip/olibse2/cif/server/domain/*.class" />
| <include name="com/cip/olibse2/cif/server/OperationResult.class"
/>
| <include name="com/cip/olibse2/funding/current/server/domain/*.class"
/>
| <include
name="com/cip/olibse2/funding/current/server/exceptions/*.class" />
| <include name="com/cip/olibse2/approval/server/AuthSchema.class"
/>
| <include name="com/cip/olibse2/security/server/User.class" />
| </fileset>
| <fileset dir="${src.resources}/">
| <include name="META-INF/persistence.xml" />
| </fileset>
| </jar>
| <copy file="build/olibse2-current.ejb3"
todir="${jboss.home}/server/default/deploy" />
| </target>
|
| <!-- =================================================================== -->
| <!-- Pack the Configuration Module -->
| <!-- =================================================================== -->
| <target name="olibse2-config" depends="compile">
| <jar jarfile="build/olibse2-config.ejb3">
| <fileset dir="${build.classes.dir}">
| <include
name="com/cip/olibse2/serahterimamodal/server/domain/*.class" />
| <include name="com/cip/olibse2/cif/server/domain/*.class" />
| <include name="com/cip/olibse2/funding/saving/server/domain/*.class"
/>
| <include name="com/cip/olibse2/config/server/*.class" />
| <include name="com/cip/olibse2/config/server/domain/*.class" />
| <include name="com/cip/olibse2/cif/server/OperationResult.class"
/>
| <include name="com/cip/olibse2/approval/server/AuthSchema.class"
/>
| <include name="com/cip/olibse2/security/server/User.class" />
| </fileset>
| <fileset dir="${src.resources}/">
| <include name="META-INF/persistence.xml" />
| </fileset>
| </jar>
| <copy file="build/olibse2-config.ejb3"
todir="${jboss.home}/server/default/deploy" />
| </target>
|
| <!-- =================================================================== -->
| <!-- Pack the Transaction Module -->
| <!-- =================================================================== -->
| <target name="olibse2-tx" depends="compile">
| <jar jarfile="build/olibse2-tx.ejb3">
| <fileset dir="${build.classes.dir}">
| <include
name="com/cip/olibse2/serahterimamodal/server/domain/*.class" />
| <include name="com/cip/olibse2/cif/server/domain/*.class" />
| <include name="com/cip/olibse2/funding/saving/server/domain/*.class"
/>
| <include name="com/cip/olibse2/transaction/server/*.class" />
| <include name="com/cip/olibse2/transaction/server/domain/*.class"
/>
| <include name="com/cip/olibse2/cif/server/OperationResult.class"
/>
| <include name="com/cip/olibse2/approval/server/AuthSchema.class"
/>
| <include name="com/cip/olibse2/security/server/User.class" />
| </fileset>
| <fileset dir="${src.resources}/">
| <include name="META-INF/persistence.xml" />
| </fileset>
| </jar>
| <copy file="build/olibse2-tx.ejb3"
todir="${jboss.home}/server/default/deploy" />
| </target>
|
| </project>
As you can see, 20 classes under com/cip/olibse2/cif/server/domain/ is used on every
module. So, i changed the configuration as you suggested to speed up the hot deployment:
| <!-- =================================================================== -->
| <!-- Pack the Entity Classes -->
| <!-- =================================================================== -->
| <target name="olibse2-entity" depends="compile">
| <jar jarfile="build/olibse2-entity.jar">
| <fileset dir="${build.classes.dir}">
| <include name="com/cip/olibse2/funding/current/server/domain/*.class"
/>
| <include name="com/cip/olibse2/funding/saving/server/domain/*.class"
/>
| <include name="com/cip/olibse2/cif/server/domain/*.class" />
| <include name="com/cip/olibse2/security/server/EcUserMenu.class"
/>
| <include name="com/cip/olibse2/security/server/EcUserMenuId.class"
/>
| <include name="com/cip/olibse2/transaction/server/domain/*.class"
/>
| <include name="com/cip/olibse2/config/server/domain/*.class" />
| <include
name="com/cip/olibse2/serahterimamodal/server/domain/*.class" />
| </fileset>
| <fileset dir="${src.resources}/">
| <include name="META-INF/persistence.xml" />
| </fileset>
| </jar>
| <copy file="build/olibse2-entity.jar"
todir="${jboss.home}/server/default/deploy" />
| </target>
|
| <target name="olibse2-cif-service" depends="compile">
| <jar jarfile="build/olibse2-cif-service.jar">
| <fileset dir="${build.classes.dir}">
| <include name="com/cip/olibse2/cif/server/*.class" />
| <include name="com/cip/olibse2/cif/server/exceptions/*.class" />
| <include name="com/cip/olibse2/approval/server/AuthSchema.class"
/>
| </fileset>
| <fileset dir="${src.resources}/">
| <include name="META-INF/persistence.xml" />
| </fileset>
| </jar>
| <copy file="build/olibse2-cif-service.jar"
todir="${jboss.home}/server/default/deploy" />
| </target>
|
| .... // other services
|
|
The new configuration really made the hot deployment alot faster :D. But one big problem
arose :(. The session bean in olibse2-cif-service.jar cannot found the entities which was
packed in olibse2-entity.jar. I'have tried using ear configuration with an
application.xml, but it didn't solve the problem. Is there anything I missed? Please
help.
Best regards,
Bustanil
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3996235#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...