Eclipse+Ant開發EJB的三個習慣
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。
?
?
?
posted on 2007-11-19 14:32 david.turing 閱讀(3959) 評論(1) 編輯 收藏 所屬分類: Java日積月累