MQ (Websphere 7) 将消息持久保存到文件系统

2024-04-29

我如何设置 MQ 以便收到的每条消息都立即写入文件系统? 我有“红皮书”,但至少需要有人至少指出书中的章节或标题来弄清楚。

我们是一家.NET 商店。我已经通过 API 编写了 C# 来读取队列,目前我们使用 BizTalk MQ 适配器。我们的最终目标是将相同的消息写入文件系统中的多个目录,以“克隆”我们各种测试环境(DEV、STAGE、TRAINING 等)的提要。 BizTalk 的问题在于,当我们使用该消息时,我们同时将其映射到一条新消息,因此该消息已经更改,并且我们希望克隆原始消息,而不是变形后的消息。我们的供应商不提供 feed 的多个副本,例如,他们提供 DEV 和 PROD,但我们内部有 4 个系统。

我想我可以做一个 C# Windows 服务来做到这一点,但如果可能的话,我宁愿使用 MQ 的内置功能。


无需配置。如果消息是持久的,WMQ 会将其写入磁盘。但是,我认为这不会对您有帮助,因为它们不是作为离散消息编写的。没有要复制的磁盘文件,并且仅当复制的 QMgr 与主 QMgr 相同并且在复制期间处于脱机状态时,复制才有效。

此问题有多种解决方案,但从 WMQ V7 开始,最简单的解决方案是使用内置的 Pub/Sub 功能。这假设消息通过 QMgr 到 QMgr 通道到达并落在队列上,然后您可以在其中使用它们。

在这种情况下,可以删除队列并在主题上创建同名的别名。然后,您创建一个新队列并定义一个管理订阅,将有关该主题的消息传送到新队列中。您的应用程序从新队列中消费。

当您需要将 feed 发送到另一个 QMgr 或应用程序时,定义一个新的订阅并将其指向新的目标队列。由于这是 Pub/Sub,MQ 会根据订阅的数量复制原始消息,并且第一个应用程序及其消息不受影响。如果您需要发送的目的地无法通过 MQ 通道访问(例如,DEV 和 QA 可能未连接),您可以将消息传递到新队列,使用 QLoad from支持包 MO03 http://ibm.co/SupptPacMO03将它们写入文件,然后使用 QLoad 的另一个实例将它们加载到不同的 QMgr 上。如果你想实时移动它们,你可以设置 Q 程序支持包 MA01 http://ibm.co/SupptPacMA01将它们直接从 QMgr1 上的新订阅队列移动到 QMgr2 上的目标队列。您可以根据需要跨多个系统进行复制。

SupportPacs 主页是here http://ibm.co/SupptPacs.

如果您只使用红皮书,您可能想看看信息中心。请务必使用与您正在使用的 WMQ 版本相匹配的信息中心。

  • WMQ V7.0 信息中心 http://publib.boulder.ibm.com/infocenter/wmqv7/v7r0/index.jsp
  • WMQ V7.1 信息中心 http://publib.boulder.ibm.com/infocenter/wmqv7/v7r1/index.jsp
  • WMQ V7.5 信息中心 http://pic.dhe.ibm.com/infocenter/wmqv7/v7r5/index.jsp
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MQ (Websphere 7) 将消息持久保存到文件系统 的相关文章

  • IBM MQ 8 的 JMeter 3.2 点对点配置 => Java 异常

    我尝试对 IBM MQ 8 使用 JMeter 点对点 JNDI 配置并收到以下错误消息 java lang IllegalStateException QueueConnectionFactory expected but got com
  • Amqmdnet - 打开/关闭每条消息的队列是否高效?

    我们有一些代码将消息发送到队列 它使用 amqmdnet dll 版本 8 0 0 6 队列管理器 Queuemanager 在应用程序启动时实例化一次并在整个应用程序中使用 发送消息时 会创建一个队列对象 然后将其关闭 我们应该为每条消息
  • IBM MQ 会话断开连接

    我正在创建一个像这样的 MQ 侦听器 它工作正常 但几分钟或几小时后就会因此异常而断开连接 我不控制服务器 这是通过专用电路而不是互联网进行的 我怀疑是网络问题其他服务在同一线路上运行没有问题 MQQueueConnectionFactor
  • 如何连接到部署到 OpenShift 的 IBM MQ?

    我有一个带有 IBM MQ 的容器 Docker 镜像ibmcom mq 9 2 2 0 r1 暴露两个端口 9443 管理 1414 应用程序 OpenShift 中所有必需的设置均已完成 Pod 服务 路由 有两条路线 每个港口一条 h
  • 将 Apache ServiceMix 连接到 Websphere MQ

    我正在尝试从部署为 Apache Service Mix 上的 OSGI 包的驼峰路由连接到 websphere MQ 队列管理器 我已经部署了 Websphere MQ 附带的 IBM OSGI 包 并按如下方式配置了 Spring 配置
  • SingleWrite 与 TripleWrite

    我非常清楚何时何地使用 SingleWrite 作为 MQ 中的日志算法是有利的 它有利于高吞吐量 低并发工作负载 当工作负载更加并发时 TripleWrite 的开销就不那么重要了 我不明白并且正在努力寻找任何有关 TripleWrite
  • 无法在 RedHat Enterprise Linux 中使用 WebSphere MQ 8 配置 HermesJMS

    我正在尝试配置HermesJMS v1 14 with WebSphereMQ v8 0 但是我不能 我看过几个教程 并且遵循了它们 尽管没有一个完全是这些版本 这就是我所做的 我已经下载了这个试用版MQ V8 0 Trial for Mu
  • 使用 spring 在 Ibm Websphere MQ 中实现重试逻辑

    我正在使用 Spring 和 Websphere MQ 进行以下消息传递配置 我需要实现一个场景的重试逻辑 其中我从队列接收消息并将消息数据放到弹性搜索服务器 搜索服务器是非事务性的 如果搜索服务器关闭 我必须回滚消息再次放入队列并在一段时
  • 是否有办法在 Azure 服务总线队列和 WebSphere 队列之间进行桥接?

    是否有办法在 Azure 服务总线队列和 WebSphere 队列之间进行桥接 最好是托管在 Azure 中的 东西 而不是本地产品 有一个维基页面How to Send message from an on premise IBM MQ
  • MQJE001:完成代码“2”,原因“2538”

    公共类 PtpReceiver public static void main String args TODO Auto generated method stub try MQEnvironment hostname 192 168 1
  • 跨 docker 容器共享内存

    如果使用 Java MQ 类 而不是 JTA 将 Websphere MQ 用作 XA 分布式事务 事务管理器 则 Java 应用程序和 WMQ 都需要驻留在同一主机上 有人告诉我这是因为共享内存被用作进程间通信机制 Java 应用程序和
  • 如何存储 Websphere MQ 消息以实现持久性?

    Websphere MQ 消息存储在数据库还是文件系统中 我可以将其配置为使用 MySQL 吗 WebSphere MQ 持久性始终是分布式平台的本地文件系统 在大型机上 可以在具有耦合设施的 Sysplex 中使用 DB2 数据库 但对于
  • MQ 安全性 - 在一个队列上获得 2035

    我有一个应用程序试图将消息放入远程队列管理器上的队列 LOG TRANSACTION IN 该消息最终失败并返回 2035 并被放入本地队列管理器的 DLQ 中 在本地队列管理器 QMLOCAL 上 应用程序将消息直接放在 SCTQ 上 因
  • Spring Batch - 并非所有记录都通过 MQ 检索进行处理

    我对 Spring 和 Spring Batch 相当陌生 所以如果您有任何疑问 请随时提出任何澄清问题 我发现 Spring Batch 存在问题 无法在测试或本地环境中重新创建 我们的日常工作是通过 JMS 连接到 Websphere
  • 队列管理器和消息代理之间的区别

    Websphere Message Broker 和队列管理器之间有什么区别 我猜队列管理器将消息放入队列 从队列中取出消息 将消息移动到回退队列等 那么代理的工作是什么 它位于发布者和队列管理器之间还是消费者和队列管理器之间 Websph
  • WebSphere MQ 确认和回复队列

    我们通过远程队列定义 CLIENT DATA 传输队列 发送 接收通道等 从队列管理器 QM MINE 队列管理器 QM CLIENT 和队列 CLIENT DATA 发送 XML 文本消息 消息到达目的地 客户端的 CLIENT DATA
  • 如何从 WMQ 获取 JMS 目标

    我正在使用 spring 集成使用来自 wmq 的消息 但我无法在消息头中获取 JMS 目标 我想知道消费消息的队列名称 在活动 mq 中 我们将获得一个名为 JMS Destination 的参数 其中队列名称可用 是否有可能使用 spr
  • 是否可以使用 JMS 进行 IBM MQ 消息分段?

    是否可以使用 JMS 实现消息分段 就像使用本机 IBM API 一样此处显示 http www 01 ibm com support docview wss uid swg21405730 我读过的一种可能的解决方案是 JMS 的消息分组
  • 为什么 com.ibm.jms.JMSTextMessage 类型的变量会打印截断的内容和省略号 (...)?

    我想了解为什么 com ibm jms JMSTextMessage 类型的变量在转换为字符串时会打印出截断的内容和省略号 我在 JMeter 的 JSR223 Sampler 中有以下代码 import com ibm msg clien
  • WebSphere MQ FTE 中的退出和调用有什么区别?

    最近有人问我这个问题 所以我想我应该在这里发布问题和答案 FTE 退出和 FTE 呼叫有什么区别 它们的用途是什么以及何时使用它们 背景WebSphere MQ File Transfer Edition WMQ FTE 是一个基于 Web

随机推荐