- 浏览: 274407 次
- 性别:
- 来自: 南京
文章分类
最新评论
-
Java_zhou:
...
Oracle自定义函数 -
wmj007:
SELECT USER_TAB_COLS.TABLE_NAME ...
Oracle 查询字段详细信息 -
avi9111:
怎么可以个人有一个MQ? 咁威的
使用c#操作IBM WebSphere MQ -
chouchouzzj:
8个小时。。。让我想起了世界时和北京时之间的差距,MQ存在时区 ...
使用c#操作IBM WebSphere MQ
6.3.1通道的状态
下图显示了所有可能的通道状态层次结构,在 WebSphere MQ for AIX, iSeries, HP-UX, Linux, Solaris, 和Windows systems, 和 WebSphere MQ V5.1 for OS/2 Warp平台,这些状态对服务器连接通道也适用。
图,通道状态
如果通道的状态分为inactive和current两大类;“current”可以是Stopped,Starting,Retrying和Active的情况。通道Acitve的情况又可分为Initializing,Binding,Requesting,Running,Paused或Stopping的状态。
下图显示通道状态之间的变化关系。
注意:
1. 当通道处于INITIALIZING, BINDING, REQUESTING, RUNNING, PAUSED, or或STOPPING状态时,这将消耗系统资源,并且通道的进程或线程正在运行;因为通道是Active状态。
2. 当通道是STOPPED状态时, 会话可能是active,因为下一个状态时未知的。
6.3.2通道维护命令
下面将详细地介绍通道有关的维护命令。
创建通道
为创建一个新通道,您需要创建两个通道定义,在通信的双方各定义一个。这两个通道的名字必须时相同的,而且两端的通道类型必须匹配,例如:发送和接收。可以使用MQSC命令“DEFINE CHANNEL”来创建通道,在命令中需要指定通道名,通道类型,连接名,通道描述(可选),传输队列名(可选)和传输协议,等还有许多可选的属性可以设置。
注意:
建议在WebSphere MQ的网络中所有的通道名唯一,并且通道名中最好包含了源队列管理器名和目标队列管理器名。
创建通道的例子
DEFINE CHANNEL(QM1.TO.QM2) CHLTYPE(SDR) +
DESCR(’Sender channel to QM2’) +
CONNAME(QM2) TRPTYPE(TCP) XMITQ(QM2) CONVERT(YES)
I
修改通道
可以使用 MQSC命令“ALTER CHANNEL”来修改现有通道定义,但是通道名和通道类型不能修改。
删除通道
可以使用 MQSC命令“DELETE CHANNEL”来删除现有通道定义。
查看通道定义
可以使用 MQSC命令“DISPLAY CHANNEL”来查看现有通道定义。可以说明通道名,通道类型(可选),和其它属性,或查看所有的属性。
查看通道定义的例子
DISPLAY CHANNEL(QM1.TO.QM2) TRPTYPE,CONVERT
DISPLAY CHANNEL(QM1.TO.*) TRPTYPE,CONVERT
DISPLAY CHANNEL(*) TRPTYPE,CONVERT
DISPLAY CHANNEL(QM1.TO.QMR34) ALL
查看通道状态
可以使用 MQSC命令“DISPLAY CHSTATUS”来查看现有通道状态。
显示的通道信息包括:
通道名
通信连接名
通道的In-doubt状态
上一个消息序号
传输队列名
in-doubt 标识
上一个提交消息序号
逻辑工作单元标识
进程ID
线程 ID (仅OS/2 和 Windows 支持)
查看通道状态的例子
DISPLAY CHSTATUS(*) CURRENT
DISPLAY CHSTATUS(QM1.TO.*) SAVED
Ping 通道
使用MQSC 命令“PING CHANNEL”用固定的数据消息来测试和远端的连接.ping通道并没有使用传输队列和目标队列。它只是使用了通道定义、通讯链路和网络设置。只用通道当前状态不是active的情况下才使用它。这个命令只能在发送通道和服务器通道方使用。
命令返回的结果是“Ping complete”或错误消息。
启动通道
使用MQSC命令“START CHANNEL”启动发送通道、服务器通道和请求器通道。如果通道是采用触发方式启动,那么不用手工执行启动命令。当接收通道处在disabled的状态时,也可以使用“START CHANNEL”命令启动它。在WebSphere MQ for AIX, iSeries, HP-UX, Linux, Solaris, 和Windows systems, 和 WebSphere MQ V5.1 for Compaq Tru64 UNIX, 和 OS/2 Warp,如果服务器连接通道处在disabled状态,也可以使用“START CHANNEL”命令启动它。启动处在disabled状态的接收通道或服务器连接通道,即是复位通道和允许通道被远程启动。当通道被启动时,发送MCA读通道定义文件并打开传输队列,并远程启动相应的接收或服务器通道。
通道启动成功的条件:
1,本地和远端的通道定义必须存在。
2,传输队列必须存在,并且没有其它通道使用它。
3,本地和远程的MCA必须存在。
4,通讯链路必须可用。
5,本地和远程队列管理器必须是处在运行状态。
6,消息通道一定不在运行。
停止通道
使用MQSC命令“STOP CHANNEL”停止通道。停止通道的命令只能对除客户连接之外的通道进行操作。
停止通道的方式:
静态停止(Stop quiesce)
STOP CHANNEL(QM1.TO.QM2) MODE(QUIESCE)
这种方式将顺序地停止通道,必须完成当前的消息处理并确保事务的一致性。
注意:
如果通道是空闲的,将不终止接收通道。
强制停止(Stop force)
STOP CHANNEL(QM1.TO.QM2) MODE(FORCE)
这种方式立即停止通道,但不终止通道的线程或进程。通道并没有完成当前的消息处理,因此可能使通道处在可疑的状态。通常,推荐系统管理员使用静态停止通道。
终止停止(Stop terminate)
STOP CHANNEL(QM1.TO.QM2) MODE(TERMINATE)
这种方式立即停止通道,并终止通道的线程或进程。
复位通道
可以使用MQSC命令“RESET CHANNEL”改变消息序号。这个命令可以适用于任何消息通道,但不能用在MQI通道(客户连接或服务器连接)。通道被启动后,将使用新的消息序号。如果是对发送通道或服务器通道进行复位,当下次通道重新启动时将通知通道的另一方。
Resolve通道
从发送通道或服务器通道使用MQSC命令“RESOLVE CHANNEL”来处理可疑的消息。“RESOLVE CHANNEL”命令可以接受 BACKOUT 或 COMMIT参数,Backout将把可疑消息恢复到传输队列,而Commit将丢弃可疑消息。
6.3.3设置MaxChannels和MaxActiveChannels属性
MaxChannels和MaxActiveChannels分别代表队列管理器允许配置的通道的最大个数和允许同时运行的通道的个数,MaxChannels的缺省值是100,MaxActiveChannels的缺省值与MaxChannels相同。如果您的并发通道连接个数超过了100,您需要修改这两个参数。这对于大并发的Client/Server间通讯尤为重要。
例如,在unix平台,修改qm.ini文件如下所示:
CHANNELS:
MaxChannels = 200 ; Maximum number of Channels allowed.
MaxActiveChannels = 150 ; Maximum number of Channels allowed to be
; active at any time.
下图显示了所有可能的通道状态层次结构,在 WebSphere MQ for AIX, iSeries, HP-UX, Linux, Solaris, 和Windows systems, 和 WebSphere MQ V5.1 for OS/2 Warp平台,这些状态对服务器连接通道也适用。
图,通道状态
如果通道的状态分为inactive和current两大类;“current”可以是Stopped,Starting,Retrying和Active的情况。通道Acitve的情况又可分为Initializing,Binding,Requesting,Running,Paused或Stopping的状态。
下图显示通道状态之间的变化关系。
注意:
1. 当通道处于INITIALIZING, BINDING, REQUESTING, RUNNING, PAUSED, or或STOPPING状态时,这将消耗系统资源,并且通道的进程或线程正在运行;因为通道是Active状态。
2. 当通道是STOPPED状态时, 会话可能是active,因为下一个状态时未知的。
6.3.2通道维护命令
下面将详细地介绍通道有关的维护命令。
创建通道
为创建一个新通道,您需要创建两个通道定义,在通信的双方各定义一个。这两个通道的名字必须时相同的,而且两端的通道类型必须匹配,例如:发送和接收。可以使用MQSC命令“DEFINE CHANNEL”来创建通道,在命令中需要指定通道名,通道类型,连接名,通道描述(可选),传输队列名(可选)和传输协议,等还有许多可选的属性可以设置。
注意:
建议在WebSphere MQ的网络中所有的通道名唯一,并且通道名中最好包含了源队列管理器名和目标队列管理器名。
创建通道的例子
DEFINE CHANNEL(QM1.TO.QM2) CHLTYPE(SDR) +
DESCR(’Sender channel to QM2’) +
CONNAME(QM2) TRPTYPE(TCP) XMITQ(QM2) CONVERT(YES)
I
修改通道
可以使用 MQSC命令“ALTER CHANNEL”来修改现有通道定义,但是通道名和通道类型不能修改。
删除通道
可以使用 MQSC命令“DELETE CHANNEL”来删除现有通道定义。
查看通道定义
可以使用 MQSC命令“DISPLAY CHANNEL”来查看现有通道定义。可以说明通道名,通道类型(可选),和其它属性,或查看所有的属性。
查看通道定义的例子
DISPLAY CHANNEL(QM1.TO.QM2) TRPTYPE,CONVERT
DISPLAY CHANNEL(QM1.TO.*) TRPTYPE,CONVERT
DISPLAY CHANNEL(*) TRPTYPE,CONVERT
DISPLAY CHANNEL(QM1.TO.QMR34) ALL
查看通道状态
可以使用 MQSC命令“DISPLAY CHSTATUS”来查看现有通道状态。
显示的通道信息包括:
通道名
通信连接名
通道的In-doubt状态
上一个消息序号
传输队列名
in-doubt 标识
上一个提交消息序号
逻辑工作单元标识
进程ID
线程 ID (仅OS/2 和 Windows 支持)
查看通道状态的例子
DISPLAY CHSTATUS(*) CURRENT
DISPLAY CHSTATUS(QM1.TO.*) SAVED
Ping 通道
使用MQSC 命令“PING CHANNEL”用固定的数据消息来测试和远端的连接.ping通道并没有使用传输队列和目标队列。它只是使用了通道定义、通讯链路和网络设置。只用通道当前状态不是active的情况下才使用它。这个命令只能在发送通道和服务器通道方使用。
命令返回的结果是“Ping complete”或错误消息。
启动通道
使用MQSC命令“START CHANNEL”启动发送通道、服务器通道和请求器通道。如果通道是采用触发方式启动,那么不用手工执行启动命令。当接收通道处在disabled的状态时,也可以使用“START CHANNEL”命令启动它。在WebSphere MQ for AIX, iSeries, HP-UX, Linux, Solaris, 和Windows systems, 和 WebSphere MQ V5.1 for Compaq Tru64 UNIX, 和 OS/2 Warp,如果服务器连接通道处在disabled状态,也可以使用“START CHANNEL”命令启动它。启动处在disabled状态的接收通道或服务器连接通道,即是复位通道和允许通道被远程启动。当通道被启动时,发送MCA读通道定义文件并打开传输队列,并远程启动相应的接收或服务器通道。
通道启动成功的条件:
1,本地和远端的通道定义必须存在。
2,传输队列必须存在,并且没有其它通道使用它。
3,本地和远程的MCA必须存在。
4,通讯链路必须可用。
5,本地和远程队列管理器必须是处在运行状态。
6,消息通道一定不在运行。
停止通道
使用MQSC命令“STOP CHANNEL”停止通道。停止通道的命令只能对除客户连接之外的通道进行操作。
停止通道的方式:
静态停止(Stop quiesce)
STOP CHANNEL(QM1.TO.QM2) MODE(QUIESCE)
这种方式将顺序地停止通道,必须完成当前的消息处理并确保事务的一致性。
注意:
如果通道是空闲的,将不终止接收通道。
强制停止(Stop force)
STOP CHANNEL(QM1.TO.QM2) MODE(FORCE)
这种方式立即停止通道,但不终止通道的线程或进程。通道并没有完成当前的消息处理,因此可能使通道处在可疑的状态。通常,推荐系统管理员使用静态停止通道。
终止停止(Stop terminate)
STOP CHANNEL(QM1.TO.QM2) MODE(TERMINATE)
这种方式立即停止通道,并终止通道的线程或进程。
复位通道
可以使用MQSC命令“RESET CHANNEL”改变消息序号。这个命令可以适用于任何消息通道,但不能用在MQI通道(客户连接或服务器连接)。通道被启动后,将使用新的消息序号。如果是对发送通道或服务器通道进行复位,当下次通道重新启动时将通知通道的另一方。
Resolve通道
从发送通道或服务器通道使用MQSC命令“RESOLVE CHANNEL”来处理可疑的消息。“RESOLVE CHANNEL”命令可以接受 BACKOUT 或 COMMIT参数,Backout将把可疑消息恢复到传输队列,而Commit将丢弃可疑消息。
6.3.3设置MaxChannels和MaxActiveChannels属性
MaxChannels和MaxActiveChannels分别代表队列管理器允许配置的通道的最大个数和允许同时运行的通道的个数,MaxChannels的缺省值是100,MaxActiveChannels的缺省值与MaxChannels相同。如果您的并发通道连接个数超过了100,您需要修改这两个参数。这对于大并发的Client/Server间通讯尤为重要。
例如,在unix平台,修改qm.ini文件如下所示:
CHANNELS:
MaxChannels = 200 ; Maximum number of Channels allowed.
MaxActiveChannels = 150 ; Maximum number of Channels allowed to be
; active at any time.
发表评论
-
想做一个wiki网站
2007-06-16 01:01 787很想做一个wiki网站,用来收集一些资源,不知道好不好 -
.net 编译器csc的用法大全
2007-07-03 13:08 14331. 配置环境变量:在path 变量中加上csc.exe的路径 ... -
ASP日期和时间函数
2007-07-04 11:37 1187<%=year(now)%>年<%=mo ... -
C# ini文件读写 类
2007-08-05 14:00 1547一个C# ini文件读写类,从网上收集的,很全,就是没有对se ... -
C# 接口
2007-08-13 16:18 787目录 接口的定义 ... -
c#索引器
2007-08-13 17:13 1303经常见有这样的类:如aClass a = new Class ... -
为sql server 表数据生成创建的储存过程(生成insert 脚本)
2007-08-14 13:35 1159使用SQL Server 2000自带的“生成SQL脚本”工具 ... -
学习MemberShip
2007-08-15 21:38 870这几天没时间,先收集一些资料(没有msdn就是不爽,上网速度有 ... -
sql server的随机函数newID()和RAND()
2007-08-16 20:15 1708sql server的随机函数newID( ... -
用The Regulator 学习正则表达式
2007-08-17 17:12 1057前几天发现一个好的学习正则表达式的工具 The Regulat ... -
C# float 与零比较(南京某公司面试题)
2007-09-01 02:48 2170写出float类型与零比较的判断语句 <script t ... -
我的.net学习资料
2007-09-11 00:55 1119我的.net学习资料 -
javascript 给text赋值
2007-09-25 12:27 2779javascript 给text赋值 方法一: <!D ... -
javascript权威指南例子(自己写的)
2007-10-03 14:17 876javascript权威指南例子(自己边看边写的) 前面几章的 ... -
msdn的javascript文章转载
2007-10-08 10:18 1068JavaScript 使用面向对象的技术创建高级 Web 应用 ... -
vs2005 调试时出现“无法附加。绑定句柄无效”的解决办法
2007-10-08 17:34 1218vs2005启动调试程序时,出现 无法附加,绑定句柄无效 ... -
vs 2005 启动设备仿真器管理器出错(wm5)解决方案
2007-10-10 12:14 1171vs 2005 启动设备仿真器管理器出错(wm5)解决方案,问 ... -
C#(.net) 线程和最小化到托盘的例子
2007-10-13 15:55 1048自己写的一个使用线程和最小化到托盘的例子。 例子下载当你看这个 ... -
ORACLE函数介绍
2007-10-17 12:22 793ORACLE函数介绍 第一篇 著名函数之单值函数 ... -
sqlserver 查询字段的详细信息
2007-11-29 19:54 885sqlserver 查询字段的详细信息 http://www. ...
相关推荐
【WebSphere MQ 7 教程】 WebSphere MQ(简称WMQ)是IBM提供的一款企业级消息中间件,它在分布式系统中起到了关键的角色,负责可靠地传递数据和消息。在WebSphere MQ 7版本中,它提供了更高级别的安全性和性能优化...
### WebSphere MQ 配置与测试 #### 一、引言 IBM WebSphere MQ(简称WMQ或MQ)是一款企业级的消息中间件产品,它能够实现应用程序之间安全可靠的异步消息传递。无论应用程序是否同时处于运行状态,WebSphere MQ都...
- **检查MQ配置**:确认通道设置正确,客户端能够成功连接到服务器。 - **分析错误日志**:查看是否有特定的错误代码或消息提示。 ##### 4.3 数据传输异常 - **检查网络延迟**:确保网络延迟在可接受范围内。 - **...
- **数据库协调功能**:MQ作为协调器,可以执行消息和数据库的两阶段提交,但不支持全局事务。 - **连接选项**:支持MQ本地连接和客户端连接,无需单独安装MQ客户端。 - **编程模型**:与C/C++等其他语言中的MQI编程...
1. **IBM MQ Java API**:IBM提供了JMS API的实现,允许Java开发者创建MQ连接、队列管理器、队列和通道。通过`com.ibm.mq.allclient`和`com.ibm.mq.jms`这两个库,你可以编写发送和接收消息的代码。 2. **连接配置*...
WebSphere MQ,也被称为MQSeries,是IBM提供的一款强大的消息中间件产品,它允许应用程序在分布式环境中进行可靠的、异步的数据...通过熟练掌握这些技能,用户可以更有效地管理和维护MQ系统,确保其稳定、高效运行。
WebSphere_MQ_V7.0.1.3 安装目录下\java\doc;\java\lib;\java\lib64. 包含com.ibm.mq.jar,com.ibm.mq.jmqi.jar,com.ibm.mq.axis2.jar,com.ibm.mq.commonservices.jar等等
WebSphere MQ 是 IBM 提供的一款高效、可靠的中间件产品,用于在不同的应用程序之间传递消息。在本文中,我们将深入探讨如何在...理解并熟练掌握这些配置和编程步骤,是开发和维护基于WebSphere MQ的应用的关键。
### WebSphere MQ 使用 C++ 的关键技术点 #### 引言 IBM WebSphere MQ 是一个消息中间件产品,它能够帮助应用程序在分布式环境中可靠地发送和接收消息。通过使用 WebSphere MQ,开发人员可以构建出高度可扩展且...
4. **消息格式**:MQ支持多种消息格式,包括字符串、二进制等。理解如何在C++中创建和解析这些消息。 5. **发送消息**:学习如何使用`MQPUT`函数将消息放入队列,包括设置消息属性,如消息标识符、优先级等。 6. *...
【消息中间件与WebSphere MQ】 消息中间件是一种用于分布式系统中应用程序间通信的软件,它的核心功能是实现信息的可靠传输,提供了一种解耦的通信模型,使得发送和接收应用程序无需直接互相了解对方的细节。消息...
Camel IBM Websphere MQ 到 Active MQ 桥接路由 先决条件 IBM 为安装在 Fuse 上的 MQ 客户端提供了 OSGi jar 文件IBM_MQ_INSTALL_DIR/java/lib/OSGi 运行 AMQ 代理 带有填充属性的 JBOSS_FUSE_INSTALL_DIR/etc/ 中...
如何进行WebShpere MQ 运行故障的定位分析和排除
MQ+for+Linux+安装配置手册.pdf mq安装手册1.doc WAS+6.1安装手册installation+guide.pdf WebShpere MQ 配置与测试.txt WebSphere MQ 常用命令.txt
- **队列管理器**:队列管理器是MQ的核心组件,负责管理消息队列和通道。 - **本地队列**:存储本地消息。 - **传输队列**:用于在不同队列管理器之间传递消息。 - **远程队列定义**:定义了远程队列管理器上的...
lYkE8O >8O*<9C WebSphere Application Server Network Deployment Dy>d C#
### WebSphere MQ配置管理知识点详解 #### 一、概述 WebSphere MQ(简称WMQ)是一种消息中间件,用于在分布式环境中实现应用间的安全、可靠的消息传递。它提供了丰富的功能来满足不同规模的企业需求,包括但不限于...
WebSphere MQ配置.rar WebSphere MQ配置.rar WebSphere MQ配置.rar