PublishJMS处理器未能写消息的IBM WebSphere MQ(PublishJMS pro

2019-09-29 03:57发布

我现在面临的问题,同时通过PublishJMS处理器发布消息到IBM WebSphere MQ队列。

PublishJMS处理器及控制器JMS服务配置,我已经验证没有与MQ连接没有问题。 我相信有一些额外的属性,我需要无论是在PublishJMS或控制器服务设置。

下面是该错误消息堆栈。

Caused by: com.ibm.msg.client.jms.DetailedMessageFormatException: JMSCC0051: The property 'JMS_IBM_MsgType' should be set using type 'java.lang.Integer', not 'java.lang.String'.
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[na:1.8.0_102]
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[na:1.8.0_102]
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[na:1.8.0_102]
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423) ~[na:1.8.0_102]
    at com.ibm.msg.client.commonservices.j2se.NLSServices.createException(NLSServices.java:314) ~[na:na]
    at com.ibm.msg.client.commonservices.nls.NLSServices.createException(NLSServices.java:228) ~[na:na]
    at com.ibm.msg.client.jms.internal.JmsErrorUtils.createException(JmsErrorUtils.java:104) ~[na:na]
    at com.ibm.msg.client.jms.internal.JmsMessageImpl.checkSettablePropertyName(JmsMessageImpl.java:2197) ~[na:na]
    at com.ibm.msg.client.jms.internal.JmsMessageImpl.setStringProperty(JmsMessageImpl.java:1690) ~[na:na]
    at com.ibm.jms.JMSMessage.setStringProperty(JMSMessage.java:1491) ~[na:na]
    at org.apache.nifi.jms.processors.JMSPublisher$1.createMessage(JMSPublisher.java:87) ~[nifi-jms-processors-1.1.0.2.1.2.0-10.jar:1.1.0.2.1.2.0-10]
    at org.springframework.jms.core.JmsTemplate.doSend(JmsTemplate.java:603) ~[spring-jms-4.2.4.RELEASE.jar:4.2.4.RELEASE]
    at org.springframework.jms.core.JmsTemplate$4.doInJms(JmsTemplate.java:584) ~[spring-jms-4.2.4.RELEASE.jar:4.2.4.RELEASE]
    at org.springframework.jms.core.JmsTemplate.execute(JmsTemplate.java:494) ~[spring-jms-4.2.4.RELEASE.jar:4.2.4.RELEASE]
    ... 17 common frames omitted

Answer 1:

它看起来像你打一个已知缺陷:APAR IT02814 (JMSCC0051:属性“JMS_IBM_REPORT_PASS_CORREL_ID”应该设置使用类型为“java.lang.Integer中的”,而不是“java.lang.String中”。)

它指出,V7.0预IBM MQ类的JMS允许通过非INT,V7.0及更高版本更为严格。 IBM还增加了修复程序v7.5.0.5和v8.0.0.2允许这种情况继续工作,APAR也对如何改变应用程序,而不修复工作的建议。



文章来源: PublishJMS processor failing for writing message to IBM Websphere MQ