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。