Eclipse+Ant开发EJB的三个习惯

来源: 作者:佚名 2008-01-23 出处:pcdog.com

  • eclipse
  • java
  • xml
  •   EJB,如果只是使用Stateless EJB,那么,开发还是很简单的

      1,玩EJB, Ant是必不可少的工具,Eclipse中,导入了WLHOME/server/lib下的weblogic.jar到Eclipse的Ant Classpath后,许多增强的Ant Task便随手可得,在Eclipse的Ant Viewer中开发EJB,也特别简单。

      在build.xml中加入wlcompile,wlappc

        <taskdef name="wlcompile" classname=
    "weblogic.ant.taskdefs.build.WLCompileTask"/>
        <taskdef name="wlappc" classname="weblogic.ant.taskdefs.j2ee.Appc"/>


         <!-- 编译产生所有的.ejb,并且产生相应的接口类  -->
      <target name="compile" depends="prepare">
       <wlcompile srcdir="$src}" destdir="${build.dir}" includes="${ejb.name}">
                <ejbgen source="${sourceVersion}" />
                <javac deprecation="${deprecation}" />
                <javac debug="${debug}" />
         </wlcompile>        
        </target>

      wlcompile太自动化了,根据你的ejb的bean的annotation自动生成ejb-jar.xml和weblogic-ejb-jar.xml(如果你使用了CMP,连weblogic-cmp-rdbms-jar.xml也是自动生成的),他们会放置於META-INF目录里面。另外,wlcompile也会根据你的@JndiName的Local和Remote接口生成weblogic-ejb-jar.xml的对应的JNDI名。

      基本上,初期调优的时候,你很依赖於weblogic-ejb-jar.xml,包括对initial-beans-in-free-pool,max-beans-in-free-pool,trans-timeout-seconds等等的设置。

      wlappc是生成weblogic端的Impl class,这个基本不管我的事了。

      <!—— 产生Weblogic端的Stub实现类 ——>

      <target name="build.ear" depends="compile">

      <wlappc source="${build.dir}" debug="${debug}" deprecation="${deprecation}" />

      </target>

      最后,把EJB的Bean以及实现类,plus生成的META-INF一同打包成一个jar文件,当然,这是winzip都可以做的事情。

        <!-- Jar出EJB包 -->
         <target name="EJB_JAR" depends="build.ear">
            <jar jarfile="mystatelessSession.jar"
              basedir="${build.dir}/${ejb.name}"
              update="yes">
            </jar>
         </target>

      2,充分利用weblogic的wldeploy方法,直接在Weblogic上部署和反部署(这几乎是不可或缺的)

          <target name="deploy">    
              <wldeploy  action="deploy"
                  verbose="true" debug="true"     
                  name="MYEJB" source="mystatelessSession.jar"    
                user="weblogic" password="weblogic"     
                  adminurl="t3://localhost:7001" targets="AdminServer" /> 
          </target>
       
          <target name="undeploy">   
              <wldeploy  action="undeploy"
                  verbose="true" debug="true"     
                  name="MYEJB"
                user="weblogic" password="weblogic"     
                  adminurl="t3://localhost:7001" targets="AdminServer" /> 
          </target>

      一般来说,抽取一些共同的特性,比如Weblogic的url, username, password到properties文件中,把一些通用的Ant Task抽取到一些公用的Ant Task文件去,然后用Ant Call来调用,可以让很复杂的Ant Build文件变得简单些,最后,把这些Ant Build文件做成模板(template),可以减少更多无谓的编辑时间。

      3,Eclipse中,建议创建EJB Project,因为这些Project可以让。ejb后缀的文件被Java Editor打开,起码那些EJB的Annotataion能够容易识别和编辑(自动化)。EJB Project其实是普通的Java Project多了EJB的Project facets.

      创建完Weblogic域之后,按照上述三点铺垫好Eclipse环境,剩下就是开发自己的EJB.


    更多内容请看PCdog.com--Eclipse 开发技术专题
    上一篇:争论:Java是否应该停止增加新特性
    下一篇:Sun宣布10亿美元收购MySQL