2

我是 WebSphere MQ 世界的初学者,这就是我正在寻找的:

我必须创建一个带有 2 台机器(发送方和接收方)的简单系统来共享队列上的消息:

PC 1 发送者 --> 队列 --> PC 2 接收者

两台机器都是基于 Windows 的,实际上在使用 virtualbox P1(主机)和 PC 2(来宾)的同一台物理 PC 上

这是我按照在线指南所做的:

PC 1 发件人:

  1. 已安装 Websphere MQ(完整试用版)
  2. 在 MQ 资源管理器上:
    • 队列管理器“QM.01”已创建
    • 使用 use=Transmission 创建的本地队列“Q.01”
    • 使用 queue=Q.01 创建的通道发送方“CH.01”以及对实际上是 1414 的连接的一些疑问

PC 2 接收器:

  • 仅安装了 MQExplorer
  • 尝试使用发送方 IP、1414 端口和 CH.01 通道创建远程队列管理器 --> 错误 2539(PC 1 配置有问题
  • 尝试使用发送方 IP、1414 端口和默认 SYSTEM.ADMIN.SVRCONN 通道创建远程队列管理器 --> 错误 4036(帐户身份验证有问题,我尝试使用相同的“Adminitrator@PC 1”用户。我'我还尝试在 PC 1 本身上创建远程队列管理器,结果相同)

我想我的错误可能在 PC 1 通道上,它的图标有一个黄色或蓝色三角形,并且 status=trying 不好。

附言。如果某些设置名称与英文版本不匹配,请原谅我,我必须翻译它们。


现在我已经能够QMgr在客户端 PC 上配置远程,我将学习如何编写一个简单的程序(可能在 中Java)从远程队列管理器上的队列中读取。

我找到了一些指南,但是在开始使用 Java 之前,我尝试从命令提示符进行amqsget测试amqsput

服务器机器没有问题(Websphere安装了完整的试用版),但控制台无法识别来自客户端的命令(两者都Websphere client安装MQ Explorer了)

我的错误在哪里,或者我错过了哪些段落?

4

2 回答 2

1

当您的应用程序需要通过网络与 QMgr 对话时,您可以创建 SVRCONN 通道,例如 SYSTEM.ADMIN.SVRCONN。使用 SVRCONN 通道的应用程序能够直接打开队列并从中放置或获取消息。无需创建传输队列或设置 USAGE=XMITQ 即可使客户端应用程序正常工作。

当您有两个需要通信的 QMgrs 时,您可以使用 MCA 通道连接它们。在发送 QMgr 上,这些包括 SENDER、SERVER 和 CLUSTER SENDER。在接收 QMgr 上将包括 RECEIVER、REQUESTOR 或 CLUSTER RECEIVER 通道。任何出站通道(SDR、SVR 或 CLUSSDR)都需要传输队列。

在您描述的示例中,只有一个 QMgr,因此不需要 SDR、SVR 或 CLUSSDR 通道。您将需要使用 SVRCONN,例如 SYSTEM.ADMIN.SVRCONN。您没有提到已定义侦听器,但显然您已定义,否则您将不会收到 2539 MQRC_CHANNEL_CONFIG_ERROR 消息。您获得 2539 的原因是因为您正尝试将客户端连接到为 QMgr 到 QMgr 连接而设计的通道。4036是因为配置不正确。

  • 删除 CH.01 并将其重新定义为 SVRCONN 通道。
  • 使用 USAGE=NORMAL 更改 Q.01
  • 配置 WMQ Explorer 以连接到 CH.01。
  • 正如 Shashi 所提到的,请查看一些基本文档。这些包括...

您可能还希望查看T-Rob.net上发布的 V7.1 和更早版本的 WMQ 安全实验室。虽然它是一个安全实验室,但它附带了构建实验室环境的脚本,包括 SVRCONN 和 SDR/RCVR 通道对,以及一个详细说明的实验室指南。

于 2012-08-21T13:50:04.893 回答
0

谢谢您的答复,

按照您的指示,我了解到我不需要两个 QMgr,而在发送机器上只需要一个。
因此,我将查询用法更改为正常,删除通道并默认保留其他配置:
系统.ADMIN.SVRCONN通道和1414端口上的LISTENER.TCP自动创建。

我还尝试将名为 CH.01 的频道重新定义为 SVRCONN 频道
(频道 > 新 > 服务器连接频道;然后在 SYSTEM.ADMIN.SVRCONN、SYSTEM.AUTO.SVRCONN 或 SYSTEM.DEF.SVRCONN 之间进行选择)
但不幸的是我无法“配置 WMQ Explorer 以连接到 CH.01”。

无论如何,我从第二台 PC 连接的每一次尝试现在都以 AMQ4036 错误结束;即使我在 CH.01 MCA 属性中将 ID 用户设置为我的 PC 管理员,并且我已将 PC 2 上的用户标识启用为管理员@PC 1。

我想要实现的是复制公司使用的应用程序,该应用程序从远程队列接收数据。
为测试给出的队列连接规范是:服务器名称/IP、端口和通道名称。
这就是为什么我尝试在接收 PC 上创建 QMgr 复制它的原因,因为当我尝试在我的公司机器上使用默认测试信息时,它可以创建一个包含所有可用测试队列的 QMgr。

我现在正在度假,我无法获得有关我公司设置的更多具体信息,但我希望能够复制这样的配置。

问候,弗拉维奥。

于 2012-08-23T08:33:18.007 回答