PublishJMS处理器无法将消息写入IBM Websphere MQ [英] PublishJMS processor failing for writing message to IBM Websphere MQ

查看:159
本文介绍了PublishJMS处理器无法将消息写入IBM Websphere MQ的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在通过PublishJMS处理器将消息发布到IBM Websphere MQ队列时,我遇到了问题.

I am facing issue while publishing messages to the IBM Websphere MQ Queue via PublishJMS processor.

PublishJMS处理器的配置JMS控制器服务,我已经验证MQ连接没有问题.我相信我需要在PublishJMS或Controller Service中设置一些其他属性.

Configuration of PublishJMS processor & JMS Controller Service, I have verified there is no problem with the MQ connection. I believe there is some additional property I need to set in either the PublishJMS or Controller Service.

下面是错误消息堆栈.

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

推荐答案

您似乎遇到了已知缺陷:APAR

It looks like you are hitting a known defect: APAR IT02814 (JMSCC0051: THE PROPERTY 'JMS_IBM_REPORT_PASS_CORREL_ID' SHOULD SET USING TYPE 'JAVA.LANG.INTEGER', NOT 'JAVA.LANG.STRING'.)

它指出,vMS之前的v7.0之前的IBM MQ类允许传递非INT,v7.0和更高版本更为严格. IBM已对v7.5.0.5和v8.0.0.2添加了一个修补程序,以使其能够继续工作.APAR还提出了有关如何在不使用该修补程序的情况下将应用程序更改为工作的建议.

It states that pre-v7.0 IBM MQ Classes for JMS allowed passing a non-INT, v7.0 and higher are more strict. IBM has added a fix to v7.5.0.5 and to v8.0.0.2 to allow this to continue to work, the APAR also has suggestions on how to change the application to work without the fix.

这篇关于PublishJMS处理器无法将消息写入IBM Websphere MQ的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆