WebSphere MQ 自学笔记

来源:互联网 发布:中华小当家 知乎 编辑:程序博客网 时间:2024/04/29 08:16
 

WebSphere MQ 自学笔记

 

1、  MQ6.0安装

1.1 启动MQ v6.0 安装程序

           双击Setup.exe以启动安装程序。

安装程序启动后,显示界面如下图所示:

 

 

1.2 软件需求检查

           点击“软件需求”,已安装的软件会在右侧打勾,未安装的会打叉

选择必备软件的安装途径。在WebSphere MQ 安装软件中列出两种安装途径,分别为:

CD -ROM

网络(N)

 

在本次安装过程中,由于 WebSphere Eclipse Platform V3.0.1 未安装,因此,单击WebSphere Eclipse Platform V3.0.1左侧的+号,展开安装路径,选择CD-ROM,从随盘的安装介质进行安装。

 

 

 

1.3 WebSphere Eclipse Platform V3.0.1软件安装

           选择CD-ROM方式安装,启动安装

 

不停的点下一步,选择安装路径,即可安装。

 

 

1.4 网络配置检查

           单击[网络配置(C)] 图标,进入网络配置界面,这里由于MQ服务器没有在域控制器中,所以选择[否] 单选钮,如果你的MQ服务器在域控制器中,请域管理员提供域帐户,并选择[是] 单选钮

          

1.5 迁移SSL证书(M)

若需迁移SSL证书,请参见WebSphere MQ SSL证书迁移的专题文档

 

1.6 WebSphere MQ 安装

在上述各步工作完成之后,单击[WebSphere MQ 安装(I)] 图标,进入安装界面,单击[启动WebSphere MQ 安装程序(L)]按钮,进行WebSphere MQ安装

           跟普通软件安装差不多,就是要选择定制安装,然后在选择安装的功能部件部分,请选择安装全部功能部件

           最后点安装。

 

1.7 WebSphere MQ 配置向导

           安装完成后,会弹出配置向导,点下一步,域控制器那栏,选择否,点下一步,直接点下一步完成即可。

 

 

1.8 安装验证

 

使用样本应用程序将消息放置到队列并从队列读取该消息。 下面介绍手工创建对象验证安装的方法。

使用以下步骤来安装队列管理器和队列:

创建名为 venus.queue.manager 的缺省队列管理器。在窗口的命令提示符下,输入以下命令:

crtmqm -q venus.queue.manager

 

启动队列管理器。输入以下命令:

strmqm venus.queue.manager

 

启用 MQSC 命令。输入以下命令:

runmqsc venus.queue.manager

 

定义名为 ORANGE.QUEUE 的本地队列。输入以下命令:

define qlocal (orange.queue)

 

MQSC 中的任何小写字母都将自动转换成大写,除非用单引号将它们括起来。这意味着如果用名称 orange.queue 创建了队列,则记住在 MQSC 以外的其它命令中必须使用 ORANGE.QUEUE。

 

停止 MQSC。输入以下命令:

End

 

现在已经定义了以下对象:

名为 venus.queue.manager 的缺省队列管理器

名为 ORANGE.QUEUE 的队列

 

整个操作图如下:

1.9测试对象

要测试队列和队列管理器,请使用样本程序 amqsput (将消息放入队列)和 amqsget(从队列获取消息):

           启动MS-DOS窗口,进入到c:\Program Files\IBM\WebSphere MQ\bin目录下。

将消息放入队列,输入以下命令:

amqsput ORANGE.QUEUE

 

显示以下消息:

Sample amqsput0 start

target queue is ORANGE.QUEUE

输入一些字符数据,然后按 Enter 键两次。显示以下消息:

Sample amqsput0 end

 

现在消息已经被放在队列。

要从队列获取消息,请输入以下命令:

amqsget ORANGE.QUEUE

在屏幕上将显示您刚才输入的字符数据消息。暂停后,例子程序结束。

 如果以上步骤都能完成,则完成了本地安装的验证。

注: 如果在任何阶段中断整个安装过程,则应该从头开始重新运行安装。

 

操作流程图如下:

 

 

 

至此,MQ安装完成。

 

 

2、WebSphere MQ 概述

           WebSphere MQ(以下简称MQ)是IBM公司享有盛誉的商业通信中间件。它被世界范围的许多大型企业广泛采用。它提供一个具有工业标准、安全、可靠的消息传输系统。MQ基本由一个消息传输系统和一个应用程序接口组成。应用程序使用MQ的API(消息队列接口MQI)函数和队列管理器(MQ运行时刻的程序)进行通信。队列管理器在工作时,它需要用到对象如队列和通道。同时,队列管理器也是一个对象。

           消息是一个信息单元,它由两部分组成:从一个程序发往另外一个程序的应用程序数据以及消息描述符或者消息头。

           消息描述符用来标识消息(message ID),同时它还包括一些控制信息,如消息类型,消息过期的时间,消息优先级等等。

           一条消息的最大长度为100MB,默认的最大消息长度为4MB。消息的最大长度依赖于MQ的版本。MQ第五版支持消息的最大长度为100MB。

           队列是一个安全的存储消息的地方,消息的存储一般是有顺序的。因为消息存放在队列中,所以应用程序可以以不同的速度、在不同的时间、不同的地点相互独立的运行。

           消息队列通信是应用程序之间进行通信的一种方式。应用程序在没有专有连接或者物理连接的情况下,能够通过向队列写入或读出消息进行通信,也即程序之间不是通过互相调用,而是通过向队列发送数据来进行通信。在这种通信方式下,应用程序不需要具有并发性。对于异步的消息通信,程序发送方不需要专门等待已发消息的回复,而是可以处理下一个事件。与之相对的是,同步消息通信在处理下一个事件之前必须等待已发消息的回复。对于用户来说,底层的协议是透明的。用户只需要考虑会话的程序或数据入口。

      MQ应用于客户机/服务器模式或者分布式系统。应用程序可以工作在一个工作站上,也可以运行在不同平台的不同机器上。应用程序具有很好的移植性,能够轻松的从一个系统或者平台转移到另一个系统或者平台。程序的编写支持多种语言,包括Java。同样的,队列也适合许多不同的平台。

           因为MQ通过队列进行通信,所以它可以被看成是使用间接的程序--程序方式通信。程序员可以不指定接收消息的目标程序的名称,但是可以指定接收消息的队列的名称,每一个队列和一个程序相联系,一个程序可以有一个或者多个接收队列,而且可以有多个输出队列。输出队列包含着很多信息,这些信息可以是用来供服务器处理的,也可以是返还给发送消息的客户端的回复信息。

         使用MQ进行通信时程序员不必担心目标程序是否可用或是否繁忙,甚至不用考虑目标机器是否正常运行或者是否连接上了。程序员发送消息给目标队列,而目标队列是和目标程序相联系的,目标程序可能目前不可用。不用担心,MQ能够解决这种情况,如果需要,它甚至能够启动目标程序。

      如果目标程序不可用,消息会停留在队列中,稍后再被处理。队列可以在发送消息的机器中,也可以在接收消息的机器中,这取决于两台机器的两个系统之间是否能够建立连接。应用程序可以整天运行,也可以采用激发机制,所谓激发,就是指当有一条或数条消息到达队列时自动启动某个程序。

         简单地说:MQ的核心部分是一个能够存储消息的服务器及一组能够转发消息的进程,分布在多个系统(异地、异种平台)上的应用程序依靠这种机制来交换要处理的数据2。队列管理器作为一个服务器,把消息以可靠的方式存储,即使机器发生故障重新启动后依然不会丢失,其可靠级别与数据库服务器相等。队列管理器间通过特别的交换机制保证数据不会因为底层网络的故障而丢失,并且能够在多点间接力式地传送。

     

 

2.1   MQ基本操作

 

2.1.1 建立侦听端口

 

在WINDOWS下面可以定义自动启动队列侦听器。

 

用命令行(可在多种系统下通用)的方式为:

runmqlsr –t 协议名 –m 队列管理器名 –p 侦听端口

一般默认端口为1414。

 

 

 

2.1.2建立队列管理器间的消息通道

 

双方各建立一发送方通道与接收方通道。需要注意的是发送方通道的名字需要与对方接收方通道的名字一样。如:

 

队列管理器A,有发送方通道A.B、接收方通道B.A

则队列管理器B需要定义如下:发送方通道B.A、接收方通道A.B

 

另,如果对方管理器的侦听端口不是默认端口(1414),则建立发送方通道的时候在连接名称不仅需要填上对方的主机名(或IP地址)还需要以带(port)的形式把对方管理器的侦听端口填上。

 

如:winserver(50000)则表示连接到winserver这台主机侦听端口为50000的队列管理器上。

注:如果需要建立一个永久连接则需要把心跳间隔的时间定为0,否则一定时间内没消息发送的话,队列管理器会自动断开连接的。

 

 

2.1.3建立远程队列实现消息的传送

在建立好消息通道后就可以建立远程队列指定对方的管理器名与对方的队列名。

注:在定义发送方通道的时候需要指定一个传输队列。而定义远程队列的时候也需要指定一个传输队列。必须注意此2个队列的一致性,否则可能把消息发送到不同的队列管理器上了。

 

2.2   MQ基本命令

 

1、启动队列管理器

strmqm 队列管理器名

 

2、停止队列管理器

endmqm 队列管理器名

 

3、创建队列管理器

crtmqm 队列管理器名

 

4、删除队列管理器

dltmqm 队列管理器名

 

5、进入MQSC管理模式

runmqsc 队列管理器名

 

6、启动侦听端口

runmqlsr –t 协议名 –p 端口 –m 队列管理器名

 

7、停止侦听端口

endmqlsr –m 队列管理器名

 

8、显示目前已经创建的队列管理器

dspmq

注:此命令仅在MQ5.2以上才适用。

 

9、在进入MQSC管理模式(即执行第五步)命令简单介绍

a、启动通道

start chl(通道名)

b、停止通道

stop chl(通道名)

c、检查通道

ping chl(通道名)

d、通道复位

reset chl(通道名)

e、解决未知状态

resolve chl(通道名) action(commit)

f、显示所有本地队列名

dis ql(*)

g、显示所有通道名

dis chl(*)

 

10 查看队列管理器

dspmq

 

2.3   使用java编写MQ访问程序

 

1、MQQueueManager―――队列管理器访问类

常用方法:

public MQQueueManager(String queueManagerName)―――建立一个管理器实例

注:如果使用绑定的方式则可以直接创建一个新的队列管理器实例。但是在某些平台下这样直接创建会出错,必须采用MQClient的方式进行连接。此时需要先定义服务通道,端口,服务名等环境变量,再创建一个队列管理器实例。如:

MQEnvironment.hostname = “127.0.0.1”;

MQEnvironment.port = 50000;

MQEnvironment.channel=”SRVCHL”;

MQQueueManager manager = new MQQueueManager(“BOSS_ZH”);

其中hostname表示队列管理器所在的机器地址(一般在本地则填localhost或127.0.0.1)。port就是队列管理器的侦听端口。Channel定义访问的服务器通道名(需要自己在队列管理器中先定义,其方法类似与一般通道的定义,不过类型是服务器通道)

public synchornized MQQueue accessQueue(String QueueName,int openOptions)―――返回一个连接队列的实例(类名为:MQQueue)

openOptions的常用值有:

MQC.MQOO_FAIL_IF_QUIESCING―――如果队列管理器停止则返回失败

MQC.MQOO_OUTPUT――――以写方式打开队列

MQC.MQOO_INPUT_AS_Q_DEF―――以队列默认读取方式打开队列

使用的时候可以采用与操作来实现多种打开队列方式,如:

int openOptions = MQC.MQOO_FAIL_IF_QUIESCING | MQC.MQOO_OUTPUT | MQC.MQOO_INPUT_AS_Q_DEF;

表示以读、写方式打开队列

 

public bool isConnected()―――返回队列管理器是否在连接状态

public synchronized void disconnect()―――断开队列管理器的连接

 

2、MQQueue―――队列访问类

常用方法:

通常MQQueue实例的生成通过调用MQQueueManager的accessQueue方法类实例化。

public synchronized void get(MQMessage message,MQGetMessageOptions gmo)―――从队列管理器读取一条消息

通过message实例返回。MQGetMessageOptions的用法下面再详述。

public synchronized void put(MQMessage message,MQPutMessageOptions pmo)―――往队列管理器放入一条消息

MQPutMessageOptions的用法下面再详述

public synchronized void close()―――关闭队列的连接

 

3、MQMessage―――消息操作类

常用方法:

public MQMessage()―――默认构造函数

public int getDataLength()―――返回可读取的消息的长度(以byte作为单位)

public void readFully(byte b[])―――读取消息到数组b中,长度以b的数组长度为准

一般读取消息的操作为:

MQMessage message = new MQMessage();

….

int length = message.getDataLength();

byte buffer[] = new byte[length];

message.readFully(buffer);

public void write(byte b[])―――把指定的字节数组写入消息

一般写消息的操作为:

byte[] buffer = “asdasdad”.getBytes();

MQMessage message = new MQMessage();

….

message.write(buffer);

queue.put(message….

 

4、MQGetMessageOptions―――取消息操作选项

常用方法:

public MQGetMessageOptions()―――默认构造函数

public int options―――操作选项(位操作)

public int matchOptions―――条件选项(按照某种条件获取消息)

public int waitInterval―――等待时长(单位:毫秒)仅当options选项有MQC.MQGMO_WAIT才有效

 

5、MQPutMessageOptions―――方消息操作选项

常用方法:

public MQPutMessageOptions()―――默认构造函数

public int options―――操作选项(位操作)

 

 

3、WebSphere MQ  Java编程实例

JMS是J2EE中的一个接口标准,为JAVA程序定义了一种标准的使用消息交换数据的编程方式,但JMS本身并不能实现消息的传送,一个调用JMS的应用程序发出消息调用后,具体的消息传送工作还需要底层的消息中间件来执行传送工作。JMS的作用就是使应用程序开发人员不需要关心底层的传送软件的种类,同一段程序,既可以用MQ传送,也可以用其他消息中间件来传送,如WEBLOGIC内含的具有消息中间件功能的部件。

           MQ软件提供一个JAVA软件包,里面有JMS类库,和一套MQ的类库。不熟悉MQI编程方法的程序员可以用JMS,比较熟悉MQI编程方法的程序则可以用MQ类库来编程。下面的小程序是使用Java实现从队列管理器QM_SERVER中的队列INITQ写入或读出消息。

     

 

3.1 开发前步骤

3.1.1将消息发送至本地队列

 

首先,先按照第一节,建立队列管理器,队列等。如图:

 

3.1.1.1 使用 MQSC 创建队列管理器

 

打开命令提示符,然后按照以下步骤操作:

 

通过输入以下命令来创建名为 QM_APPLE 的缺省队列管理器:

 

crtmqm -q QM_APPLE

 

此时会显示消息,告诉您已经创建了队列和缺省 WebSphere MQ 对象。

 

通过输入以下命令来启动此队列管理器:

strmqm

 

此时会显示一条消息,告诉您何时启动了该队列管理器。

 

结果

 

您现在已经创建了名为 QM_APPLE 的队列管理器。下一个任务是创建此队列管理器将管理的本地队列。

 

3.1.1.2使用 MQSC 创建本地队列

 

打开命令提示符,然后按照以下步骤操作:

               

              通过输入以下命令来启用 MQSC 命令:

runmqsc

               

              输入以下命令:

 

define qlocal (Q1)

 

此时会显示消息,告诉您已经创建了队列和缺省 WebSphere MQ 对象。

               

              通过输入以下命令来停止 MQSC:

 

end

 

结果

 

您现在已经创建了名为 Q1 的本地队列。下一个任务是将测试消息放入此新创建的本地队列中。

 

 

 

3.1.1.3 往队列放消息

 

使用 amqsput 样本程序来将消息放入您创建的队列。

 

              启动 amqsput 样本程序,如下所示:

               

              在 Linux 上,切换到 /opt/mqm/samp/bin 目录,然后输入命令:./amqsput Q1

               

              在 Windows 上,输入命令:amqsput Q1

 

      在一行或多行上输入某些消息文本,然后按 Enter 键两次。 则把消息put进Q1队列

 

结果

 

您现在已经创建了测试消息并将其放入本地队列

 

 

3.1.1.4 从队列取消息

 

使用 MQSC 验证是否已发送测试消息

 

使用 amqsget 样本程序来从队列中取回消息。

 

启动 amqsget 样本程序:

               

              在 Windows® 上,输入以下命令:amqsget Q1

              在 Linux® 上,切换到 /opt/mqm/samp/bin 目录,然后输入以下命令:./amqsget Q1

 

结果

 

此时会启动该样本程序,并显示您的消息以及此队列上的任何其他消息。在暂停 15 秒钟后,样本程序结束,并再次显示命令提示符。

 

整个操作如下图:

 

 

3.1.2 将消息发送至远程队列

 

设置一台计算机上的队列管理器 QM_ORANGE 与另一台计算机上的队列管理器 QM_APPLE 之间的消息传递。在第一台计算机上创建的消息被传递到第二台计算机上的队列Q1(此队列被称为远程队列)。

 

将使用创建了队列管理器 QM_APPLE 和本地队列 Q1 的机器作为接收机器。

 

将在发送机器上设置队列管理器和队列(远程队列定义和传输队列)。然后定义消息通道。最后,您将把测试消息放入发送机器,并从接收机器上的队列获取该消息。

 

 

3.1.2.1 在发送机器上创建队列管理器

 

在发送机器上打开命令提示符,然后按照以下步骤操作:

              1. 通过输入以下命令来创建名为 QM_ORANGE 的缺省队列管理器:

 

crtmqm -q QM_ORANGE

 

此时会显示消息,告诉您已经创建了队列和缺省 WebSphere MQ 对象。

               

              2. 通过输入以下命令来启动此队列管理器:

strmqm QM_ORANGE

 

此时会显示一条消息,告诉您何时启动了该队列管理器。

 

 

3.1.2.2 在发送队列管理器上创建队列

 

使用 MQSC 来在发送队列管理器上创建队列

 

在发送机器上打开命令提示符,然后按照以下步骤操作:

              1. 通过输入以下命令来启动 MQSC:

 

runmqsc

此时会显示一条消息,告诉您 MQSC 会话已启动。

              2. 通过输入以下命令来定义名为 QM_APPLE 的本地队列:

 

define qlocal (QM_APPLE) usage (xmitq)

 

此时会显示一条消息,告诉您何时创建了该队列。

               

              3. 通过输入以下命令来定义远程队列定义:

  

 define qremote (Q1) rname (Q1) rqmname(QM_APPLE) xmitq (QM_APPLE)

 

 

3.1.2.3 在创建消息通道

 

在接收机器上打开命令提示符,然后按照以下步骤操作:

              1. 通过输入以下命令来启动 MQSC:

 

runmqsc

 

此时会显示一条消息,告诉您 MQSC 会话已启动。

               

              2. 通过输入以下命令来定义接收通道:

  

  define channel (QM_ORANGE.QM_APPLE) chltype (RCVR) trptype (TCP)

 

 

此时会显示一条消息,告诉您何时创建了该通道。

 

              3. 打开新的命令窗口并查看哪些端口空闲。输入下列命令:

 

netstat -an

 

这将显示正在运行的进程的列表。查看每个进程的端口号以了解端口 1414 是否正在使用中;您可以通过查看本地地址列来找到它。该信息采用 ip_address:port_being _used 格式提供。

如果端口 1414 未使用,那么稍后在验证时使用 1414 作为侦听器和发送方通道的端口号。如果它在使用中,那么选择未使用的备用端口;例如,如果 1415 未被另一进程使用,那么选择该端口

 

              4. 验证要求您启动缺省 WebSphere MQ 侦听器。缺省情况下,该侦听器将侦听端口 1414。如果在先前步骤期间发现端口 1414 空闲,那么不需要任何操作,继续进行下一步。如果必须使用除 1414 之外的端口,那么修改 SYSTEM.DEFAULT.LISTENER.TCP 的定义。例如,要使用端口 1415,请在 MQSC 窗口中输入下列命令:

 

alter listener(system.default.listener.tcp) trptype(tcp) port(port_number)

 

如:alter listener(system.default.listener.tcp) trptype(tcp) port(1415)

 

其中 port_number 是应该对其运行侦听器的端口的号码。这必须与下面定义发送方通道时使用的号码相同。

 

              5. 在 MQSC 窗口中,通过输入下列命令,启动缺省 WebSphere MQ 侦听器:

 

start listener(system.default.listener.tcp)

 

              6. 通过输入以下命令来停止 MQSC:

 

end

 

 

 

将显示一些消息,然后会显示命令提示符。

 

在发送机器上打开命令提示符,然后按照以下步骤操作:

               

              7. 通过输入以下命令来启动 MQSC:

 

runmqsc

 

此时会显示一条消息,告诉您 MQSC 会话已启动。

 

8. 通过输入以下命令来定义发送方通道:

 

define channel(QM_ORANGE.QM_APPLE) chltype(sdr) conname('con-name(port)') xmitq(QM_APPLE) trptype(tcp)

 

如:define channel(QM_ORANGE.QM_APPLE) chltype(sdr) conname('172.20.35.78(1415)') xmitq(QM_APPLE) trptype(tcp)

 

值 con-name 是接收方工作站的 TCP/IP 地址。值 port 是接收方机器上对其运行侦听器的端口,缺省值是 1414。

 

 

              9. 通过输入以下命令来启动通道:

 

start channel (QM_ORANGE.QM_APPLE)

 

              10. 通过输入以下命令来停止 MQSC:

 

end

 

将显示一些消息,然后会显示命令提示符。

 

 

结果

 

您现在已经创建了将消息从发送队列管理器 QM_ORANGE 发送到接收队列管理器 QM_APPLE 上的队列 Q1 所需的全部 WebSphere MQ 对象。

 

 

3.1.2.4 将测试消息放入队列

 

 

使用 MQSC 来将测试消息放入队列

 

在发送机器(主管队列管理器 QM_ORANGE 的机器)上执行此任务。

 

 

使用 amqsput 样本程序来将消息放入您创建的队列。

 

 

 

在 Windows® 上,缺省情况下样本程序随 WebSphere® MQ 服务器或客户机一起安装。

 

在 Linux® 上,需要安装样本程序 RPM。

 

打开命令提示符,然后按照以下步骤操作:

 

              1. 启动 amqsput 样本程序,如下所示:

              若在 Linux 上,切换到 /opt/mqm/samp/bin 目录,然后输入命令:./amqsput Q1

              若在 Windows 上,输入命令:amqsput Q1

 

此时会显示以下消息:

样本 amqsput0 启动 目标队列为 Q1

 

              2. 在一行或多行上输入某些消息文本,然后按 Enter 键两次。 此时会显示以下消息:

 

样本 amqsput0 结束

 

 

结果

 

您现在已经创建了测试消息并将其放入远程队列。下一个任务是验证是否已接收到测试消息。

 

 

3.1.2.4 将测试消息放入队列

 

 

使用 MQSC 来将测试消息放入队列

 

在发送机器(主管队列管理器 QM_ORANGE 的机器)上执行此任务。

 

 

使用 amqsput 样本程序来将消息放入您创建的队列。

 

 

 

在 Windows® 上,缺省情况下样本程序随 WebSphere® MQ 服务器或客户机一起安装。

 

在 Linux® 上,需要安装样本程序 RPM。

 

打开命令提示符,然后按照以下步骤操作:

 

              1. 启动 amqsput 样本程序,如下所示:

              若在 Linux 上,切换到 /opt/mqm/samp/bin 目录,然后输入命令:./amqsput Q1

              若在 Windows 上,输入命令:amqsput Q1

 

此时会显示以下消息:

样本 amqsput0 启动 目标队列为 Q1

 

              2. 在一行或多行上输入某些消息文本,然后按 Enter 键两次。 此时会显示以下消息:

 

样本 amqsput0 结束

 

 

结果

 

您现在已经创建了测试消息并将其放入远程队列。下一个任务是验证是否已接收到测试消息。

 

 

 

 

操作实例:

 

wasadmin@fwkt:~> dspmq
QMNAME(SMSCPT)                                            STATUS(Ended unexpectedly)
QMNAME(TYSG_JK_11.QM)                                     STATUS(Ended unexpectedly)
QMNAME(QM_ORANGE)                                         STATUS(Running)
wasadmin@fwkt:~> crtmqm ES_FWKT.QM
WebSphere MQ queue manager created.
Directory '/var/mqm/qmgrs/ES_FWKT!QM' created.
Creating or replacing default objects for ES_FWKT.QM.
Default objects statistics : 65 created. 0 replaced. 0 failed.
Completing setup.
Setup completed.
wasadmin@fwkt:~> strmqm ES_FWKT.QM
WebSphere MQ queue manager 'ES_FWKT.QM' starting.
5 log records accessed on queue manager 'ES_FWKT.QM' during the log replay phase.
Log replay for queue manager 'ES_FWKT.QM' complete.
Transaction manager state recovered for queue manager 'ES_FWKT.QM'.
WebSphere MQ queue manager 'ES_FWKT.QM' started.
wasadmin@fwkt:~> netstat -an|grep 1417
wasadmin@fwkt:~> netstat -an|grep 1415
wasadmin@fwkt:~> netstat -an|grep 1414
tcp        0      0 :::1414                 :::*                    LISTEN     
wasadmin@fwkt:~> netstat -an|grep 1417
wasadmin@fwkt:~> runmqsc ES_FWKT.QM
5724-H72 (C) Copyright IBM Corp. 1994, 2009.  ALL RIGHTS RESERVED.
Starting MQSC for queue manager ES_FWKT.QM.


DEF LISTENER(TCP_ES) TRPTYPE(TCP) CONTROL(QMGR) PORT(1417)
     1 : DEF LISTENER(TCP_ES) TRPTYPE(TCP) CONTROL(QMGR) PORT(1417)
AMQ8626: WebSphere MQ listener created.
start  LISTENER(TCP_ES)
     2 : start  LISTENER(TCP_ES)
AMQ8021: Request to start WebSphere MQ Listener accepted.
Define ql(SYS.DEADLETTER.QL)
     3 : Define ql(SYS.DEADLETTER.QL)
AMQ8006: WebSphere MQ queue created.
ALTER QMGR DEADQ(ES_FWKT.QM.DEADQ)
     4 : ALTER QMGR DEADQ(ES_FWKT.QM.DEADQ)
AMQ8005: WebSphere MQ queue manager changed.
define CHANNEL(SYSTEM.ADMIN.SVRCONN)  chltype(SVRCONN) trptype(TCP)
     5 : define CHANNEL(SYSTEM.ADMIN.SVRCONN)  chltype(SVRCONN) trptype(TCP)
AMQ8014: WebSphere MQ channel created.
DEFINE QLOCAL(SZ_SMP_SEND.LQ) DEFPSIST(NO) MAXDEPTH(2000)
     6 : DEFINE QLOCAL(SZ_SMP_SEND.LQ) DEFPSIST(NO) MAXDEPTH(2000)
AMQ8006: WebSphere MQ queue created.
DEFINE QLOCAL(SZ_SMP_ECHO.LQ) DEFPSIST(NO) MAXDEPTH(2000)
     7 : DEFINE QLOCAL(SZ_SMP_ECHO.LQ) DEFPSIST(NO) MAXDEPTH(2000)
AMQ8006: WebSphere MQ queue created.
end
     8 : end
7 MQSC commands read.
No commands have a syntax error.
All valid MQSC commands were processed.
wasadmin@fwkt:~>

 

 

 

 

 

 

 

 

 

原创粉丝点击