Liberty上的JMS激活规范:" WAS_EndpointInitialState"完整档案等价物业?

时间:2016-10-14 03:06:44

标签: websphere-liberty

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

3 个答案:

答案 0 :(得分:2)

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

如果在此期间它有所帮助,模拟功能的粗略方法是在注释掉jmsActivationSpec元素的情况下启动服务器,并根据需要激活配置更新以取消注释。

答案 1 :(得分:0)

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

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

这些已在以下RFE中捕获:

对于我们来说,出于这些原因,明确禁止迁移到WebSphere Liberty配置文件

答案 2 :(得分:0)

这对于OP来说为时已晚,但是如果有人来这里寻找当前答案,则为时已晚。

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

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

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