扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
五.远程管理
MQ 在 WINDOWS 平台下具有图形化管理界面,但在 UNIX 平台下却只能通过命令行来进行操作。这样就给使用者带来很大的不便。我们都希望能通过图形界面来进行管理配置。为了实现我们的想法,我们就必须建立远程管理。
实现远程管理有以下几个步骤:
1 .被管理队列管理器上的命令队列 SYSTEM.ADMIN.COMMAND.QUEUE 存在并可用。对于 MQ 2 版本应执行 amqscoma.tst 脚本来创建。
2 .使用 strmqcsv 命令来启动被管理队列管理器上的命令服务器。
3 .确定被管理队列管理器上的服务器连接通道 SYSTEM.ADMIN.SVRCONN 是否存在,如果不存在则创建它。
4 .一般 Unix 、 Linux 平台中 MQ 默认的字符集为 819 ,而 Windows 平台为 1381 ,所以你必须改变其字符集,使两边的字符集相同。一般改被管理的字符集。
5 .如果被管理队列管理器上的操作用户与管理队列管理器上的操作用户不同,那么你首先要确认管理队列管理器上的操作用户在被管理队列管理器上存在并且有管理 MQ 的权限,再者,你需要修改服务器连接通道 SYSTEM.ADMIN.SVRCONN 的 MCAUSER 属性为管理队列管理器上的操作用户。
6 .启动被管理队列管理器上的侦听器。
做完这些工作之后,直接在管理队列管理器的 MQ 管理工具中显示被管理队列管理器即可。然后你就可以象操作本地队列管理器一样,在被管理队列管理器上定义你需要的 MQ 对象。
六.通道维护
在配置远程连接的时候,我们曾经创建过进程定义。那我们为什么要去创建进程定义呢?这就涉及 MQ 通道维护的概念。
通道长时间没有消息触发就会自动断开连接,不再保持运行状态。时间的长短可以由自己设定,默认值为 6000 秒。消息请求再次来临的时候,就必须再次启动通道。有些通道,如服务器连接通道、接收方通道等是自动触发启动的。当消息请求发送到通道后,通道立即启动,进入运行状态。但也有一些通道不会自动启动,最典型的就是发送方通道。当有消息请求需要使用通道进行消息传递的时候,发送方通道也不会自动启动并把消息发送到远程队列,而是把消息留在了与其相关联的传输队列中。
但是,在实际应用中我们又不可能每过一段时间去启动一次通道,或当有消息来再去启动通道。那应该怎么办?首先我们创建一个进程定义,这个进程定义的目的就是用来启动发送方通道。然后我们在传输队列的进程名称属性栏指定刚才定义的进程定义名称,再把触发器控制开关打开。这样,当有消息进入传输队列后,传输队列的触发器会启动触发执行指定的进程,从而启动发送方通道,把消息传输到远程队列中去。
七.总结
也许你会说你已经理解了 MQ ,包括基本概念、配置、管理以及程序的编写,那么恭喜你。我也希望如此。不过 MQ 也许并非如此简单,因本人水平有限,也只能到此为止,希望大家再接再厉。顺便说一句,如果有什么好想法,千万别忘了告诉我一声。如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者