jms - 有没有办法在 Nifi 的 PublishJMS 处理器中更改交付模式?
问题描述
我正在使用 Nifi PublishJMS 处理器向 IBM MQ 发送消息。消息在 MQ 中具有持久性 = 持久性。我想将其更改为非持久性。Nifi PublishJms 处理器中是否有一个属性来纠正这个问题?或者它是从 MQ 端完成的。我无权访问 MQ 服务器,我只能检查传递到队列的消息。
解决方案
在低级别,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 知识中心页面“在 JMS 应用程序中创建目标”中。
属性名称:持久性
-2
- 在 send() 调用中指定,或者,如果在 send() 调用中未指定,则为消息生产者的默认持久性。-1
- 由 IBM MQ 队列或主题的 DefPersistence 属性指定。1
- 非持久。2
- 执着的。3
- 等效于 IBM MQ JMS 管理工具中使用的 PERSISTENCE 属性的值 HIGH。有关此值的说明,请参阅JMS 持久消息。
推荐阅读
- time - 为什么 PySpark 会删除时间戳偏移量?
- r - 用不同的值填充 r 中的数据框
- html - 大卡特尔 - 午休主题
- c++ - 如何显式指定 lambda 模板参数类型
- linux - 将结构数据传递给 Dbus
- reactjs - 使用 Redux Toolkit 和 Typescript 反应可观察的史诗
- javascript - 带钩子的 Material-UI 折叠表
- jsf - 如何使用 JSF、Primefaces 和 Richfaces 生成矩阵
- c - 从 Visual Studio 的源代码构建时出现 libcurl 重新定义错误
- laravel - 最安全的密码保存方法