【问题标题】:JMS Activation spec on Liberty: "WAS_EndpointInitialState" full profile equivalent property?Liberty 上的 JMS 激活规范:“WAS_EndpointInitialState”完整配置文件等效属性?
【发布时间】:2018-11-03 00:05:20
【问题描述】:

我们正在将一些应用程序从 WAS 完整配置文件迁移到 WAS Liberty 配置文件。
某些应用程序具有 MDB,并且需要连接到 MQ 的 JMS 激活规范定义。
为了在集群中强制执行严格的 FIFO 排序,我们将这些 Activation Specs 上的 "WAS_EndpointInitialState" 属性设置为 "INACTIVE",以告诉 WAS full profile 在启动时不要启动 Activation Spec。当集群启动时,我们只在一台服务器上启动(即“恢复”)激活。
问:如何使用 Liberty (v16.0.x) 实现这一目标? 我在 "properties.wmqJms" 节中看不到等效参数。
谢谢

【问题讨论】:

    标签: websphere-liberty


    【解决方案1】:

    Liberty 没有激活规范的等效参数/功能。 您可以在此处打开增强请求: https://www.ibm.com/developerworks/rfe/?PROD_ID=544

    如果在此期间有帮助,模拟该功能的一种粗略方法是启动服务器并注释掉 jmsActivationSpec 元素,并在您希望激活它们时进行配置更新以取消注释。

    【讨论】:

    【解决方案2】:

    不幸的是(使用 v16.0.0.3 和当前的 beta 版本),由于 Liberty 配置文件中严重缺乏功能,无法在生产中部署具有 MDB 的应用程序(JMS 激活)。 当使用jmsActivationSpec+ properties.wmqJms 节时,这是不可能的:

    • 将激活配置为在 x 次尝试使用消息失败后停止。 Liberty 试图在没有任何通知的情况下永远使用该消息!
    • 在启动时以inactive 状态启动激活。因此,当部署在集群(或集体或其他形式的集群)中时,不可能在 Q 上强制执行 FIFO 范例

    这些已在以下 RFE 中捕获:

    对于我们来说,出于这些原因,显然不能迁移到 WebSphere Liberty 配置文件

    【讨论】:

      【解决方案3】:

      这对 OP 来说太晚了,但万一有人来这里寻找当前答案。

      Liberty / Open Liberty 现在提供(从 18.0.0.1 开始)这样的功能,您可以通过 autoStart 属性启用该功能,例如:

      <jmsActivationSpec autoStart="false" id="myJMSActSpec"/>

      有关如何使用 EndpointControl MBean 和/或 server resume CLI 命令开始将消息传递到服务器的快速示例,请参阅 here

      【讨论】:

        猜你喜欢
        • 2016-03-05
        • 1970-01-01
        • 1970-01-01
        • 2010-12-03
        • 2011-11-11
        • 2011-07-22
        • 2017-10-11
        • 2013-09-24
        • 1970-01-01
        相关资源
        最近更新 更多