使用Oracle WebLogic创建部署计划
創建部署計劃
部署計劃是JSR-88部署標準的一部分,盡管在該標準中未明確說明。 部署計劃是一個XML文檔,用于定義自定義WebLogic Server部署環境。 此配置可用于覆蓋在應用程序歸檔文件中定義的特定設置。
有許多原因可能導致您不希望修改應用程序存檔的原因,其中之一就是測試。 例如,如果您已經成功完成了對特定版本應用程序的測試,則希望在環境之間保持應用程序存檔不變,這樣您就可以更有信心地確定應用程序在多個環境中的行為與所推廣的相同。 另一個原因可能是可移植性。 您可以擁有一個不帶專有部署描述符的通用JEE應用程序存檔,并將所有這些專有部署描述符值放在該存檔之外。
創建部署計劃有幾種選擇:首先,將環境設置為包括WLS類路徑:
C:\wls1211_dev\user_projects\domains\base_domain\bin>setDomainEnv.cmd然后,您可以使用PlanGenerator實用程序為您的應用程序創建部署計劃
java weblogic.PlanGenerator -all WLSDemo.earGenerating plan for application WLSDemo.ear Export option is: all Exporting properties... Saving plan to C:\wls1211_dev\user_projects\domains\base_domain\bin\plan.xml... <8-ago-2012 11.52.48 CEST> <Info> <J2EE Deployment SPI> <BEA-260072> <Saved configuration for application, WLSDemo.ear>讓我們檢查文件plan.xml ,其中包含所有應用程序特定的設置。 我們不會在此處包含整個plan.xml文件,這非常冗長; 但是,我們將作為示例介紹如何自定義其中包含的一些參數。
部署計劃是一個XML文件,該文件基本上使用唯一名稱定義一些變量,并將變量值分配給自定義部署描述符的特定元素。 使用XPath表達式來引用特定的XML元素。
示例:定制Web應用程序根上下文
打開文件plan.xml文件,并使用文本編輯器進行編輯。 接下來,找到以下<variable>元素:
<variable><name>WeblogicWebApp_ContextRoots_xxxxxxxxxxxxxx</name><value xsi:nil="true"></value> </variable>請注意,xxxxxxxxxxxxxx實際上將是計劃生成器創建的唯一標識符,以便為變量定義唯一名稱。 在下面的示例中,我們將其替換為有意義的名稱,該名稱將通過文件進行引用。
現在,編輯上面的代碼段部分,使其如下所示:
<variable><name>WeblogicWebApp_CustomContext</name><value>/newcontext</value> </variable>在文件的下方,找到<variable-assignment>元素,該元素指向“ weblogic-web-app / context-root” XPath表達式,并將變量名稱更改為:“ WeblogicWebApp_CustomContext”,以使其與您的變量匹配:
<variable-assignment><name>WeblogicWebApp_CustomContext</name><xpath>weblogic-web-app/context-root</xpath><origin>planbased</origin><operation>replace</operation> </variable-assignment>還要注意,我們在其中包括了一個附加的“替換”操作,該操作顯然將用新的替換默認上下文(“ / newcontext”)。
保存plan.xml文件。 我們剛剛所做的是重寫WebLogic Server Web應用程序部署描述符weblogic.xml中的context-root元素。 新的上下文根是“ newcontext”。
很好,現在切換到管理控制臺,然后從“ 部署”菜單中選擇更新應用程序。
單擊與部署計劃路徑關聯的“ 更改路徑”按鈕,如下所示:
現在,為新的plan.xml文件選擇單選按鈕,然后單擊“下一步”。 如有必要,請使用“當前位置”字段旁邊的超鏈接導航到<APP_HOME>目錄。
在下一個屏幕中,選擇單選按鈕“使用以下部署文件重新部署此應用程序”。 然后單擊完成。 現在,應該可以使用新的Web上下文(newcontext)訪問您的應用程序。
示例:定制JDBC模塊
我們介紹的第一個示例是創建更多自定義項的良好起點。 一個實際的示例可能是提供一個部署計劃,該計劃將更新應用程序一部分JDBC模塊中包含的信息。 您的應用程序可能會分布在使用不同數據庫的不同環境(開發/生產/測試)中。 例如:
<wls:resource-description><wls:res-ref-name>JDBCOracleModule</wls:res-ref-name><wls:jndi-name>jdbc/OracleModule</wls:jndi-name> </wls:resource-description>在此示例中,如果要更改綁定JDBC模塊的JNDI名稱,則需要修改定義JNDI名稱的XML描述符。
通過使用部署計劃,您可以簡單地在plan.xml中修改JDBC資源的值并相應地更新應用程序。 假設我們要在將應用程序移植到生產環境中時,通過將其從“ jdbc / OracleModule ”更改為“ jdbc / ProductionOracleModule”來更改示例TestEJB的JNDI綁定。
首先使用PlanGenerator實用程序生成plan.xml部署計劃。 現在打開您的plan.xml并在變量中為數據源設置value元素:
<variable> <name>MyDataSource_binding</name> <value>jdbc/ProductionOracleModule</value> </variable>需要在相應的變量分配節中引用上述變量名(“ MyDataSource_binding”),該節為您的資源設置正確的JNDI綁定:
<module-override><module-name>TestEJB.jar</module-name>. . . . .<uri>META-INF/weblogic-ejb-jar.xml</uri><variable-assignment><name>MyDataSource_binding</name><xpath>/weblogic-ejb-jar/weblogic-enterprise-bean/[ejb-name="TestEJB"]/resource-description/[res-ref-name="MyDataSource"]/jndi-name</xpath></variable-assignment></module-descriptor> </module-override>如果在Web應用程序中也引用了數據源,比如說將其注入到Servlet中,該怎么辦? 別擔心! 您還可以為Web模塊提供模塊替代 ; 在這種情況下,我們將覆蓋weblogic.xml:
<module-override><module-name>wls.war</module-name>. . . .<uri>WEB-INF/weblogic.xml</uri><variable-assignment><name>MyDataSource_binding</name><xpath>/weblogic-web-app/resource-description/[res-ref-name="jdbc/ ProductionOracleModule "]/res-ref-name</xpath><origin>planbased</origin></variable-assignment></module-descriptor> </module-override>使用管理控制臺生成部署計劃
如果您不想使用命令行來生成部署計劃,則可以使用管理控制臺來執行此步驟。 從“部署”選項導航到您的應用程序:
然后單擊您的應用程序,然后移至“ 配置”選項卡。 在屏幕的下部,您將能夠更改應用程序設置,例如上下文根路徑。 將此值更改為新的上下文路徑并保存。
修改配置的某些值后,部署計劃助手將啟動,要求您將這些更改保存在部署計劃中。 您要做的就是為文件提供一個方便的位置(強烈建議使用名稱plan.xml )。
最后一步將是自定義plan.xml文件,如我們先前所示,并使用該文件更新您的應用程序。
此摘錄摘自“ 企業應用服務器指南 ”,該實用手冊是易于理解的實用指南,討論了Java EE市場中的三個主要行業應用服務器: Oracle Weblogic , JBoss EAP和IBM Websphere 。 本書包括600頁方便的食譜,有望以令人愉悅的風格教您有關這三種應用服務器的全部知識,并包括它們之間的詳細比較。
翻譯自: https://www.javacodegeeks.com/2013/10/creating-deployment-plans-with-oracle-weblogic.html
總結
以上是生活随笔為你收集整理的使用Oracle WebLogic创建部署计划的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 苹果 iPhone15 系列发布在即,倍
- 下一篇: 对焦速度提升,铭匠 AF 27mm F2