有没有办法在Nifi中更改PublishJMS处理器中的传送模式?

时间:2018-05-14 14:44:29

标签: jms ibm-mq apache-nifi

我正在使用Nifi PublishJMS处理器向IBM MQ发送消息。消息在MQ中具有持久性=持久性。我想将其更改为非持久性。 Nifi PublishJms处理器中是否有属性可以纠正此问题?或者它是从MQ端完成的。我无法访问MQ服务器,我只能检查传递给队列的消息。

1 个答案:

答案 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
  •