创建部署计划

部署计划是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 WeblogicJBoss EAPIBM Websphere 。 本书包括600页方便的食谱,有望以令人愉悦的风格教您有关这三种应用服务器的全部知识,并包括它们之间的详细比较。

翻译自: https://www.javacodegeeks.com/2013/10/creating-deployment-plans-with-oracle-weblogic.html

使用Oracle WebLogic创建部署计划相关推荐

  1. oracle19c怎么创建Scott,Oracle db-sample-schema-19c安装(scott hr oe pm ix sh bi用户创建部署)...

    Windows平台上,Oracle19c软件完成安装和建库之后,在学习<Oracle SQL高级编程>的过程中,发现没有scott.hr.oe.pm.ix.sh.bi用户,需要额外动手创建 ...

  2. weblogic创建域后启动不了_WebLogic的Azure虚拟机主要版本发布

    作者:Reza Rahman 我们很高兴地宣布,将发布在Azure Linux虚拟机上运行Oracle WebLogic Server(WLS)的解决方案的主要版本.该版本是与WebLogic团队共同 ...

  3. Oracle WebLogic 最新补丁的绕过漏洞分析 cve-2020-2883

    今年早些时候,作者在博客中公开了一个Oracle WebLogic Server中的反序列化漏洞.此漏洞是由Oracle补丁的,并分配了CVE-2020-2555.但是,VNPT ISC的研究员Quy ...

  4. weblogic ejb_使用Oracle WebLogic对应用程序外部的EJB的引用

    weblogic ejb 在之前的文章中,我们对EJB 3.0版及其为您提供的构建Java EE应用程序的可移植机制进行了概述. 由于Java EE规范都是关于可移植性的,因此冒着重复自我的风险,我们 ...

  5. 泄漏:Oracle WebLogic Server 12g

    JavaOne已经比我们落后了将近一个星期,我仍在撰写有关它的详细博客文章 . 我真的很惊讶的事实是,我没有看到任何提及我最喜欢的应用程序服务器更新的事实. 是的,我喜欢WebLogic产品. 从一开 ...

  6. 使用Oracle WebLogic对应用程序外部的EJB的引用

    在之前的文章中,我们对EJB v.3.0及其为您提供的用于构建Java EE应用程序的可移植机制进行了概述. 由于Java EE规范都是关于可移植性的,因此冒着重复自己的风险,我们经常强调EJB v. ...

  7. Oracle WebLogic Server 12c: Node Manager配置与使用

    在生产环境中,WebLogic服务器实例经常会跨多个管理域(domains).物理主机(machines)或地域(geographic locations)分开部署.Node Manager是远程启动 ...

  8. 1.17.Weblogic创建JMS服务

    Weblogic创建JMS服务 相关概念 weblogic对jms协议的实现,有自己一套管理方式,其中涉及到比较多概念,在开始之前把这些概念理解清楚 weblogic server 即weblogic ...

  9. Oracle fan ons 12c,Oracle WebLogic Server 与 Oracle Database 12c 的集成 (2)

    数据库驻留连接池 中间层数据源会创建许多闲置的连接来应对高用户需求.创建和销毁这些连接的成本非常高昂.数据库驻留连接池 (DRCP) 允许多个 web 层和中间层数据源共享 Oracle 数据库服务器 ...

最新文章

  1. 检索COM 类工厂中CLSID 为{00024500-0000-0000-C000-000000000046}组件时失败
  2. OpenVirteX 安装
  3. java 界面输出控制台信息,java 怎么获取控制台的数据并且输出到GUI上
  4. Undefined symbols for architecture xxx
  5. 华为鸿蒙系统手机匹配,【图片】华为鸿蒙系统的厉害之处在于 你可能非用不可 !【手机吧】_百度贴吧...
  6. Excel表格数据很少但是文件却很大该怎么缩小
  7. 初识B/S结构编程技术
  8. 【codemirror】Json编辑器使用总结
  9. Mac: Mac 截长屏
  10. 解决办法:[sqlserver] Cannot connect to XXXX\SQLEXPRESS
  11. 【工控老马】MODBUS通讯协议及编程详解
  12. 20162330 第十二周 蓝墨云班课 hash
  13. 波士顿房价预测(回归)
  14. Java实现将文件(图片)上传到七牛云对象存储,并实现下载和删除功能
  15. 光剑诗集选——2021.2
  16. 2023最新大数据毕设题目推荐100例
  17. Mybatis:Mybatis分页插件
  18. DPI、像素与分辨率的区别和联系
  19. 收藏 年度大盘点 可信计算相关(国家、部委、省市)法律、法规、政策、规划汇总
  20. python大神代码_求python大神写一个windows可运行的代码,学习学习。

热门文章

  1. 转:Kafka、RabbitMQ、RocketMQ等消息中间件的介绍和对比
  2. tomcat中配置jndi数据源以便spring获取
  3. spring react_使用Spring Cloud Gateway保护React式微服务
  4. read cache_通过READ-BEHIND CACHE控制您的慢速生产者
  5. inmemory_通过Spring Boot了解H2 InMemory数据库
  6. oidc_使用Java EE和OIDC构建Java REST API
  7. java world_Java World中的GraphQL简介
  8. jdk170不支持注释_JDK 9 @不建议使用的注释增强功能
  9. jaxb解析字符串xml_一个JAXB Nuance:字符串与枚举(受限制的XSD字符串)的枚举
  10. adf4351使用_使用ADF BC管理保存点