Board logo

标题: Linux 上的 WebSphere MQ 开发快速入门(4) [打印本页]

作者: look_w    时间: 2018-6-14 17:27     标题: Linux 上的 WebSphere MQ 开发快速入门(4)

示例用例以下是一些用例,均使用 WMQ1 作为发送方,WMQ2 作为接收方,说明了如何使用 MQSend 和 MQGet 应用程序。
准备工作在使用示例前,您需要进行一些准备工作,如设置属性和编写一些 Helper 脚本等。为 WMQ1 中的 MQSend 应用程序使用以下属性:
1
2
3
queue.manager=WMQ1QM
queue.manager.host=127.0.0.1
queue.name=WMQ1OutputQ




为 WMQ2 中的 MQGet 应用程序使用以下属性:
1
2
3
queue.manager=WMQ2QM
queue.manager.host=127.0.0.1
queue.name=WMQ2InputQ




为了节约键入的时间,以下提供了用于进行发送和接收的两个脚本。
1
/opt/IBMJava2-142/bin/java -cp .:com.ibm.mq.jar mqconn.MQSend "$@"




1
/opt/IBMJava2-142/bin/java -cp .:com.ibm.mq.jar mqconn.MQGet "$@"




使用 chmod 755 mqsend 和 chmod 755 mqget 将这些脚本转换为可执行文件。本文中的所有类和文件都位于 /var/mqm/bin 目录中,其中 /var/mqm 是 mqm 用户的主目录。
命令第一个示例命令将消息发送到上面指定的队列。下面的示例清单给出了实际的命令,另外还给出了命令的输出。
1
2
3
mqm@wmq1:~/bin> ./mqsend "This is test message"
MQJE001: Completion Code 2, Reason 2045
Message sent.




MQJE001 是预期出现的内容。Reason 2045 表示在本例中无法将要打开的队列作为输入队列打开,因为此队列是远程队列。MQJE001 由 WebSphere MQ 类输出到标准错误。如果不希望看到这些错误消息,请将标准错误重新定向到 /dev/null ./mqsend "This is test message" 2> /dev/null。若要了解原因代码的含义,请使用 mqrc 2045。
在 WMQ2 上,使用 mqget 命令接收消息:
1
2
mqm@wmq2:~/bin> ./mqget
This is test message




如果再次执行 mqget,会看到预期的 MQJE001 消息。mqrc 2033 中的 2033 表示“MQRC_NO_MSG_AVAILABLE”。检索消息并将其从队列删除。以下代码说明了如何发送多个消息:
1
2
3
4
5
6
7
mqm@wmq1:~/bin> ./mqsend "This is test message" This is another message
MQJE001: Completion Code 2, Reason 2045
Message sent.
Message sent.
Message sent.
Message sent.
Message sent.




接收消息与上面所示的 mqget 命令相同。以下代码说明了如何接收多个消息:
1
2
3
4
5
6
7
8
9
10
11
12
mqm@wmq2:~/bin> ./mqget
This is test message
mqm@wmq2:~/bin> ./mqget
This
mqm@wmq2:~/bin> ./mqget
is
mqm@wmq2:~/bin> ./mqget
another
mqm@wmq2:~/bin> ./mqget
message
mqm@wmq2:~/bin> ./mqget
MQJE001: Completion Code 2, Reason 2033




下一个示例将发送所有 Java 文件的内容:
1
2
3
4
mqm@wmq1:~/bin> ls -1 mqconn/*.java | awk '{print "mqsend -f "$1""}' | sh 2> /dev/null
Message sent.
Message sent.
Message sent.




下一个示例读取消息并将其保存到文件中:
1
mqm@wmq2:~/bin> ./mqget > msg1.txt




mqget 命令的输出被定向到 msg1.txt。




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0