关键词: PSIVTRun MQQueueManager
一般的进行nojndi 验证全能成功,下面进行jndi 方式的验证:
要先建jndi , 供PSIVTRun 默认使用.
cd /opt/mqm/java/bin
./JMSAdmin
DEFINE TCF(ivtTCF)
--This command defines the TopicConnectionFactory.
DEFINE T(ivtT) TOPIC(MQJMS/PSIVT/Information)
--This command defines the Topic.
执行命令:
./PSIVTRun -url "file:/JNDI-Directory" -icf com.sun.jndi.fscontext.RefFSContextFactory
即可.
[djboss@DevStation1 bin]$ ./PSIVTRun -url "file:/JNDI-Directory" -icf com.sun.jndi.fscontext.RefFSContextFactory
5724-H72, 5655-L82, 5724-L26 (c) Copyright IBM Corp. 2002, 2005. All Rights Reserved.
用于 Java(tm) 消息服务的 Websphere MQ 类 6.0
发布/预订安装验证测试
正在使用受管对象,请确保它们可用
正在检索来自 JNDI 的 TopicConnectionFactory
正在检索来自 JNDI 的 Topic
正在创建 Connection
正在创建 Session
正在创建 TopicPublisher
正在创建 TopicSubscriber
正在创建 TextMessage
正在添加文本
正在将消息发布至 topic://MQJMS/PSIVT/Information
正在等待消息抵达[最大为 5 秒]...
取出消息:
JMS 消息类: jms_text
JMSType: null
JMSDeliveryMode: 2
JMSExpiration: 0
JMSPriority: 4
JMSMessageID: ID:414d5120706172656e74323020202020060ee147c5da0020
JMSTimestamp: 1206523343329
JMSCorrelationID:ID:414d5120706172656e74323020202020060ee14705680320
JMSDestination: topic://MQJMS/PSIVT/Information
JMSReplyTo: null
JMSRedelivered: false
JMS_IBM_PutDate:20080326
JMSXAppID:parent20
JMS_IBM_Format:MQSTR
JMS_IBM_PutApplType:26
JMS_IBM_MsgType:8
JMSXUserID:djboss
JMS_IBM_PutTime:09222333
JMSXDeliveryCount:1
A simple text message from the MQJMSPSIVT program
应答字符串等于原始字符串
正在关闭 TopicSubscriber
正在关闭 TopicPublisher
正在关闭 Session
正在关闭 Connection
PSIVT 已完成
[djboss@DevStation1 bin]$
若遇到如下错误,是由于默认队列管理器没有建立.
[tjboss@TestStation30 bin]$ ./PSIVTRun -url "file:/JNDI-Directory" -icf com.sun.jndi.fscontext.RefFSContextFactory
5724-H72, 5655-L82, 5724-L26 (c) Copyright IBM Corp. 2002, 2005. All Rights Reserved.
用于 Java(tm) 消息服务的 Websphere MQ 类 6.0
发布/预订安装验证测试
正在使用受管对象,请确保它们可用
正在检索来自 JNDI 的 TopicConnectionFactory
正在检索来自 JNDI 的 Topic
正在创建 Connection
捕获到异常: javax.jms.JMSException: MQJMS2005: 未能为 '' 创建 MQQueueManager
链接的异常: com.ibm.mq.MQException: MQJE001: 完成代码是 2,原因为 2059
PSIVT 已完成
winXP 上用图形的队列管理器工具就可以了.
修改属性图:
若为lunix 环境:
修改在mqm 用户的当前目录有文件mqs.ini
直接修改加入
DefaultQueueManager:
Name=parent20
也可用命令产生:
>crtmqm -q testQM
这条语句将产生
DefaultQueueManager:
Name=testQM
改成你想要的结果即可.
参考资料:
The publish/subscribe installation verification test
MQJMS5062 2085 PSIVTRun with JNDI failed
方向:分布式系统设计