多应用单MQ使用场景

如上图所示,MQ独立安装,或者与其中一个应用同处一机。Application1与Application2要进行通信,但因为跨系统,所以引入中间件来实现需求。
 
Application1需要连接MQ,并将消息放入队列Queue中,Application2同样连接MQ,监听在Queue队列上,一旦发现有消息进入则取出该消息进行处理。
下面将给出创建队列管理器和队列的示例:
    定义队列管理器名称为Qm1,本地队列名称为Queue,服务器连接通道CHAN_SERVER_CON,监听端口为1414,死性队列QDEAD
    搭建MQ队列可以使用图形用户界面也可以使用命令进行,此处使用命令进行。
1.创建MQ队列管理器,使用mqm用户登录MQ所在机器
mqm@localhos ~>$crtmqm Qm1
2.启动Qm1队列管理器
mqm@localhos ~>$strmqm Qm1
3.进入Qm1命令行
mqm@localhos ~>$runmqsc Qm1
4.定义一个本地队列Queue
DEFINE QLOCAL ('Queue')  DEFPSIST (YES) MAXDEPTH(100) REPLACE
'Queue'为队列名称,至于使用单引号的原因是,如果在shell脚本中不加单引号的话,最后创建出来的会变成大写QUEUE.。DEFPSIST(YES)表示该队列为持久化队列,MAXDEPTH(100)代表该队列的最大深度为100,如果消息超过了100的话,则会被放入死性队列。
5.在定义一个死性队列QDEAD
DEFINE QLOCAL ('QDEAD')  DEFPSIST (YES) MAXDEPTH(100) REPLACE
6..给Qm1设置指定的死性队列,当消息无法到达指定的Queue中时,会被放入死性队列QDEAD
ALTER QMGR DEADQ(‘QDEAD’)
7.定义服务器连接通道CHAN_SERVER_CON,该通道的用途是供应用程序连接的,应用程序通过服务器连接通道从而连接MQ。
DEFINE CHANNEL(‘CHAN_SERVER_CON’) CHLTYPE(SVRCONN) REPLACE
8.定义监听器LISTENER.TCP,该端口1414应用程序连接时需要指定。
DEFINE LISTENER('LISTENER.TCP') TRPTYPE(TCP) CONTROL(QMGR) PORT(1414) REPLACE
9.启动监听器LISTENER.TCP
START LISTENER('LISTENER.TCP')
 
到此为止这个需求中的MQ队列管理器已经创建完毕了。如果在创建过程中出现错误,或者想停止队列管理器,或者想删除重新创建,则执行下述命令:
1.删除前先停止队列管理器
ctrl+c可以冲命令行跳出,或者输入end回车也可以。
mqm@localhos ~>$endmqm Qm1    停止队列管理器
mqm@localhos ~>$dspmq                  查看当前队列管理器的执行状态,当队列管理器状态变为Ended normally时才能删除
mqm@localhos ~>$dltmqm Qm1       删除队列管理器,它会级联删除该队列管理器中的队列和监听器等等。
 
2.至于java如何与MQ通信,如何连接MQ队列此处不做过多的阐述了!

MQ队列管理器搭建(一)的更多相关文章

  1. MQ队列管理器搭建(三)

    MQ集群及网关队列管理器的搭建 描述:     如上图所示,为MQ的集群搭建部署图.CLUSTERA.CLUSTERB分别是两个集群,其中Qm1-Qm3.GateWayA为CLUSTERA集群中的队列 ...

  2. MQ队列管理器搭建(二)

    MQ级联方式使用场景 使用场景:     如上图所示,Application1与Application2要进行通信或者消息互换,使用MQ中间件作为中介.上图中,Application1与Applica ...

  3. mq队列管理器命令

    dspmq: 队列管理器显示 QMCIPSA-------队列管理器 runmqsc QMSAA  运行查找Q队列名 运行MQ命令 runmqsc QmgrName 如果是默认队列管理器,可以不带其名 ...

  4. com.ibm.msg.client.jms.DetailedJMSSecurityException: JMSWMQ2013: 为队列管理器提供的安全性认证无效

    com.ibm.msg.client.jms.DetailedJMSSecurityException: JMSWMQ2013: 为队列管理器“zm_queue_manager”提供的安全性认证无效, ...

  5. MQ队列管理

    分享一段代码,很实用. 下面这段java代码是我在国外一个论坛上发现的,源地址已经忘了.代码的作用是可以删除正在使用的mq的队列消息,管理mq的人一定知道它的美妙了吧,哈哈. 我拿来改了下,增加了2个 ...

  6. 用go-module作为包管理器搭建go的web服务器

    本篇博客主要介绍了如何从零开始,使用Go Module作为依赖管理,基于Gin来一步一步搭建Go的Web服务器.并使用Endless来使服务器平滑重启,使用Swagger来自动生成Api文档. 源码在 ...

  7. MQ队列及常见操作

    一. 创建MQ队列管理器 1.1准备工作 到所安装websphere mq的机子上,进入/opt/mm/bin目录下,查询相关mq的情况,通过命令行./dspmq. 创建mq队列管理器的的时候要用mq ...

  8. Java调用MQ队列

    IBM MQ 6.0中设置两个队列,(远程队列.通道之类都不设置). 队列管理器是XIR_QM_1502 队列名称是ESBREQ IP地址是10.23.117.134(远程的一台电脑,跟我的电脑不在一 ...

  9. 捣鼓一个Ajax请求管理器

    随着前端技术的不断发展,现在做的项目里很多页面里都会有大量的ajax请求,随之而来就有了一些问题: 1.没必要的ajax请求怎么处理? 2.ajax链式调用怎么维护? ajax链式调用最原始的写法: ...

随机推荐

  1. Centos7安装JStorm2.1.1

    系统环境 Centos7 外网ip 182.254.145.66 内网ip 10.105.23.114 安装位置  /usr/local/jstorm-2.1.1 安装zookeeper 参见 htt ...

  2. antlr v4 使用指南连载1——简介

    antlr v4简介        antlr是一个强大语言解析工具,可以用于处理结构化文本.二进制文件.说白了,其实可以这么认为,antlr是一个更强大的正则表达式工具.它可以完成更多正则表达式无法 ...

  3. Java-IO之CharArrayWriter(字符数组输出流)

    CharArrayWriter用于写数据,数据单位是字符. (1) 通过CharArrayWriter()创建的CharArrayWriter对应的字符数组大小是32. (2) 通过CharArray ...

  4. Android Studio重构之路,我们重新来了解一下Google官方的Android开发工具

    Android Studio重构之路,我们重新来了解一下Google官方的Android开发工具 记得我的第一篇博客就是写Android Studio,但是现在看来还是有些粗糙了,所有重构了一下思路, ...

  5. lk中内联调用的dsb()

    lk中内联调用的dsb() 比如lk的uart_dm_init()函数就调用了dsb() /* Configure the uart clock */ clock_config_uart_dm(id) ...

  6. C++为什么要设计友元函数和友元类

    1. 首先要提一下java,比如java定义一个类1.class,会生成字节码.java有反射机制,可以找到类对象,直接修改类的私有属性.逐渐反射机制成为了一种标准,sun做成标准,JDK的API函数 ...

  7. React Native入门教程 3 -- Flex布局

    上一篇文章中介绍了基本组件的使用 React Native入门教程(笔记) 2 – 基本组件使用及样式 本节内容将继续沿用facebook官方例子介绍如何使用Flexbox布局把界面设计的多样化. 转 ...

  8. 《java入门第一季》之有趣的集合小案例---获取10个【1-20之间】的随机数,要求不能重复。

    import java.util.ArrayList; import java.util.Random; /* * 获取10个[1-20之间]的随机数,要求不能重复.(注意:不是获取10个数,如果单纯 ...

  9. Gradle 1.12 翻译——第十八章. 日志

    有关其他已翻译的章节请关注Github上的项目:https://github.com/msdx/gradledoc/tree/1.12,或访问:http://gradledoc.qiniudn.com ...

  10. python的文件操作file:(内置函数,如seek、truncate函数)

    file打开文件有两种方式,函数用file()或者open().打开后读入文件的内容用read()函数,其读入是从文件当前指针位置开始,所以需要控制指针位置用: 一.先介绍下file读入的控制函数: ...