我正在使用Nifi PublishJMS处理器向IBM MQ发送消息。消息在MQ中具有持久性=持久性。我想将其更改为非持久性。 Nifi PublishJms处理器中是否有属性可以纠正此问题?或者它是从MQ端完成的。我无法访问MQ服务器,我只能检查传递给队列的消息。
答案 0 :(得分:4)
在较低级别,MQ客户端应用程序可以指定以下持久性值:
MQPER_PERSISTENCE_AS_PARENT
(使用上一个主题下一个主题的值)MQPER_NOT_PERSISTENT
(不言自明)MQPER_PERSISTENT
(不言自明)MQPER_PERSISTENCE_AS_TOPIC_DEF
(使用此主题的值,主题的默认值为ASPARENT,因此这类似MQPER_PERSISTENCE_AS_PARENT
,其中默认值正在使用中)如果未指定任何内容,则MQPER_PERSISTENCE_AS_TOPIC_DEF
是默认值。
在JMS API中,您可以使用URI属性覆盖它,如下所示:
queue:///theQueueName?persistence=1
属性persistence
和所有URI属性都记录在IBM MQ v8知识中心页面" Creating destinations in a JMS application"。
属性名称:持久性
-2
- 如send()调用所指定的,或者,如果未在send()调用中指定,则为消息生成器的默认持久性。-1
- 由IBM MQ队列或主题的DefPersistence属性指定。1
- 非持久性。2
- 持久。3
- 相当于IBM MQ JMS管理工具中使用的PERSISTENCE属性的值HIGH。有关此的解释 值,请参阅JMS persistent messages。