【问题标题】:How to override WebSphere "Enhanced EAR" configuration entries?如何覆盖 WebSphere“增强型 EAR”配置条目?
【发布时间】:2011-08-15 12:16:50
【问题描述】:

我正在开发 WebSphere 6.1 EAR 应用程序,我需要覆盖 META-INF/ibconfig 目录中指定的配置条目。存在额外的配置文件,描述各种服务器对象——从 JDBC 到共享库和链接。问题是这些设置会覆盖那些已经在服务器上定义的设置。

具体来说,如果我已经在服务器上安装了一个应用程序,并且已经创建了共享库和引用,并安装了增强型 EAR 作为该应用程序的更新,那么来自 EAR 的那些将占上风,并将清除以前创建的。

我寻求的是一些部署选项 - 用于管理控制台或 wsadmin - 这将允许忽略这些配置条目而不实际从 EAR 文件中删除它们。

最好的,提前谢谢你。

【问题讨论】:

    标签: java websphere ear


    【解决方案1】:

    我们使用一个python(实际上是jython)部署脚本来设置我们的所有配置。大部分配置都是从文件中读取的

    AdminApp.install(earFile,['-MapResRefToEJB',createResRefMap(),'-MapModulesToServers', createModuleMap(), '-MapRolesToUsers', createRoleMap()])
    setAppClassLoading()
    AdminConfig.save()
    AdminControl.invoke(appServer,'startApplication',appName)
    

    查看所有选项的文档。

    【讨论】:

      【解决方案2】:

      有一个部署选项可用于忽略更新后的 EAR 文件中的应用程序绑定,以便已安装的 EAR 中的现有配置优先。当updating 您的应用程序使用wsadmin 时,选项为update.ignore.new。如果使用管理控制台更新您的应用程序,则可以通过在更新期间从"Preparing for the application update" 步骤中选择“使用现有绑定”选项来使用此选项。

      这应该可以完成您正在寻找的东西。例如,假设您的应用程序中有一个名为“jdbc/MyDataSource”的资源引用映射到您已安装应用程序中的jdbc/ProductionDataSource,并且您正在更新此具有 EAR 文件版本的应用程序,该版本将此资源引用映射到 IBM 配置文件中的 jdbc/TestDataSource。使用update.ignore.new 选项,在您完成应用程序更新后,此资源引用将继续保持映射到jdbc/ProductionDataSource。 (请注意,WAS 中的默认 部署行为是,不 使用此选项,资源引用将映射到您更新的应用程序中的jdbc/TestDataSource,除非您以其他方式明确覆盖它在部署过程中。)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-03-01
        • 2016-03-06
        • 1970-01-01
        • 2012-11-06
        • 2016-07-13
        • 1970-01-01
        相关资源
        最近更新 更多