WebSphere反向投资者-解决WebSphere Application Server的配置冲突

在每篇专栏文章中,WebSphere 反向投资者将回答问题、提供指导并讨 论与 WebSphere 产品使用相关的基础主题,经常会给出与流行的看法相悖的经过 实践验证的建议。

配置疗法

让我先来向您解释一下,尽管我在本 专栏的标题中使用了 “解决冲突” 的字样,但我并没有改变职业, 而投身于调停或有关的行业。此外,虽然有关各种 WebSphere Application Server 主题的讨论可能会导致所谓的 “精神辩论”,但本专栏并不 想涉及如何解决可导致这类辩论的观点的根本差异。相反,这里的焦点是如何检 测和解决因并行更新 WebSphere Application Server 配置而产生的 WebSphere Application Server 配置冲突。

过去,我曾 写过一个专栏,这个专栏讨 论了如何加速 WebSphere Application Server 内的应用程序部署,以避免在系 统维护窗口期间进行并行应用程序部署的需求 — 而这会导致本专栏主题内 所指的这类冲突。并且,在 上一篇 WebSphere 反向投资者 文章中,我推荐使用 一个用于执行维护的双 cell 方法 — 软件和硬件 — 作为最小化甚 至消除维护窗口中断的机制。我之前提到的两种方法仍然是在一个给定的时间框 架内执行应用程序维护的建议方法,如果出于某种原因,您发现一个或两个或多 个选项不适合您的具体环境,那么您可以将并行应用程序部署用作另外一个选项 ,具体步骤在本文中会给出。

在深入探究具体的过程之前,让我们先来简要讨论一下 WebSphere Application Server 提供的用于阻止配置冲突的嵌入功能。

熟悉数据库 并发控制的读者都会将工作空间冲突解决方案视为一种理想的并发控制。理想的 并发控制允许来自多个事务的所有读写操作,但是会在事务提交期间执行冲突解 决方案。当保存冲突较少时,理想的并发控制能提供较其他并发选项更好的性能 ,但是如果对相同记录的不同更新经常有冲突导致异常或回滚,那么其他的并发 选项会提供更好的性能。

每当有用户登录到一个管理员客户端(admin 控制台或 wsadmin)时,就会用 一个不同的工作空间会话来跟踪变化。与每个工作空间相对应的是一个用于保存 此用户接触过的所有文件的临时目录。此工作空间内的文件最初提取自 WebSphere Application Server 单元配置存储库并且此用户所做的所有更改都只 反映在工作空间的副本,直到发生一次保存。当保存发生时,WebSphere Application Server 配置管理运行时会将来自此工作空间的已更改文件复制回这 个主存储库,但首先会进行检查以确保已更改文件没有被另一个工作空间会话修 改或保存过。只要两个工作空间会话修改了不同的文件,就不会有保存冲突。当 有冲突时,只有第一个工作空间会话的更改会反映在 WebSphere Application Server 单元配置存储库中,而具有冲突文档的后续会话则会在保存期间收到一个 保存冲突异常。在一个具有多用户的共享环境中,虽然总是可以读取这个配置, 但是如果另一个工作空间会话试图保存已经由第一个工作空间修改的相同的文件 时,那么保存这个工作空间会话可能不会成功。

对于应用程序部署,为了支持应用程序的并发部署,对其进行了一个特殊配置 。由不同的工作空间会话初始化的应用程序部署可以修改相同的 serverindex.xml 文件,在这种情况下,WebSphere Application Server 配置管 理运行时为 serverindex.xml 文件采用了一个合并算法,它支持:

向不同的应用程序服务器或不同的应用程序服务器群集并发部署不同的应用程 序。

向相同的应用程序服务器或相同的应用程序服务器群集并发部署不同的应用程 序。

在保存与任一更改相关的配置之前,管理控制台进行一次设置来查看更改,但 出于 本文 中提到的原因,WebSphere Application Server 的任何生产管理都应 该完全通过脚本执行。

结果,大多数典型的并发或并行应用程序部署场景都可安全执行,无需系统管 理员方面的任何额外努力。不过,还有其他的应用程序部署场景(比如向相同的 应用程序、相同的群集或服务器的并发部署,目前尚不能由 serverindex.xml 合 并算法处理)以及其他的并发管理动作涉及的不只是应用程序部署,因此有可能 发生配置冲突。有一些简单的措施可用来确保不会有配置冲突并为一些受支持的 场景或在使用 wsadmin 时的其他一些场景解决所有冲突。

为配置冲突检测和解决所采用的 wsadmin 命令依赖于获得对 ConfigService MBean 的引用,然后调用由该 MBean 提供的 getConflictDocuments 方法来决定 是否有相互冲突的变更发生自另一个管理会话。

获得所需对象引用以及构造此调用所需的参数列表的步骤如清单 1 所示。

清单 1

// get ConfigService MBean reference

wsadmin>cs = AdminControl.queryNames ('WebSphere:*,type=ConfigService')

// obtain ObjectName for ConfigService MBean

wsadmin>import javax.management as mgmt

wsadmin>csName=mgmt.ObjectName(cs)

// get session object for the current administrative user  session

wsadmin>session=AdminConfig.getCurrentSession()

// manipulate and prepare the administrative session  object and

// MBean operation arguments for use

wsadmin>from com.ibm.websphere.management import  Session

wsadmin>from jarray import array

wsadmin>parms=array([session], java.lang.Object)

wsadmin>ptype=array(['com.ibm.websphere.management.Session'],  java.lang.String)

时间: 2025-01-21 00:49:28

WebSphere反向投资者-解决WebSphere Application Server的配置冲突的相关文章

WebSphere反向投资者:在WebSphere Application Server中修改主机名称并迁移概

WebSphere反向投资者:在WebSphere Application Server中修改主机名称并迁移概要文件 在每篇专栏文章中,"WebSphere 反向投资者" 将回答问题.提供指导和讨论与 WebSphere 产品使用相关的基础主题,经常会给出与流行的看法相悖的经过实践验证的建议. 改变的时机来了吗? 希腊哲学家赫拉克利特曾说过 "惟一不变的就是变化本身",并且这句话在过去 2500 年来都被证明是正确的,在某些情况下您很可能需要修改 WebSphere

WebSphere反向投资者: 调节WebSphere应用服务器时应适可而止

为什么一些以前的技巧无法用于新版本 在多个 IBM WebSphere Application Server V7 研讨会上,我在过去几个月一直在为客户做演讲,性能总是一个流行的话题:具体来说,很多人都想知道如何调试获得最优性能.鉴于在这些研讨会中该话题的很热门以及对如何调试和调试什么大家普遍存在一定误解,我认为有必要简单介绍一下应用服务器调试中有哪些准则. 别调台! 即使您没用过这个短语,也一定听说过它.几年前,电视和广播上广告开始时经常出现这个短语.有了数码接收器之后,我们就不再使用调节旋钮

WebSphere反向投资者: 用于加速应用程序部署的选项

在每篇专栏文章中,"WebSphere 反向投资者"将回答问题.提供指导和讨论与 WebSphere 产品相关的基础主题,经常会给出与流行的看法相悖的经过实践验证的建议. 送给您的礼物 又到假日了,这意味着每个人都在忙着完成当年的项目.购物,以及各种各样的传统年终任务.所有这些活动可能意味着您会欢迎任何节省时间的技巧,因为您可能有太多的事情需要处理,但是却只有太少的时间去全部完成.为了尽自己的一份力量帮助您提高效率,我将在本月的专栏中花些时间提供一些用于加速 IBM WebSphere

WebSphere反向投资者: 返璞归真:会话故障转移

在每篇专栏文章中,"WebSphere 反向投资者"将回答问题.提供指导和讨论与 WebSphere 产品相关的基础主题,经常会给出与流行的看法相悖的经过实践验证的建议. 知识巩固时间 在过去几周中,我花了大量的时间为技术销售专家提供有关刚发布的 IBM WebSphere Application Server V7 的内部培训.该培训的部分内容已分配给返璞归真的基本材料,以便为 WebSphere Application Server 新手提供背景信息,以及为老手提供知识巩固.结果证

WebSphere反向投资者: 运行时管理高可用性选项,终极版

在每篇专栏文章中,"WebSphere 反向投资者" 将回答问题.提供指导并讨论与 WebSphere 产品使用相关的基础主题,经常会给出与流行的看法相悖的经过实践验证的建议. 回到老话题上 -- 以及拉丁文 距离我编写 implementing a highly available infrastructure for IBM WebSphere Application Server Network Deployment without clustering 一文已经将近 7 年的时

WebSphere反向投资者: 高可用性(重申)与持续可用性

再次重申 虽然我从未发现有关高可用性或灾难恢复的问题出现短缺,但 上一期 WebSphere 反向投资者(处理 WebSphere Application Server 管理高可用性选项)提示最近这些问题的数量似乎有所增加.因此,在这里我将继续高可用性这一主题,另外会添加一些有关如何获得高可用性(HA)和持续可用性(CA)的想法.但在我们开始讨论这些话题以前,先让我们确保大家对以下两个术语达成共识: 高可用性:基础架构(或在其上运行的应用程序)不可以承受一次超过几秒钟或几分钟的计划外中断,但这样

WebSphere反向投资者: 您是否确定要重组消息引擎数据库?

在每篇专栏文章中,"WebSphere 反向投资者"将回答问题.提供指导和讨论与 WebSphere 产品相关的基础主题,经常会给出与流行的看法相悖的经过实践验证的建议. 沼泽地怪物 我最近回复了一个电子邮件询问,结果在几天的过程中导致了一系列更多的电子邮件,这提示我回想起了我以前的经理非常喜欢的一句谚语: 当您深陷入鳄鱼口中的时候,很容易忘记当初为什么想要排干沼泽地的水. 您会问,这会让人想起什么呢?言归正传,该询问是咨询"IBM 要向对消息引擎数据库运行 DB2 重组和

WebSphere反向投资者: 更好的高可用性Web应用程序配置

在每篇专栏文章中,"WebSphere 反向投资者"将回答问题.提供指导和讨论与 WebSphere 产品使用相关的基础主题,经常会给出与流行的看法相悖的经过实践验证的建议. 名称的意义 我过去几年一直在提交评论专栏之类的专栏文章,IBM WebSphere 开发者技术期刊的编辑问我,是否考虑按照这种风格开设一个定期专栏.一念之差,我答道"可以."回顾我经常不得不提供的建议类型之后,我将这个专栏命名为 WebSphere 反向投资者.Merriman-Webster

Websphere Application Server环境配置与应用部署最佳实践

使用 XML 文件扩展 wsadmin 工具与 Jython 脚本 简介:wsadmin 是 Websphere Application Server 提供的脚本工具,它支持开发人员通过脚本对服 务器进行管理和配置.本文首先对 wsadmin 以及脚本语言 Jython 进行介绍,之后,本文将介绍一种通 过 XML 配置文件扩展 wsadmin 以及脚本的方法,该方法允许部署人员通过 XML 文件定义服务器的配置 步骤和应用部署过程,从而提高 wsadmin 以及脚本的可用性. 在发布一个运行于