Java 以IBM MQ作为目标的JMSBridge:JBOSS EAP 7.2

Java 以IBM MQ作为目标的JMSBridge:JBOSS EAP 7.2,java,jboss,ibm-mq,jboss-eap-7,wildfly-14,Java,Jboss,Ibm Mq,Jboss Eap 7,Wildfly 14,我正在尝试在JBOSS EAP JMS队列(AMQ)和作为目标的IBM MQ之间构建JMS桥。下面是我的JMS桥: <jms-bridge name="my-jms-bridge" quality-of-service="AT_MOST_ONCE" failure-retry-interval="1000" max-retries="2" max-batch-size="10" max-ba

我正在尝试在JBOSS EAP JMS队列(AMQ)和作为目标的IBM MQ之间构建JMS桥。下面是我的JMS桥:

<jms-bridge name="my-jms-bridge" quality-of-service="AT_MOST_ONCE" failure-retry-interval="1000" max-retries="2" max-batch-size="10" max-batch-time="100">
            <source connection-factory="java:/ConnectionFactory" destination="java:/jms/queue/bridgingQueue"/>
            <target connection-factory="jms/mqSeriesJMSFactoryInboundQueue1" destination="jms/inboundQueue1"/>
         </jms-bridge> 
我是否缺少任何配置,或者是否应该覆盖资源适配器的任何属性以停止提交消息

对未转换的对象调用“commit”方法无效 会议


错误消息非常清楚,不要在未进行事务处理的会话(即工作单元)上使用提交。

请注意,我使用了JMS桥,并且资源适配器处于非xa模式。这里我没有显式地调用commit或实例化session。
WARN  [org.apache.activemq.artemis.jms.bridge] (Thread-102) AMQ342009: JMS Bridge N/A failed to send + acknowledge batch, closing JMS objects: com.ibm.msg.client.jms.DetailedIllegalStateException: JMSCC0014: It is not valid to call the 'commit' method on a nontransacted session.
The application called a method that must not be called on a nontransacted session.
Change the application program to remove this behavior.
    at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
    at deployment.wmq.jmsra-9.2.2.0.rar//com.ibm.msg.client.commonservices.j2se.NLSServices.createException(NLSServices.java:319)
    at deployment.wmq.jmsra-9.2.2.0.rar//com.ibm.msg.client.commonservices.nls.NLSServices.createException(NLSServices.java:226)
    at deployment.wmq.jmsra-9.2.2.0.rar//com.ibm.msg.client.jms.internal.JmsErrorUtils.createException(JmsErrorUtils.java:126)
    at deployment.wmq.jmsra-9.2.2.0.rar//com.ibm.msg.client.jms.internal.JmsSessionImpl.commit(JmsSessionImpl.java:744)
    at deployment.wmq.jmsra-9.2.2.0.rar//com.ibm.mq.jms.MQSession.commit(MQSession.java:294)
    at deployment.wmq.jmsra-9.2.2.0.rar//com.ibm.mq.connector.outbound.SessionWrapper.commit(SessionWrapper.java:335)
    at org.apache.activemq.artemis@2.6.3.redhat-00014//org.apache.activemq.artemis.jms.bridge.impl.JMSBridgeImpl.sendBatchNonTransacted(JMSBridgeImpl.java:1338)
    at org.apache.activemq.artemis@2.6.3.redhat-00014//org.apache.activemq.artemis.jms.bridge.impl.JMSBridgeImpl.sendBatch(JMSBridgeImpl.java:1298)
    at org.apache.activemq.artemis@2.6.3.redhat-00014//org.apache.activemq.artemis.jms.bridge.impl.JMSBridgeImpl.access$1700(JMSBridgeImpl.java:74)
    at org.apache.activemq.artemis@2.6.3.redhat-00014//org.apache.activemq.artemis.jms.bridge.impl.JMSBridgeImpl$BatchTimeChecker.run(JMSBridgeImpl.java:1825)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
    at java.base/java.lang.Thread.run(Thread.java:834)