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#3996235
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3996235
_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user