jdeveloper_适用于JDeveloper 11gR2的Glassfish插件
jdeveloper
眾所周知, ADF Essentials是使用Java構建Web應用程序的絕佳框架,它可以自由開發和部署。 您在Glassfish(3.1+)服務器上部署ADF Essentials應用程序。 但是,JDeveloper并不帶有嵌入式Glassfish服務器,而是帶有嵌入式Weblogic服務器。 在本文中,我們將討論在ADF Essentials應用程序開發期間何時使用集成的Weblogic服務器以及何時應使用外部Glassfish服務器。
你需要什么
- JDeveloper 11gR2(11.1.2.3.0)或更高版本。
- Glassfish 3.1或更高版本 。
一旦安裝了上述軟件,就可以開始創建ADF Essentials應用程序。 在線上有大量文檔 :書籍, 教程和視頻可以為您提供幫助。 我的建議是嘗試在開發過程中使用集成的Weblogic服務器,以便您可以直接從JDeveloper調試和運行應用程序。 完成某些功能的開發后,最后在Glassfish服務器上測試開發,如果要開發ADF Essentials應用程序,則這是最可能在生產環境中使用的應用程序服務器。 確保已按照以下說明為ADF Essentials應用程序配置了Glassfish服務器: https : //blogs.oracle.com/shay/entry/deploying_oracle_adf_applications_to
您安裝的JDeveloper版本具有內置功能,可將您的應用程序部署到Glassfish服務器。 但是,必須先啟動服務器,然后才能部署應用程序。 一種方法是在JDeveloper之外使用Glassfish服務器控件(一旦安裝Glassfish,就會安裝它們)。 我推薦的方法是將Glassfish插件用于JDeveloper,以便您可以直接從IDE啟動/停止Glassfish服務器! 該插件是由Shay Shmeltzer創建的,其1.3版已經過修改,可以在Linux上運行(對我來說@aa_lopez ),并且可以在Mac上運行(對David Aroca而言 )。
該插件可以在help-> check中找到更新 。 此處的更多信息: https : //blogs.oracle.com/shay/entry/glassfish_extension_for_oracle_jdeveloper 。 如果要對源代碼做出貢獻,可以在java.net上找到該項目: http : //java.net/projects/jdev-3rd-party-ext/sources/svn-repository/show 。 安裝插件后,JDeveloper會顯示四個新按鈕:
表格從左到右:
- 第一個允許您啟動Glassfish服務器。
- 第二個讓您停止Glassfish服務器。
- 第三個以調試模式啟動Glassfish服務器。
- 第四個啟動Glassfish服務器Web控制臺應用程序。
在開始使用這些新按鈕之前,您必須配置Glassfish服務器的路徑。 為此,請轉到“ 工具”->“首選項”,然后選擇“ Glassfish首選項” :
默認情況下,該插件隨附Windows OS路徑。 因此,如果您使用的是Linux或Mac,則必須更改這些路徑才能使插件按鈕起作用。 就我而言,我使用的是Linux,因此我更改了路徑以匹配安裝Glassfish服務器的路徑。
注意
我必須在啟動命令中添加–verbose選項,否則,Glassfish會立即啟動和停止。
Glassfish Home Directory: /home/aalopez/development/glassfish-3.1.2.2/啟動Glassfish命令:
/home/aalopez/development/glassfish-3.1.2.2/glassfish/bin/asadmin start-domain --verbose domain1停止Glassfish命令:
/home/aalopez/development/glassfish-3.1.2.2/glassfish/bin/asadmin stop-domain domain1在調試模式命令中啟動Glassfish:
/home/aalopez/development/glassfish-3.1.2.2/glassfish/bin/asadmin start-domain --debug=trueGlassfish管理員網址:
http://localhost:4848完成配置后,就可以開始使用JDeveloper的Glassfish服務器了,只是不要關閉在單擊“啟動Glassfish”按鈕時彈出的窗口。
如何處理Weblogic和Glassfish服務器之間的數據源?
使用集成的Weblogic服務器時,JDeveloper會創建一個數據源來訪問數據庫。 該數據源具有以下結構:
java:comp/env/jdbc/DATASOURCE_NAME其中DATASOURCE_NAME是您在配置與數據庫的連接時為數據源提供的名稱。 問題在于Glassfish服務器使用了另一種結構。 當您在Glassfish服務器Web控制臺應用程序中定義數據源時,您可以這樣定義它:
jdbc/DATASOURCE_NAME如果您繼續使用Weblogic和Glassfish服務器運行應用程序,則建議采用以下配置,因此不必在每次更改應用程序服務器時都手動更改數據源結構:在Web Content / WEBINF / web上定義資源。 XML文件
<resource-ref><res-ref-name>jdbc/DATASOURCE_NAME</res-ref-name><res-type>javax.sql.DataSource</res-type><res-auth>Container</res-auth><res-sharing-scope>Shareable</res-sharing-scope> </resource-ref>如Java EE網絡應用部署描述符版本2.5所述:
The res-ref-name element specifies the name of a resource manager connection factory reference. The name is a JNDI name relative to the java:comp/env context. The name must be unique within a web application.因此,我們沒有定義與jdbc / DATASOURCE_NAME關聯的方法,但實際上是在定義java:comp / env / jdbc / DATASOURCE_NAME,它與在應用程序中配置并由Weblogic服務器使用的數據源結構完全匹配。 這實際上是一個好習慣,因為在開發時,您不必擔心部署時數據源的結構或名稱。 您只需在web.xml部署描述符中定義數據源的結構或名稱,然后部署者 (是,進行部署的人員)就可以將該結構或名稱映射到其他內容。 這是在特定于容器的配置文件中完成的,我們將在后面看到。
創建glassfish-web.xml配置文件。 右鍵單擊Web Content / WEB-INF文件夾,然后選擇“ 新建...”選項:
彈出一個窗口,選擇“ 常規”類別,然后選擇“ 文件”選項:
輸入文件名glassfish-web.xml ,并確保此新文件的路徑在WEB-INF文件夾內:
創建文件后,將其打開并輸入以下代碼:
<?xml version='1.0' encoding='UTF-8' ?> <glassfish-web-app><context-root>YOUR_APP_NAME</context-root><property name='useBundledJsf' value='true'/><class-loader delegate='false'/><resource-ref><res-ref-name>java:comp/env/jdbc/DATASOURCE_NAME</res-ref-name><jndi-name>jdbc/DATASOURCE_NAME_AT_GLASSFISH</jndi-name></resource-ref> </glassfish-web-app>在這里,我將在部署時JDeveloper添加到glassfish-web.xml文件的配置復制了。 我還添加了使我們能夠映射數據源的配置。 resource-ref元素是我們將重點放在這篇文章上的內容。 將DATASOURCE_NAME更改為您在web.xml部署描述符中為數據源定義的名稱,并將DATASOURCE_NAME_AT_GLASSFISH更改為在Glassfish Web控制臺應用程序中定義的名稱。
這個怎么運作:
- 我們在web.xml部署描述符中將數據源定義為資源。 請記住,我們正在使用結構jdbc / DATASOURCE_NAME,但實際上意味著我們正在使用java:comp / env / jdbc / DATASOURCE_NAME
- 我們創建了glassfish-web.xml部署描述符。 這是特定于容器的配置文件,當部署到Glassfish服務器時,JDeveloper會自動創建該文件。 但是,如果文件已經存在,則不會被覆蓋。這里我們映射了數據源定義,所以我們告訴Glassfish,當我們在應用程序中尋找java:comp / env / jdbc / DATASOURCE_NAME時,真正的意思是我們在在Glassfish服務器中查找jdbc / DATASOURCE_NAME。
而已。 使用此配置,您不必擔心Weblogic和Glassfish服務器之間的數據源配置差異。 快樂的ADF Essentials編碼。
參考文獻:
- Oracle ADF Essentials 。 Oracle [在線]。可在Internet上找到: http : //www.oracle.com/technetwork/developer-tools/adf/overview/adfessentials-1719844.html [2013年3月24日訪問]。
- 將ADF應用程序部署到GlassFish 。 Oracle [在線]??稍贗nternet上找到: http ://docs.oracle.com/cd/E35521_01/web.111230/e16182/appendix_glassfish.htm#CEGDIGEE [2013年3月28日訪問]。
- Java EE:Java EE部署描述符的XML模式 。 Oracle [在線]。 可在Internet上獲得: http : //www.oracle.com/webfolder/technetwork/jsc/xml/ns/javaee/index.html#5 [2013年3月28日訪問]。
- web.xml中的resource-ref有什么作用? 。 Oracle [在線]。 在Internet上可用: http : //stackoverflow.com/questions/2887967/what-is-resource-ref-in-web-xml-used-for/2888169#2888169
參考:來自Java和ME博客的JCG合作伙伴 Alexis Lopez的JDeveloper 11gR2的Glassfish插件 。
翻譯自: https://www.javacodegeeks.com/2013/04/glassfish-plugin-for-jdeveloper-11gr2.html
jdeveloper
總結
以上是生活随笔為你收集整理的jdeveloper_适用于JDeveloper 11gR2的Glassfish插件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Spring MVC和REST中@Res
- 下一篇: 特斯拉计划今年从印度采购17亿至19亿美