我正在开发WebSphere 6.1 EAR应用程序,我需要覆盖 META-INF / ibconfig 目录中指定的配置条目。存在额外的配置文件,描述各种服务器对象 - 从JDBC到共享库和链接。问题是这些设置会覆盖已在服务器上定义的设置。
具体来说,如果我已经在服务器上安装了一个应用程序,并且已经创建了共享库和refs,并将Enhanced EAR安装为该应用程序的更新,那么来自EAR的那些将占优势并将清除之前创建的。
我寻求的是一些部署选项 - 对于管理控制台或wsadmin - 允许忽略这些配置条目而不实际从EAR文件中删除它们。
最好,并提前谢谢你。
答案 0 :(得分:0)
我们使用python(实际上是jython)部署脚本来设置所有配置。大多数配置都是从maven在创建耳朵的过程中使用的文件中读取的,因此最大限度地降低了拼写错误的风险
AdminApp.install(earFile,['-MapResRefToEJB',createResRefMap(),'-MapModulesToServers', createModuleMap(), '-MapRolesToUsers', createRoleMap()])
setAppClassLoading()
AdminConfig.save()
AdminControl.invoke(appServer,'startApplication',appName)
查看所有选项的文档。
答案 1 :(得分:0)
有一个部署选项可用于忽略更新的EAR文件中的应用程序绑定,以便安装的EAR 中的现有配置优先。当updating您的申请使用wsadmin
时,该选项为update.ignore.new
。如果使用管理控制台更新您的应用程序,则可以通过在更新期间从"Preparing for the application update"步骤中选择“使用现有绑定”选项来使用此选项。
这应该可以实现你正在寻找的东西。例如,假设您的应用程序中有一个名为“jdbc/MyDataSource
”的资源引用,该资源引用已映射到已安装的应用程序中的jdbc/ProductionDataSource
,并且您正在更新< / em>此应用程序具有EAR文件的版本,该文件将此资源引用映射到IBM配置文件中的jdbc/TestDataSource
。使用update.ignore.new
选项后,此资源引用将在您完成应用程序更新后继续映射到jdbc/ProductionDataSource
。 (请注意,WAS中的默认部署行为是没有使用此选项,资源引用将映射到更新的应用程序中的jdbc/TestDataSource
,除非您明确覆盖否则在部署过程中。)