Apache Nifi,PublishJMS处理器在将json消息发布到IBM Websphere MQ以覆盖JMS_IBM_*属性时失败

Apache Nifi,PublishJMS处理器在将json消息发布到IBM Websphere MQ以覆盖JMS_IBM_*属性时失败,jms,ibm-mq,apache-nifi,Jms,Ibm Mq,Apache Nifi,使用ref-to-post:--这很有帮助 但是,当从另一个队列读取消息时,将其发布到ibm mq队列时,我遇到了另一个问题。问题在于nifi将JMS_IBM_编码值默认为273 我尝试的场景是,从一个IBM MQ队列读取消息,并将其按原样放在另一个队列中,而不使用nifi进行任何修改。这意味着期望与IBM MQ术语中的转储和qload具有相同的功能 请告知如何在转发消息时保留这些值。这只是给您的一个提示,因为我不熟悉nifi,或者具体地说,如何使用JMS实现这一点:您可能需要研究是否可能,以及

使用ref-to-post:--这很有帮助

但是,当从另一个队列读取消息时,将其发布到ibm mq队列时,我遇到了另一个问题。问题在于nifi将JMS_IBM_编码值默认为273

我尝试的场景是,从一个IBM MQ队列读取消息,并将其按原样放在另一个队列中,而不使用nifi进行任何修改。这意味着期望与IBM MQ术语中的转储和qload具有相同的功能


请告知如何在转发消息时保留这些值。

这只是给您的一个提示,因为我不熟悉nifi,或者具体地说,如何使用JMS实现这一点:您可能需要研究是否可能,以及如何让JMS在从一个队列“传递所有上下文”时“保存所有上下文”当你排队时。谢谢你的建议。我使用的是同一个mqm用户,具有获取、设置和传递所有上下文的所有权限。但是仍然有一些关于nifi特定插件API如何默认值为273的问题,即使我强制它使用我从消息中获得的值。您知道如何在从插件执行put调用时检查env的设置吗?在较低级别的MQI API中,您可以使用open选项
MQOO_SAVE_ALL_CONTEXT
MQOO_PASS_ALL_CONTEXT
打开队列。如果使用上述选项打开相应的源队列和目标队列,那么MQMD将传递给新队列,这应该包括编码。如果jmsapi能做到这一点,我不知道答案。