1.windows 中IBM MQ 的下载安装
首先去官网下载:
简单介绍下怎么找到官方的mq下载界面
a. 打开网站:https://developer.ibm.com/messaging/ibm-mq/
b.点击downloads,然后下载试用版:
c. 之后会有些步骤根据提示操作即可,注册、登录、还有一个使用他们提供的下载器下载。
下载完成之后就是解压,运行setup
然后就是常规套路一步步走:
注意要把这玩意关了:
否则:
点击完成,需要重启,继续
至此安装结束。
2.docker 部署IBM MQ 环境
//todo
3.IBM MQ Explorer使用
MQ Explorer 是可在其中管理和监视 IBM® MQ 对象的图形用户界面,无论这些对象是由本地计算机托管还是在远程系统上托管。
MQ Explorer 可在 Windows 和 Linux x86-64 上运行。它可以远程连接到任何受支持平台[z/OS](包括 z/OS®)上运行的队列管理器,使您能够通过控制台查看、探究和更改整个消息传递主干。
MQ Explorer 基于开放式源代码 Eclipse 技术构建而成。因此,MQ Explorer 可进行高度定制和完全扩展。您可以将新工具作为插件添加到 MQ Explorer 中,从而以集成到控制台的方式提供新功能。
您可以通过使用以下三种方法中的一种来启动 MQ Explorer:系统菜单、MQExplorer 命令或 strmqcfg 命令。
接下来我们启动MQExplorer:
开始菜单->MQ资源管理器
(注意:MQ 之前的版本应该叫做IBM WebSphere MQ,看一些文档的时候不要被名称困扰)
安装完成我们开始使用,使用前先看一些相关概念。
队列管理器是为应用程序提供消息传递服务的程序。使用消息队列接口(MQI)的应用程序可以将消息放置到队列并可从队列中获取消息。队列管理器确保消息可以发送至正确的队列或传递至另一个队列管理器。
队列管理器处理向它发出的 MQI 调用以及提交给它的命令(无论从哪个源)。队列管理器为每个调用或命令生成合适的完成代码。
队列管理器是 IBM® MQ 消息传递网络中的主要组件。 队列管理器主管网络中的其他对象,例如,将队列管理器连接在一起的队列和通道。队列管理器必须正在运行以执行下列任务:
启动通道
处理 MQI 调用
创建、删除或改变队列和通道定义
运行命令服务器以处理 MQSC 命令
队列是存放消息的容器。连接至主管队列的队列管理器的业务应用程序可从队列检索消息或将消息放置到队列。
队列在它可保存的最大消息数和这些消息的最大长度方面存在限制。
队列有很多种,就不一一细说,查看详细请去官网文档:
https://www.ibm.com/support/knowledgecenter/zh/SSFKSJ_8.0.0/com.ibm.mq.explorer.doc/e_queues.htm
主题标识发布的内容。主题是描述在发布/预订消息中所发布信息的主题的字符串。作为订户,您可以指定一个主题或使用通配符指定主题范围以用于接收您所需的信息。
主题标识发布的内容,它由长度最大可为 10240 个字符的字符串组成。主题是发布/预订系统中成功传递消息的关键。发布者为每条消息分配一个主题,而不是在每条消息中包含一个特定目标地址。队列管理器将该主题与预订该主题的一组订户相匹配,并将消息传递至其中每个订户。
发布者通过仔细选择消息中指定的主题,可以控制哪些订户接收到发布。
在定义消息的主题之前,发布者也可以使用该消息;在发布或预订中首次指定消息时,会创建一个主题。
发布是由应用程序发送至发布/预订引擎的消息。然后,发布/预订引擎将消息发送至任何已预订接收这些消息的应用程序。
发布/预订引擎可根据发布中包含的信息类型以不同方式处理它接收的发布。
预订(官网这样叫,我就这样写吧,正常我们叫订阅吧)是一个记录,它包含关于订户感兴趣并希望接收关于其信息的主题的信息。因此,预订信息确定哪些发布内容会转发至订户。订户可以接收来自不同发布者的信息,并且也可以将他们接收的信息发送至其他订户。
发布的信息将在 IBM® MQ 消息中进行发送,该信息的题目通过主题进行标识。发布者在发布信息时指定主题,而订户则指定它要接收的发布所针对的主题。将仅对订户发送关于它预订的那些主题的信息。
IBM WebSphere® MQ V7.0 或更高版本的队列管理器使用发布/预订引擎来控制发布者与订户之间的交互。发布/预订引擎接收来自发布者的消息和来自订户的预订请求(针对主题范围)。发布/预订引擎的工作是将发布的数据传递至目标订户。
订户可以指定他们不想接收到保留发布,并且现有订户可以要求将保留发布的重复副本发送给他们。有关保留发布的更多信息,请参阅发布。
通道:
IBM® MQ 可以使用三种不同类型的通道:消息通道、MQI 通道和 AMQP 通道。
请勿混淆这三种不同类型的通道:
消息通道
消息通道是两个队列管理器之间的单向通信链路。IBM MQ 使用消息通道在队列管理器之间传送消息。 要双向发送消息,您必须定义每个方向的通道。
MQI 通道
MQI 通道是双向通道,用于将应用程序(MQI 客户机)连接至服务器上的队列管理器。IBM MQ 使用 MQI 通道在 MQI 客户机和队列管理器之间传送 MQI 调用和响应。
Distributed[V8.0.0.4 Oct 2015]AMQP 通道
AMQP 通道,这是双向通道,用于将 AMQP 客户机连接到服务器上的队列管理器。IBM MQ 使用 AMQP 通道在 AMQP 应用程序和队列管理器之间传送 AMQP 调用和响应。
当提到消息通道时,通道一词常用作通道定义的同义词。通常从上下文中能清楚地分辨出我们正在谈论的是一个完整的通道(带有两端)还是一个通道定义(只有一端)。
消息通道
消息通道定义可以是下列其中一个类型:
消息通道定义类型 描述
发送方 发送方通道是队列管理器用来将消息发送至其他队列管理器的消息通道。要使用发送方通道来发送消息,还必须在另一队列管理器上创建与此发送方通道同名的接收方通道。如果正在实现“回调”机制,那么还可以将发送方通道与请求方通道一起使用。
服务器 服务器通道是队列管理器用来将消息发送至其他队列管理器的消息通道。要使用服务器通道来发送消息,还必须在另一队列管理器上创建与此服务器通道同名的接收方通道。您还可将服务器通道与请求方通道一起使用。在此情况下,在通道另一端的请求方通道定义将请求要启动的服务器通道定义。服务器将消息发送至请求方。只要服务器知道对方通道的连接名称,它还可启动通信。
接收方 接收方通道是队列管理器用来从其他队列管理器接收消息的消息通道。要使用接收方通道来接收消息,还必须在另一队列管理器上创建与此接收方通道同名的发送方通道或服务器通道。
请求方 请求方通道是队列管理器用来将消息发送至其他队列管理器的消息通道。要使用请求方通道发送消息,还必须在另一队列管理器上创建发送方通道(如果您正在实现回调机制的话)或服务器通道。
集群发送方 集群发送方 (CLUSSDR) 通道定义用来定义通道发送端,集群队列管理器可通过它将集群信息发送至其中一个完整存储库。集群发送方通道用于告知存储库有关队列管理器状态的任何更改,例如,添加或除去队列。它还用于传输消息。完整存储库队列管理器自身拥有指向彼此的集群发送方通道。它们使用这些通道以就集群状态的更改进行相互通信。队列管理器的 CLUSSDR 通道定义指向哪个完整存储库不是很重要。在进行了最初的接触之后,会根据需要自动定义更多的集群队列管理器对象,以便队列管理器可将集群信息发送至每个完整存储库并将消息发送至每个队列管理器。有关更多信息,请参阅队列管理器集群。
集群接收方 集群接收方 (CLUSRCVR) 通道定义用来定义通道接收端,集群队列管理器可通过它从集群中的其他队列管理器接收消息。集群接收方通道还可传送有关集群的信息(发往存储库)。通过定义集群接收方通道,该队列管理器对其他集群队列管理器表示它可用于接收消息。每个集群队列管理器至少需要有一个集群接收方通道。有关更多信息,请参阅队列管理器集群。
对于每个通道,您必须定义两端以便获取通道每一端的通道定义。通道的两端必须是兼容类型。
您可使用下列通道定义的组合:
发送方-接收方
服务器-接收方
请求方-服务器
请求方-发送方(回调)
集群发送方-集群接收方
消息通道代理程序
您创建的每个通道定义都属于特定队列管理器。队列管理器可具有同一类型或不同类型的几个通道。通道的每一端是一个程序,即消息通道代理程序 (MCA)。在通道的一端,调用方 MCA 从传输队列获取消息并通过通道发送它们。在通道的另一端,响应方 MCA 接收这些消息并将它们传递至远程队列管理器。
调用方 MCA 可与发送方通道、服务器通道或请求方通道关联。响应方 MCA 可与任何类型的消息通道关联。
IBM MQ 在连接的两端支持通道类型的以下组合:
调用方 消息流方向 响应方
通道类型 需要侦听器吗? 需要侦听器吗? 通道类型
发送方 否 从调用方至响应方 是 接收方
服务器 否 从调用方至响应方 是 接收方
服务器 否 从调用方至响应方 是 请求方
请求方 否 从响应方至调用方 是 服务器
请求方 是 从响应方至调用方 是 发送方
MQI 通道
MQI 通道可以是下列其中一个类型:
MQI 通道类型 描述
服务器连接 服务器连接通道是双向 MQI 通道,用于将 IBM MQ 客户机连接至 IBM MQ 服务器。服务器连接通道是通道的服务器端。
客户机连接 客户机连接通道是双向 MQI 通道,用于将 IBM MQ 客户机连接至 IBM MQ 服务器。MQ Explorer 还使用客户机连接来连接至远程队列管理器。客户机连接通道是通道的客户机端。当您创建客户机连接通道时,在主管队列管理器的计算机上创建一个文件。然后,您必须将该客户机连接文件复制到 IBM MQ 客户端计算机。
Distributed[V8.0.0.4 Oct 2015]
AMQP 通道
只有一种类型的 AMQP 通道。
使用此通道连接 AMQP 消息传递应用程序和队列管理器,从而使该应用程序能够与 IBM MQ 应用程序交换消息。AMQP 允许您使用 MQ Light 开发应用程序,然后将其部署为企业应用程序,从而利用 IBM MQ 提供的企业级功能。
有关通道的更多信息,请参阅 IBM MQ 联机产品文档中的通道。
http://www.ibm.com/support/knowledgecenter/SSFKSJ_8.0.0/com.ibm.mq.pro.doc/q003220_.htm?view=kc
常用基本概念介绍完毕我们开始配置一个用例:
创建队列管理器:
在队列管理器上右键,然后起个名儿执行一通下一步套路,
之后。。。
创建完成后:
队列管理器启动的坑:
如果启动时候报错:AMQ7077
没有权限。
windows中,用管理员方式启动cmd,
执行:strmqm shtmq(管理器名称)
效果等同于在图形化界面 右键->连接
如果连接队列管理器时候报错:AMQ7252
说明MQ服务没有在运行。
命令行执行:
strmqsvc.exe 启动服务。
创建好队列管理器后,创建队列。
在队列上右键->新建->本地队列
下一步
完成
放个测试消息看看:
输入消息数据,点击放入消息
然后右键队列->浏览消息 就可以看到刚刚放入的消息了。
简单的搭建和了解IBM MQ告一段落,下一篇再介绍通过java连接IBM MQ.