java ibm mq send_IBM WebSphere MQ 快速入门: 安装, 配置, Java调用

Categories: Java; Tagged with: IBM MQ • Java; @ December 2nd, 2012 0:25

非常简单的快速入门: 从Host发送Message到VM.

MQ版本:  7.5

操作系统版本:

主机/Host: Windows 7 64 Home

虚拟机/VM:    XP Pro SP3

1. 下载及安装

在IBM.com可直接下载IBM的试用版. (需要登录)

之后的安装非常简单, 不做描述.

2. 配置

配置概要

依次配置: QueueManager, Queue, Channel:

Name @Host

Name @VM

Remarks

Queue Manager

QM_Host

QM_VM

Keep other options default

Queues

Host_TRAN_Q

VM_LOCAL_RECEIVE_Q

Local queue, Usage: Transmission

Host_Remote_Send_Q

VM只接受, 因此不需配置.

Remote queue. need config:

1. Remote queue: (For Host, VM is the remote)

2. Remote queue manager:

3. Transmission queue:

Ref to screen capture 1

Channels

HOST_SEND_CHANNEL

Ref to screen capture 2

HOST_SEND_CHANNEL

[很抱歉, 命名很烂]

Host端Type: Sender; VM端: Receiver

保持相同名称.

ChannelServerConnTes

ChannelServerConnTes

Type:Server-connection, 配置MCA user或保持默认

为Java端配置

8b2ee9093008132a84ce7ab6c96c030b.png

(配置Remote queue, Remote queue manager, 对Host来说, VM就是Remote, 因此配置为VM中的队列名称)

8a148dac8b268d2a7b366515dcb774f3.png

(发送队列, Connection Name实际为Remote server的IP(port))

由于配置较多, 因此将Host及VM两侧的Queue及Channel抓图如下:

Host:

6452194e29006a98a5b055f9bd3dcc50.png

9e898e0e78a2c11ad17bc6bd6d4561a4.png

VM:

05fb1f562521298d98cb9ad129b30e49.png

4f85ada25bd755d3a1b6f73636dc5bac.png

3. 测试

在上述Queue manager, Queue, Channel配置妥当之后, 进行测试:

1. 在Host端,  选中HOST_SEND_CHANNEL (Sender)后, 右键 “ping” 测试:

7662d662da829865625632c701e0aa1d.png

如果测试失败, 关闭或配置防火墙.

2. 放入消息进行测试:

确定两端HOST_SEND_CHANNEL (Sender)启动后(状态应为Running), 在Host端的Host_Remote_Send_Q (Remote) 右键 Put message.

在VM端, 队列中可以看到收到Message:

20d6ec3494303b353da922f8cf293b84.png

至此, MQ已经配置完毕并通过测试.

4. 使用Java调用

前置条件: 创建type为Server-connection的Channel. 本例中的ChannelServerConnTes, 该Channel无法开启, 创建完毕后供Java端使用.

5. 常见错误及解决

1. Channel ping不通

检查防火墙.

2. MQJE001: Completion Code ‘2’, Reason ‘2035’.

如果供Java端使用的Server-connection.MCA中不填入正确的UserID (mqm用户组中的用户), 会导致如下之错误信息:

MQJE001: Completion Code ‘2’, Reason ‘2035’.

解决方法有:

1. Channel中配置MCA UserID:

00876d71d4af892c39088a1a8c07b9eb.png

(需要保证该用户在操作系统mqm用户组中)

2. 禁用Channel认证:

运行: IBM\WebSphere MQ\bin\runmqsc.exe:

alter qmqr chlauth(disabled)

由于我的Win7 Home无法管理用户组, 所以直接用第二种方法disable掉channel 认证.

3. MQJE001: Completion Code ‘2’, Reason ‘2539’

错误信息:

CC=2;RC=2539;AMQ9204: Connection to host ‘192.168.1.220(1414)’ rejected. [1=com.ibm.mq.jmqi.JmqiException[CC=2;RC=2539;AMQ9547: Type of remote channel not suitable for action requested. [3=HOST_SEND_CHANNEL]],3=192.168.1.220(1414),5=RemoteConnection.analyseErrorSegment]

使用了错误的Channel, 供Java使用的Channel type应为: Server-connection.

4. Java中 new MQQueueManager时耗时很久, 最后抛出异常:

com.ibm.mq.MQException: MQJE001: Completion Code ‘2’, Reason ‘2009’.

Caused by: com.ibm.mq.jmqi.JmqiException: CC=2;RC=2009;AMQ9204: Connection to host ‘192.168.1.220(1414)’ rejected. [1=com.ibm.mq.jmqi.JmqiException[CC=2;RC=2009;AMQ9208: Error on receive from host ‘/192.168.1.220:1414 (Guoliang-PC)’. [1=-1,2=ffffffff,3=/192.168.1.220:1414 (Guoliang-PC),4=TCP]],3=192.168.1.220(1414),5=RemoteConnection.receiveTSH]

检查MQEnvironment是否设置了编码CCSID.  如:MQEnvironment.CCSID=1381;

6. 参考资料:

IBM WebSphere MQ的簡介與實作:

(完)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值