我們需要使這個腳本編譯Java類,將它們封裝至EJB模塊和EAR中,然后在 Weblogic Server上部署和撤除它們,并運行 JUnit測試。
由于在切換提供者的時候會有些細微的變化,所以使得這種例行任務的標準構建文件有些復雜。每個提供者使用persistence.xml都有所不同。單獨的配置文件位于META-INF/hibernate和META-INF/kodo中,構建腳本負責在可部署的包中包含正確的配置。同樣,構建腳本使用提供者的邏輯名(例如,hibernate-ejb.jar、kodo-ejb.jar或openjpa-ejb.jar)創建EJB模塊。
構建的另一個重要的方面是OpenJPA 和Kodo都要求一個編譯后增強的步驟?梢允褂 Cjavaagent將這個編譯后的步驟放到運行時,但是我更愿意用構建腳本進行增強,而不是用 Cjavaagent請求Weblogic server。您可以在 OpenJPA用戶手冊 中獲得有關增強的更多內容。
為了條件執行,build.xml中將含有一個<target name="check-provider">。
將通過有效的提供者名稱調用這個構建腳本
$ ant -Dprovider=hibernate hibernate、kodo和openjpa都是有效的提供者值。
默認的構建目標將清理、編譯、有條件地增強、封裝和撤除先前的部署(如果有的話),并且部署、運行測試和報告錯誤(如果有的話)。
通過 build.properties 文件您指定 ${bea.home}和用戶憑證等作為您的環境配置腳本。
為了進行部署,構建腳本用以下內容封裝了JPAService.ear:
$ jar tvf JPAService.ear
106 Sat Jun 23 01:33:00 CDT 2007 META-INF/MANIFEST.MF
414 Sat Jun 23 01:33:02 CDT 2007 META-INF/application.xml
2755 Sat Jun 23 01:33:02 CDT 2007 hibernate-ejb.jar 在JEE歷史上,最簡單的Enterprise Application Archive有一個單獨的EJB模塊,如以下的application.xml 所示(為便于可讀性,并未包含的XML頭部和命名空間聲明):
<application>
<display-name>EJB3 Sample Application</display-name>
<module>
<ejb>hibernate-ejb.jar</ejb>
</module>
</application>
EJB模塊hibernate-ejb.jar看上去不錯吧?
$ jar tvf hibernate-ejb.jar
106 Sat Jun 23 01:33:00 CDT 2007?META-INF/MANIFEST.MF
文章來源于領測軟件測試網 http://www.kjueaiud.com/