【问题标题】:How can I solve reading MQ messages resulting in error on commit/rollback?如何解决读取 MQ 消息导致提交/回滚错误的问题?
【发布时间】:2020-05-12 21:48:43
【问题描述】:

在使 MQ 连接在 Liberty 中工作时,我遇到了以下问题。

收到消息后,出现如下错误: JMSCC0014:在非事务会话上调用“提交”方法无效。

我进行了一些搜索,发现需要使用 XA 版本的连接工厂,但我不知道这是否确实是解决方案,我还没有找到任何明确的示例来说明如何实现在我的配置中。

这里是 server.xml 配置的相关部分:

<resourceAdapter id="mqJms" location="/etc/liberty/wmq/wmq.jmsra.rar"/>
<authData id="mqJms.auth" user="user" password="password"/>

<jmsQueueConnectionFactory jndiName="jms/queueConnectionFactory" connectionManagerRef="ConMgr4" containerAuthDataRef="mqJms.auth">
    <properties.mqJms transportType="CLIENT"
    hostName="server" port="1234"
    channel="CHANNEL"/>
</jmsQueueConnectionFactory>

<connectionManager id="ConMgr4"
    connectionTimeout="30s"
    maxPoolSize="50" minPoolSize="1"
    reapTime="60s" agedTimeout="0"/>

<jmsQueue id="jms/incomingRequestQueue" jndiName="jms/incomingRequestQueue">
    <properties.mqJms baseQueueName="QUEUEIN"/>
</jmsQueue>

queueConnectionFactory是通过代码中的JNDI获取的。

任何帮助将不胜感激。

【问题讨论】:

    标签: java websphere-liberty open-liberty


    【解决方案1】:

    解决方案最终是在收到 MQ 消息后不执行提交/回滚,更多信息请参见此处:Websphere Liberty : JMS Sessions don't work

    【讨论】:

      猜你喜欢
      • 2019-06-29
      • 1970-01-01
      • 1970-01-01
      • 2015-10-04
      • 1970-01-01
      • 2011-07-22
      • 1970-01-01
      • 2017-01-21
      • 1970-01-01
      相关资源
      最近更新 更多