求大神ps的后果全集们,有谁用过IBM Integration bus,求指点

配置 IBM Integration Bus V10 和 IBM MQ V8 之间的 MQ 连接 - 推酷
配置 IBM Integration Bus V10 和 IBM MQ V8 之间的 MQ 连接
在 IBM Integration Bus V10 之前,Integration 节点依靠队列管理器来连接到 IBM MQ。如果 Integration 节点需要处理一条传输到队列管理器的消息,则必须在队列管理器上运行该节点。从 IBM Integration Bus V10 开始,消除了对 IBM MQ 的依赖性。Integration 节点可单独运行,而不运行任何队列管理器。在本教程中,您将学习配置 IBM Integration Bus V10 与 IBM MQ V8 之间的 MQ 连接的不同方式。
要将 Integration 节点连接到 MQ 队列管理器,可在 MQInput 和 MQOutput 节点上选择以下选项:
本地队列管理器
MQ 客户端连接属性
客户端通道定义表 (Client Channel Definition Table, CCDT)
通过选择其中一种选项,Integration 节点可连接到队列管理器并传播消息。
要配置本教程中介绍的组件和对象,必须满足以下技能和系统要求。
所需的技能
开始学习本教程之前,必须掌握以下领域的技能:
MQ 客户端 / 服务器架构的实现知识
IBM MQ 管理的中级知识
IBM Integration Bus 管理的中级知识
IBM Integration Bus 开发技能
表 1 列出了这 3 种选项所需的基础架构设置。在该表中,“是” 表示安装在服务器上的产品,“不适用” 表示未安装或不适用于服务器的产品。
您 不需要 配置表 1 中列出的所有必备软件。因此,仅配置您打算在环境中实现的选项的前提软件。
表 1. 每个选项的服务器环境概述
Microsoft&Windows 上的 IBM Integration Bus V10&
Windows 上的 IBM Integration Bus V8
Windows 上的 IBM Integration Bus V8
Linux 上的 MQ V8&
本地队列管理器
MQ 客户端连接
Integration 节点创建:您在使用 -q 标志或 mqsichangebroker 命令时不需要再次创建 Integration 节点。
为 Linux 服务器上的连接创建 MQ 对象
如果在 Linux 服务器上运行 MQ,可为 IBM Integration Bus 连接创建所需的 MQ 对象:
检查 MQ 的版本: -bash-4.1$ dspmqver 清单 1 给出了显示的针对该 MQ 版本的输出示例。 清单 1. MQ 版本细节 Name:
WebSphere MQ
p800-002-150519.TRIAL
BuildType:
IKAP - (Production)
WebSphere MQ for Linux (x86-64 platform)
Linux 2.6.32-71.e16.x86_64
Installation1
MaxCmdLevel:
创建 IIB10_QM1 和 IIB10_QM2 队列管理器: crtmqm IIB10_QM1
crtmqm IIB10_QM2
启动 IIB10_QM1 和 IIB10_QM2 队列管理器: strmqm IIB10_QM1
strmqm IIB10_QM2
检查队列管理器的状态: -bash-4.1$ dspmq
队列管理器已成功创建,它们的状态显示为 Running :
QMNAME(IIB10_QM1)
STATUS(Running)
QMNAME(IIB10_QM2)
STATUS(Running)
在 IIB10_QM1 队列管理器下创建所需的对象: -bash-4.1$ runmqsc IIB10_QM1
定义本地队列: DEFINE QL(INPUT.QL) 您会看到以下输出: AMQ8006: WebSphere MQ queue created.
定义通道: DEFINE CHANNEL(IIBV10.SVRCONN) CHLTYPE(SVRCONN) 您会看到以下输出: AMQ8014: WebSphere MQ channel created.
定义监听器: DEFINE LISTENER(QM1.LIS) TRPTYPE(TCP) PORT(1025) CONTROL(QMGR) 您会看到以下输出: AMQ8626: WebSphere MQ listener created.
启动监听器: START LISTENER(QM1.LIS) 您会看到以下输出: AMQ8021: Request to start WebSphere MQ listener accepted.
为 IIB10_QM1 队列管理器上的 IIB10_QM1 创建客户端连接通道: DEFINE CHANNEL(IIBV10.SVRCONN) CHLTYPE(CLNTCONN) CONNAME('192.168.112.131(1025)') QMNAME(IIB10_QM1) 您会看到以下输出: AMQ8014: WebSphere MQ channel created.
创建 IIB10_QM2 CLNTCONN 通道,以此作为 IIB10_QM1 队列管理器上的 IIB10_QM2 的 CCDT 配置的一部分: DEFINE CHANNEL(IIBV10.QM2.SVRCONN) CHLTYPE(CLNTCONN) CONNAME('192.168.112.131(1026)') QMNAME(IIB1O_QM2) 您会看到以下输出: AMQ8014: WebSphere MQ channel created.
提供 IIB10_QM1 队列管理器的权限,供 Integration 节点连接到该队列管理器: setmqaut -m IIB10_QM1 -t qmgr -p system +connect
setmqaut -m IIB10_QM1 -n INPUT.QL -t q -p system +inq +get
确保所有权限都反映了所使用的队列管理器: refresh security
在 IIB10_QM2 队列管理器下创建所需的对象: bash-4.1$ runmqsc IIB10_QM2
定义本地队列: DEFINE QL(OUTPUT.QL) 您会看到以下输出: AMQ8006: WebSphere MQ queue created.
定义通道: DEFINE CHANNEL(IIBV10.QM2.SVRCONN) CHLTYPE(SVRCONN) 您会看到以下输出: AMQ8014: WebSphere MQ channel created.
定义监听器: DEFINE LISTENER(QM2.LIS) TRPTYPE(TCP) PORT(1026) CONTROL(QMGR) 您会看到以下输出: AMQ8626: WebSphere MQ listener created.
提供 IIB10_QM2 队列管理器的权限,供 Integration 节点连接到该队列管理器: setmqaut -m IIB10_QM2 -t qmgr -p system +inq +connect +setall
-m IIB10_QM2
-n OUTPUT.QL -t q -p system +put +setall
确保所有权限都反映了所使用的队列管理器: refresh security
为 Windows 服务器上的连接创建 MQ 对象
如果在 Windows 服务器上运行 MQ,可为 IBM Integration Bus 连接创建所需的 MQ 对象:
创建 LOCAL_QM1 和 LOCAL_QM2 队列管理器: crtmqm LOCAL_QM1
crtmqm LOCAL_QM2
启动 LOCAL_QM1 和 LOCAL_QM2 队列管理器: strmqm LOCAL_QM1
strmqm LOCAL_QM2
检查队列管理器的状态: -bash-4.1$ dspmq
队列管理器已成功创建,它们的状态显示为 Running :
QMNAME(LOCAL_QM1)
STATUS(Running)
QMNAME(LOCAL_QM2)
STATUS(Running)
在 LOCAL_QM1 队列管理器下创建所需的对象: runmqsc LOCAL_QM1
定义本地队列: DEFINE QL(INPUT.QL) 您会看到以下输出: AMQ8006: WebSphere MQ queue created.
在 LOCAL_QM2 队列管理器下创建所需的对象: runmqsc LOCAL_QM2
定义本地队列: DEFINE QL(OUTPUT.QL) 您会看到以下输出: AMQ8006: WebSphere MQ queue created.
配置 Windows 服务器上的 IBM Integration Bus
要配置 Windows 服务器上的 IBM Integration Bus:
创建 IIBV10 Integration 节点,其中 IIBV10 是代理名称,Integration 节点没有任何队列管理器依赖性: mqsicreatebroker IIBV10 创建 Integration 节点后,可以看到以下输出: BIP8071I: Successful command completion.
检查 Integration 节点的状态: mqsilist 将显示以下状态。 BIP1326I: Integration node 'IIBV10' is stopped.
BIP8071I: Successful command completion.
启动 Integration 节点: mqsistart IIBV10 您会看到以下输出: BIP8096I: Successful command initiation.
使用 IBM Integration Toolkit 检查 Integration 节点属性(图 1)。在 Integration 节点属性上指定的队列管理器表明,没有队列管理器与此 Integration 节点有关联。 图 1. 使用 IBM Integration Toolkit 验证 Integration 节点
我们使用 IBM Integration Toolkit 开发了一个示例消息流。可以将它用于本教程中描述的所有 3 种方法。此消息流演示了以下队列管理器的连接:
在 Linux 上运行的 IIB10_QM1 和 IIB10_QM2
在 Windows 上运行的 LOCAL_QM1 和 LOCAL_QM2
图 2 演示了一个接受 XML 格式的消息并按如下路线传输它们的流:
从 Linux 上运行的 IIB10_QM1 到 IIB10_QM2 (针对 MQ 客户端连接属性和 CCDT 方法)
从 Windows 上运行的 LOCAL_QM1 到 LOCAL_QM2 (针对本地队列管理器方法)
图 2. XML 格式的消息流
对于所有 3 种场景,都使用了 MQ Enterprise Transport 配置属性。
因为使用了消息流将 XML 消息从一个队列管理器传输到另一个队列管理器,所以需要一种 MQ 级别上的分发设置。开发消息流时,该流对消息的处理取决于节点的属性。举例而言,通过设置定义 MQ 的 INPUT 和 OUTPUT 队列名称的属性,可以确定消息流从何处接收消息和将消息传送到何处。
图 3 给出了一条从 LOCAL_QM1 队列管理器传输到 LOCAL_QM2 队列管理器的消息的传输路线。显示的客户端环境有两个队列管理器( LOCAL_QM1 和 LOCAL_QM2 )和 IBM Integration Bus ( IIBV10 )。它们安装在同一个 Windows 服务器上。来源应用程序将一条消息放在 LOCAL_QM1 队列管理器下的 INPUT.QL 队列上。然后,消息流拾取消息并将它发送到目标应用程序的 LOCAL_QM2 队列管理器下的 OUTPUT.QL 队列。
图 3. 将消息从 LOCAL_QM1 路由到 LOCAL_QM2
图 4 给出了从 IIBV10_QM1 传输到 IIBV10_QM2 的消息的路线。客户端环境在一个 Linux 服务器上有两个队列管理器( IIB10_QM1 和 IIB10_QM2 ),在一个 Windows 服务器上有一个 IBM Integration Bus ( IIBV10 )。putter 应用程序将一条消息放在 IIB10_QM1 下的 INPUT.QL 队列上。然后,消息流拾取消息并将它发送到 getter 应用程序的 IIB10_QM2 下的 OUTPUT.QL 队列。
图 4. 将消息从 IIBV10_QM1 路由到 IIBV10_QM2
场景 1:本地队列管理器
在此场景中,IBM Integration Bus v10 和 IBM MQ V8 都安装在同一个 Windows 服务器上,两个组件都在 Binding 模式下建立连接。在 Binding 模式下,IBM Integration Bus 和 MQ 在同一个服务器上彼此连接。另外,还与使用服务器绑定的本地队列管理器建立了本地连接。与远程队列管理器建立了一个客户端连接。可以使用本地连接、客户端连接或本地与客户端连接的组合方式来连接到队列管理器。
如果选择使用本地队列管理器,则必须指定一个队列管理器名称。消息流(使用服务器绑定)与该队列建立一个服务器连接。Integration 节点和队列管理器必须在同一个服务器上运行。
配置 MQInput 节点属性
MQInput 节点从应用程序接收消息,并使用 IBM MQ Enterprise Transport 连接到 Integration 节点。
要配置 MQInput 节点属性:
更新 INPUT.QL 队列名称:
导航到 MQ Input Node Properties 窗口(图 5)。
在 Basic 选项卡上,对于 Queue name ,输入 INPUT.QL 。
图 5. Queue name 属性
更新 LOCAL_QM1 队列管理器的连接细节:
转到 MQ Input Node Properties 窗口(图 6)。
在 MQ Connection 选项卡上,对于 Connection ,输入 Local queue manager 。对于 Destination queue manager name ,输入 LOCAL_QM1 。
图 6. LOCAL_QM1 队列管理器的连接细节
配置 MQOutput 节点属性
MQOutput 节点将一条输出消息从一个消息流传送到一个 MQ 队列。该节点使用 MQPUT 将消息放入目标队列或您指定的队列中。
要配置 MQOutput 节点属性:
更新 OUTPUT.QL 队列名称:
转到 MQ Output Node Properties 窗口(图 7)。
在 Basic 选项卡上,对于 Queue name ,输入 OUTPUT.QL 。
图 7. Queue name 属性
更新 LOCAL_QM2 队列管理器的连接细节:
转到 MQ Output Node Properties 窗口(图 8)。
在 MQ Connection 选项卡上,对于 Connection ,输入 Local queue manager 。对于 Destination queue manager name ,输入 LOCAL_QM2 。
图 8. LOCAL_QM2 队列管理器的连接细节
确认数据流引擎连接
要确认与队列的数据流引擎连接,可显示队列状态:
runmqsc LOCAL_QM1
dis qs(INPUT.QL) type(handle)
清单 2 中的输出显示了 APPLTAG(erver\bin\DataFlowEngine.exe) ,它表明队列正在监听数据流引擎。
清单 2. 数据流引擎连接的队列状态
AMQ8450: Display queue status details.
QUEUE(INPUT.QL)
TYPE(HANDLE)
APPLDESC( )
APPLTAG(erver\bin\DataFlowEngine.exe)
APPLTYPE(USER)
BROWSE(NO)
CHANNEL( )
CONNAME( )
ASTATE(ACTIVE)
HSTATE(ACTIVE)
INPUT(SHARED)
INQUIRE(YES)
OUTPUT(NO)
QMURID(0.12291)
URID(XA_FORMATID[] XA_GTRIDH[] XA_BQUAL[])
URTYPE(QMGR)
USERID(SYSTEM@NT AUTHORITY)
如图 9 所示, INPUT.QL 队列名称的当前队列深度为 0。它还给出了所显示的消息数据。在 MQ Explorer 中,使用 PUT 命令将消息放入 LOCAL_QM1 队列管理器上的 INPUT.QL 队列中。
图 9. INPUT.QL 的当前队列深度和消息数据
如图 10 所示, OUTPUT.QL 队列的当前队列深度现在为 1。此值确认消息流从 LOCAL_QM1 队列管理器上的 INPUT.QL 队列拾取了消息,并将它发送到 LOCAL_QM2 队列管理器上的 OUTPUT.QL 队列。
图 10. OUTPUT.QL 的当前队列深度
通过使用 IBM Integration Toolkit, LOCAL_QM2 队列管理器上的 OUTPUT.QL 队列的当前队列深度从 0 更改为 1(图 11)。此更改确认该消息已发送。另外,消息数据是从 LOCAL_QM1 队列管理器上的 INPUT.QL 队列发出的同一条消息的数据。
图 11. OUTPUT.QL 的当前队列深度和消息数据
场景 2:MQ 客户端连接属性
如果选择定义 MQ 客户端连接属性,还必须指定以下属性:
队列管理器主机名
监听器端口号
MQInput 节点上的目标队列管理器名称
MQOutput 节点上的目标队列管理器名称
在此示例中,Integration 节点在 Windows 服务器上运行,队列管理器在 Linux 服务器上运行。
配置 MQInput 节点属性
要配置 MQInput 节点属性:
更新 INPUT.QL 队列名称:
转到 MQInput Node Properties 窗口(图 12)。
在 Basic 选项卡上,对于 Queue name,输入 INPUT.QL 。
图 12. MQInput 节点的 Queue name 属性
更新 IIB10_QM1 队列管理器的连接细节:
转到 MQ Input Node Properties 窗口。
在 MQ Connection 选项卡上(图 13):
对于 Connection ,输入 MQ client Connection properties 。
对于 Destination queue manager name ,输入 IIB10_QM1 。
对于 Queue manager host name ,输入 IP 地址。
对于 Listener port number ,输入 1025 。
对于 Channel name ,输入 IIBV10.SVRCONN 。
图 13. IIB10_QM1 的连接细节
配置 MQOutput 节点属性
要配置 MQOutput 节点属性:
更新 OUTPUT.QL 队列名称:
转到 MQ Output Node Properties 窗口(图 14)。
在 Basic 选项卡上,对于 Queue name ,输入 OUTPUT.QL 。
图 14. 图 14. MQOutput 节点的 Queue name 属性
更新 IIB10_QM2 队列管理器的连接细节:
转到 MQ Output Node Properties 窗口(图 15)。
在 MQ Connection 选项卡上:
对于 Connection ,输入 MQ client connection properties 。
对于 Destination queue manager name ,输入 IIB10_QM2 。
对于 Queue Manager Host Name, 输入 IP 地址。
对于 Listener Port Number ,输入 1026 。
对于 Channel Name ,输入 IIBV10.QM2.SVRCONN 。
图 15. IIB10_MQ2 的连接细节
测试 MQ 客户端连接
测试消息流之前, INPUT.QL 和 OUTPUT.QL 队列的初始当前深度 ( CURDEPTH ) 为 0,这表示该队列中没有消息。要测试客户端连接:
启动 IIB10_QM1 队列管理器的 MQSC 命令: -bash-4.1$ runmqsc IIB10_QM1
显示 INPUT.QL 队列的当前深度: dis ql(INPUT.QL) CURDEPTH
CURDEPTH 为 0,如下面的输入队列细节所示:
AMQ40409: Display Queue details.
QUEUE(INPUT.QL)
TYPE(QLOCAL)
CURDEPTH(0)
启动 IIB10_QM2 队列管理器的 MQSC 命令: -bash-4.1$ runmqsc IIB10_QM2
显示 OUTPUT.QL 队列的当前深度: dis ql(OUTPUT.QL) CURDEPTH
CURDEPTH 为 0,如下面的输出队列细节所示:
AMQ8409: Display Queue details.
QUEUE(OUTPUT.QL)
TYPE(QLOCAL)
CURDEPTH(0)
在 INPUT.QL 上放入一条示例消息: -bash-4.1$ ./amqsput INPUT.QL IIB10_QM1 您会看到以下输出: Sample AMQSPUT0 start
target queue is INPUT.QL
&XML&I am using IIBV10 and MQV8.0&/XML&
Sample AMQSPUT0 end
启动 IIB10_QM2 队列管理器的 MQSC 命令: -bash-4.1$ runmqsc IIB10_QM2 您会看到以下输出: Starting MQSC for queue manager IIB10_QM2.
显示 OUTPUT.QL 队列的当前深度: dis ql(OUTPUT.QL) CURDEPTH
如以下输出所示, CURDEPTH 是 1,表示该消息流已成功将消息处理到输出队列:
AMQ8409: Display Queue details.
QUEUE(OUTPUT.QL)
TYPE(QLOCAL)
CURDEPTH(1)
验证与 IIB10_QM1 队列管理器的流连接: dis chs(IIBVlO.SVRCONN) all
数据流引擎(执行组)正在监听,服务器连接通道 IIBV10.SVRCONN 正在运行。MQInput 节点已连接到服务器连接通道,这表明已在此场景中成功建立连接(清单 3)。
清单 3. 连接到 IIB10_QM1 队列管理器的消息流 AMQ8417: Display Channel Status details.
CHANNEL(IIBV10.SVRCONN)
CHLTYPE(SVRCONN)
BUFSRCVD(46)
BUFSSENT(5)
BYTSRCVD(4296)
BYTSSENT(2152)
CHSTAII(12.04.28)
COMPHDR(NONE,NONE)
COMPMSG(NONE,NONE)
COMPRATE(0,0)
COMPTIME(0,0)
CONNAME(192.168.112.1)
EXITTIME(0,0)
HBINT(300)
JOBNAME(000ooF)
LOCLADDR(::ffff:192.168.112.l31(1025))
LSTMSGDA(2015-lO-05)
LSTMSGTI(12.04.28)
MCASTAI(RUNNING)
MCAUSER(system)
MONCHL(OFF)
RAPPLTAG(erver\bin\DataFlowEngine.exe)
SECPROT(NONE)
SSLCERTI()
SSLKEYDA( )
SSLKEYTI()
SSLPEER( )
SSLRKEYS(0)
STAIUS(RUNNING)
STOPREQ(NO)
SUBSTAIE(RECEIVE)
CURSHCNV(1)
MAXSHCNV(10)
RVERSION()
RPRODUCT(MQCC)
验证与 IIB10_QM2 队列管理器的流连接: dis chs(IIBVlO.QM2.SVRCONN) all
如清单 4 所示,数据流引擎(执行组)正在进行监听,服务器连接通道 IIBV10.SVRCONN 正在运行。这些结果证明,MQOutput 节点已连接到服务器连接通道,这表明已成功建立连接。
清单 4. 连接到 IIB10_QM2 队列管理器的消息流 AMQ8417: Display Channel Status details.
CHANNEL(IIBV10.QM2.SVRCONN)
CHLTYPE(SVRCONN)
BUFSRCVD(10)
BUFSSENT(9)
BYTSRCVD(2884)
BYTSSENT(2844)
CHSTATI(12.05.55)
COMPHDR(NONE,NONE)
COMRMSG(NONE,NONE)
COMPRATE(0,0)
COMPTIME(0,0)
CONNAME(192.168.112.1)
EXITTIME(0,0)
HBINT(300)
JOBNAME(OOOOIOZBOOOOOOOD)
LOCLADDR(::ffff:192.168.112.131(1026))
LSTMSGDA(2015-lO-05)
LSTMSGTI(12.05.55)
MCASTAT(RUNNING)
MCAUSER(system)
MONCHL(OFF)
RAPPLTAG(erver\bin\DataFlowEngine.exe)
SECPROT(NONE)
SSLCERTI()
SSLKEYDA( )
SSLKEYTI()
SSLPEER( )
SSLRKEYS(0)
STATUS(RUNNING)
STOPREQ(NO)
SUBSTATE(RECEIVE)
CURSHCNV(1)
MAXSHCNV(10)
RVERSION()
RPRODUCT(MQCC)
从 OUTPUT.QL 队列获取示例消息: -bash-4.1$ ./amqsget OUTPUT.QL IIB10_QM2 您会看到以下输出: Sample AMQSGET0 start
message &XML&I am using IIBV10 and MQV8.0&/XML&
您现在已使用 AMQSPUT 程序将示例消息放在 INPUT.QL 上。消息流从 INPUT.QL 队列拾取该消息,并将它发送到 IIB10_QM2 上的 OUTPUT.QL 队列。您还可以看到 CURDEPTH 被更改为 1。
场景 3:客户端通道定义表
在此示例中,Integration 节点在 Windows 系统上运行,队列管理器在 Linux 系统上运行。如果选择 CCDT 选项,则必须指定一个队列管理器名称,并在 Windows 系统上配置 MQ CCDT 文件。
配置 MQInput 节点属性
要配置 MQInput 节点属性:
更新 INPUT.QL 队列名称:
转到 MQ Input Node Properties 窗口(图 16)。
在 Basic 选项卡上,对于 Queue name,输入 INPUT.QL 。
图 16. MQInput 节点的 Queue name 属性
更新 IIB10_QM1 队列管理器的 MQ 客户端连接细节:
转到 MQ Input Node Properties 窗口(图 17)。
在 MQ Connection 选项卡上,对于 Connection ,输入 Client channel definition table (CCDT) file 。对于 Destination queue manager name ,输入 IIB10_QM1 。
图 17. IIB10_QM1 的连接细节
配置 MQOutput 节点属性
要配置 MQOutput 节点属性:
更新 OUTPUT.QL 队列名称:
转到 MQ Output Node Properties 窗口(图 18)。
在 Basic 选项卡上,对于 Queue name ,输入 OUTPUT.QL 。
图 18. MQOutput 节点的 Queue name 属性
更新 IIB10_QM2 队列管理器的连接细节:
转到 MQ Output Node Properties 窗口(图 19)。
在 MQ Connection 选项卡上,对于 Connection ,输入 Client channel definition table (CCDT) file 。对于 Destination queue manager name ,输入 IIB10_QM2 。
图 19. IIB10_MQ2 队列管理器的连接细节
向 Integration 节点注册 CCDT 文件
使用 FTP、SFTP 或 WINSCP 实用程序将 AMQCLCHL.TAB CCDT 文件从 MQ Linux 服务器复制到 Windows 服务器。然后,向 Integration 节点注册 AMQCLCHL.TAB 文件:
mqsichangeproperties IIBV10 -o BrokerRegistry -n mqCCDT -v &C:\Users\MVP\Documents\AMQCLCHL.TAB&
找到 Integration 节点注册表的 CCDT 文件
指定 Integration 节点注册表的 CCDT 文件的位置:
C:\Program Files\IBM\IIB\10.0.0.0&mqsichangeproperties IIBV10 -o BrokerRegistry -n mqCCDT -v &C:\Users\MVP\Documents\AMQCLCHL.TAB&
可以看到以下消息:
BIP8071I: Successful command completion
检查 CCDT 文件分配
选择 mqCCDT 属性后,重新启动 Integration 节点,以便让更改在所有配置中生效。要检查 mqCCDT 属性是否已向 IIBV10 Integration 节点注册,可以使用以下命令:
mqsireportproperties IIBVIO -o BrokerRegistry – r BrokerRegistry
清单 5 给出了命令输出。
清单 5. 分配给 Integration 节点注册表的 CCDT 文件
uuid='BrokerRegistry'
brokerKeystoreType='3KS'
brokerKeystoreFi1e=''
brokerKeystorePass='brokerKeystore::password'
brokerTruststoreType='JKS'
brokerTruststoreFile=''
brokerTruststorePass='brokerTruststore::password'
brokerCRLFileList=''
httpConnectorPortRange=''
httpsConnectorPortRange=''
brokerKerberosConfigFi1e=''
brokerKerberosKeytabFile=''
allowSSLv3=''
mqCCDT='C:\Users\MVP\Documents\AMQCLCHL.TAB'
modeExtensions=&
确认数据流引擎连接
要确认与该队列的数据流引擎连接:
启动 IIB10_QM1 队列管理器的 MQSC 命令: -bash-4.1$ runmqsc IIB10_QM1
显示 IIB10_QM1 队列管理器的队列状态: DIS CHS(*) all
数据流引擎(执行组)正在监听,服务器连接通道 IIBV10.SVRCONN 正在 IIB10_QM1 队列管理器中运行(清单 6)。这些结果证明,MQInput 节点已连接到服务器连接通道,这表明已成功建立连接。
清单 6. 与 IIB10_QM1 队列管理器的流连接 AMQ8417: Display Channel Status details.
CHANNEL(IIBV10.SVRCONN)
CHLTYPE(SVRCONN)
BUFSRCVD(156)
BUFSSENT(5)
BYTSRCVD(10184)
BYTSSENT(2152)
CHSTAII(12.20.00)
COMPHDR(NONE,NONE)
COMRMSG(NONE,NONE)
COMPRATE(0,0)
COMPTIME(0,0)
CONNAME(192.168.112.1)
EXITTIME(0,0) HBINT(300)
JOBNAME(OOOOOFBGOOOOOIBF)
LOCLADDR(::ffff:192.168.112.131(1025))
LSTMSGDA(2015-lO-05)
LSTMSGTI(12.20.00)
MCASTAI(RUNNING)
MCAUSER(system)
MONCHL(OFF)
RAPPLTAG(erver\bin\DataFlowEngine.exe)
SECPROT(NONE)
SSLCERTI()
SSLKEYDA( )
SSLKEYTI()
SSLPEER( )
SSLRKEYS(O)
STAIUS(RUNNING)
STOPREQ(NO)
SUBSTAIE(RECEIVE)
CURSHCNV(1)
MAXSHCNV(10)
RVERSION()
RPRODUCT(MQCC)
启动 IIB10_QM2 队列管理器的 MQSC 命令: -bash-4.1$ runmqsc IIB10_QM2
显示 IIB10_QM2 队列管理器的队列状态: dis chs(*) all
如清单 7 所示,数据流引擎(执行组)正在进行监听,服务器连接通道 IIBV10.QM2.SVRCONN 正在 IIB10_QM2 队列管理器中运行。这些结果证明,MQOutput 节点已连接到服务器连接通道,这表明已成功建立连接。
清单 7. 与 IIB10_QM2 队列管理器的流连接 AMQ8417: Display Channel Status details.
CHANNEL(IIBV10.QM2.SVRCONN)
CHLTYPE(SVRCONN)
BUFSRCVD(10)
BUFSSENT(9)
BYTSRCVD(2876)
BYTSSENT(2844)
CHSTAII(12.22.05)
COMPHDR(NONE,NONE)
COMRMSG(NONE,NONE)
COMPRATE(0,0)
COMPTIME(0,0)
CONNAME(192.168.112.1)
EXITTIME(0,0)
HBINT(300)
JOBNAME(00001OZBOOOOOOOE)
LOCLADDR(::ffff:192.168.112.131(1026))
LSTMSGDA()
LSTMSGTI(12.22.05)
MCASTAI(RUNNING)
MCAUSER(systam)
MONCHL(OFF)
RAPPLTAG(erver\bin\DataFlowEngine.exe)
SECPROT(NONE)
SSLCERTI()
SSLKEYDA( )
SSLKEYTI()
SSLPEER( )
SSLRKEYS(0)
STAIUS(RUNNING)
STOPREQ(NO)
SUBSTAIE(RECEIVE)
CURSHCNV(1)
MAXSHCNV(10)
RVERSION()
RPRODUCT(MQCC)
检查 OUTPUT.QL 队列的 CURDEPTH : DIS QL(OUTPUT.QL) CURDEPTH
消息流从 IIB10_QM1 队列管理器上的 INPUT.QL 队列拾取了消息,并将它发送到 IIB10_QM2 队列管理器上的 OUTPUT.QL 队列。如清单 8 所示, CURDEPTH 现在已更改为 1。
清单 8. OUTPUT.QL CURDEPTH AMQ8409: Display Queue details.
QUEUE(OUTPUT.QL)
TYPE(QLOCAL)
CURDEPTH(1)
浏览 IIB10_QM2 队列管理器上的 OUTPUT.QL 队列上的示例消息: -bash-4.1$ ./amqsget OUTPUT.QL IIB10_QM2 可以看到以下消息: Sample AMQSGET0 start
message &XML&I am using CCDT File&/XML&
CCDT 设置的挑战
如果 CCDT 文件配置(比如 CCDT 文件的通道名称或位置)未正确定义,您可能会遇到图 20 中所示的错误。
图 20. 错误的 CCDT 配置
此错误消息表明未能与队列管理器建立 CCDT 连接。要更正此错误,必须检查以下区域:
MQ 客户端通道定义
CCDT 文件的位置:创建 CCDT 文件后,必须以二进制模式传输该文件。
客户端 / 服务器连接通道名称:在创建 CCDT 文件之前,这些名称必须匹配。
CCDT 文件的位置
重要事项:不要打开或修改 CCDT 文件。修改该文件可能导致 CCDT 无法工作,而且有可能导致错误。
本教程介绍了 IBM Integration Bus V10 和 MQ V8 之间的配置和连接,还介绍了将 Integration 节点连接到 MQ 队列管理器的 3 个选项。这些选项包括本地队列管理器、MQ 客户端连接属性和客户端通道定义表。其中的场景演示了如何创建队列管理器,使用 CCDT 创建 MQ 通道,以及 IBM Integration 节点。本文还介绍了如何使用 MQ Connection 属性配置 IBM Integration Bus 消息流。
特别感谢 Ganesh Gopalakrishnan、Rajish E. Pattavalapil 和 Arundeep B. Veerabhadraiah 在创作本教程期间提供的帮助和宝贵建议。
学习更多知识。开发更多项目。联系更多同行。
会员计划提供了强大的开发工具和资源,包括 500 篇通过 Safari Books Online 提供的顶级技术文章(其中超过 15 篇文章是专门面向 Java 开发人员的)、最重要开发人员活动的大幅折扣、最新的 O'Reilly 大会的视频回放,等等。立即注册。
IBM 知识中心:
访问 mqseries.net 上的
,了解用户问题、答案和技巧。
IBM developerWorks WebSphere 专区中的
IBM Integration Bus
IBM 知识中心
developerWorks WebSphere 专区中的
:为使用 WebSphere 产品的开发人员准备的技术信息和资料。这里提供产品下载、how-to 信息、支持资源以及免费技术库,包含 2000 多份技术文章、教程、最佳实践、IBM Redbook 和在线产品手册。
,developerWorks 社区是一个面向全球 IT 专业人员,可以提供博客、书签、wiki、群组、联系、共享和协作等社区功能的专业社交网络社区。
已发表评论数()
请填写推刊名
描述不能大于100个字符!
权限设置: 公开
仅自己可见
正文不准确
标题不准确
排版有问题
主题不准确
没有分页内容
图片无法显示
视频无法显示
与原文不一致

我要回帖

更多关于 求javbus 地址 的文章

 

随机推荐