具有NetBeans,WebLogic 12c,JPA和MySQL数据源的Arquillian
我要做的下一步是使此設(shè)置與最新的WebLogic 12c一起使用。
入門
按照我的前兩個帖子的入門部分中的步驟進行操作。 要使此工作正常,您只需更改幾件事。 顯然,您需要一個WebLogic 12c。 從OTN下載頁面復(fù)制副本。 閱讀并接受許可,然后下載適用于您操作系統(tǒng)的ZIP安裝程序或完整安裝程序。 Arun Gupta有一篇不錯的文章,介紹如何開始使用ZIP安裝程序 。 這基本上是關(guān)于下載,提取,配置和創(chuàng)建您的域。 假設(shè)您有一個domain1。 確保將mysql-connector-java-5.1.6-bin.jar復(fù)制到domain1 / lib并通過domain1根目錄中的startWebLogic.cmd / .sh啟動服務(wù)器。 接下來,您需要配置適當?shù)倪B接池。 您也可以使用一些WLST魔術(shù)或新的WebLogic Maven插件來執(zhí)行此操作,但是我認為您是通過管理控制臺來執(zhí)行此操作的。 轉(zhuǎn)到“域>服務(wù)>數(shù)據(jù)源”,并使用jndi名稱“ jdbc / auditlog”創(chuàng)建一個MySQL數(shù)據(jù)源AuditLog。 執(zhí)行測試時,請確保服務(wù)器正在運行!
修改sampleweb項目
現(xiàn)在打開sampleweb項目的pom.xml并刪除glassfish-embedded-all所有依賴項以及arquillian-glassfish-embedded-3.1和javaee-api。 現(xiàn)在添加wls-remote-12.1容器和jboss-javaee-6.0依賴項:
現(xiàn)在打開arquillian.xml描述符并更改容器設(shè)置以使用wls容器:
lt;container qualifier="wls" default="true"><configuration><property name="adminUrl">t3://localhost:7001</property><property name="adminUserName">weblogic1</property><property name="adminPassword">weblogic1</property><property name="target">AdminServer</property><property name="wlsHome">X:\path\to\wlserver\</property></configuration>確保使用正確的目標服務(wù)器并指向正確的wlsHome。 右鍵單擊NetBeans中的AuditRepositoryServiceTest,然后運行“測試文件”。 您將看到遠程容器正在做一些工作:
22.01.2012 22:40:34 org.jboss.arquillian.container.wls.WebLogicDeployerClient部署
信息:啟動weblogic.Deployer部署測試工件。
22.01.2012 22:40:46 org.jboss.arquillian.container.wls.WebLogicDeployerClient forkWebLogicDeployer 信息:weblogic.Deployer似乎已成功終止。 22.01.2012 22:40:53 org.jboss.arquillian.container.wls.WebLogicDeployerClient取消部署 信息:啟動weblogic.Deployer取消部署測試工件。 22.01.2012 22:41:00 org.jboss.arquillian.container.wls.WebLogicDeployerClient forkWebLogicDeployer 信息:weblogic.Deployer似乎已成功終止。
而且測試呈綠色! 如果查看域日志,可以看到test.war模塊已成功部署和取消部署。
言論與思想
看一下WebLogic 12c(特別是新的maven插件)所具有的功能,這一切似乎都是手工制作的。 在基于Maven的項目中,WebLogic開發(fā)人員在此之前會做什么? 他將把weblogic.jar推送到本地存儲庫中并使用它,而不是使用任何jboss-javaee-6.0或javaee-api依賴項。 如果使用Arquillian wls容器嘗試此操作,您將開始看到一些奇怪的異常,如下所示:
加載類:javax.transaction.SystemException
線程“ main”中的異常java.lang.ClassFormatError:缺少代碼
類文件中不是本機或抽象的方法中的屬性 javax / transaction / SystemException
這基本上是因為只有wlfullclient.jar包含了通過JMX進行遠程管理所需的所有類。 神奇的weblogic.jar的清單中確實有一些其他的類路徑條目,如果將其放在本地m2存儲庫中則無法解析。 因此,您只剩下兩個選擇。 使用wlfullclient.jar( 請參閱如何在docs中構(gòu)建它 )進行測試,并使用weblogic.jar進行開發(fā),或者使用jboss-javaee-6.0依賴項進行開發(fā)和測試(提供了作用域)。 兩者都是有效的替代方法。 如您所見, Arquillian文檔中仍未記錄WebLogic容器。 您可以在github上的wls-container項目中找到更詳細的文檔。
下載simpleweb-wls.zip項目作為參考,以幫助您入門。
感謝Vineet和Aslak的幫助!
參考: Arquillian與NetBeans,WebLogic 12c,JPA和來自我們JCG合作伙伴 Markus Eisele 的MySQL數(shù)據(jù)源在Java的企業(yè)軟件開發(fā)博客上。
翻譯自: https://www.javacodegeeks.com/2012/01/arquillian-with-netbeans-weblogic-12c.html
總結(jié)
以上是生活随笔為你收集整理的具有NetBeans,WebLogic 12c,JPA和MySQL数据源的Arquillian的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 简述ddos攻击的过程包括(简述DDOS
- 下一篇: 使用Cobertura,JUnit,HS