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

Reply via email to