正在启动 |
当明信片启动时,它检查这台计算机中存在哪些队列管理器,并初始化相应的注册对话框(如果根本没有队列管理器,将提示您安装缺省配置)。
明信片使用 JMS 调用 |
接收消息 |
明信片运行期间将轮询名为 postcard 的队列,它用于排列来自其它明信片的进入消息。(如果没有称为 postcard 的队列,明信片将试图创建一个)。 当明信片开始运行时,它为本地 postcard 队列创建 JMS QueueReceiver 对象,将一个选择器字符串作为参数提供,它过滤相关标识(CorrelId 字段)从队列中接收的消息。选择器字符串定义明信片客户机只应接收 CorrelID 字段与用户别名匹配的消息。然后消息数据的文字就会显示在“JMS 明信片”窗口中。 |
发送消息 |
如果没有在对于:字段中输入计算机名称,则明信片假设收件人在同一队列管理器。 如果您确实输入了名称,明信片使用此名称检查队列管理器的存在 - 首先使用提供的确切名称,然后使用格式与缺省配置所创建前缀相同的前缀。
在这两种情况下,它将发出
最后,它从您的别名和输入的文字构建 JMS BytesMessage,并执行 |
明信片如何到达那里 |
若这台计算机上的其它明信片实例使用相同的队列管理器和队列,则消息将简单地放入一个队列并从一个队列中获取。不过,这能够验证安装在该计算机上的 WebSphere MQ 代码已正确配置并已正常工作。 对于向另一个队列管理器发送的明信片,必须存在连接。若两个队列管理器都是同一群集的成员或您已明确创建了连接,则该连接存在。因此,明信片可以假设队列管理器是可连接的,并且简单地与它连接,打开队列,放入消息(已描述过),将所有取出消息的工作都留给 WebSphere MQ 群集代码。换句话说,明信片只是将一部分的代码用于放入消息,而无需知道消息是否将发送到另一台计算机处。 在明信片中,当调用 session.createSender("postcard") 时,群集代码检查资源库以查找另一个队列管理器和检查队列是否存在,如果出于任何原因而不可能做到,则抛出异常。 当调用 queueSender.send(theMessage) 时,群集代码将打开通往另一个队列管理器(如果需要,创建它)的通道并发送消息。 如果群集优化代码不需要通道,将在此之后废弃通道。如果队列管理器在不同的计算机上,则全由群集代码处理。 |
整理不可传递的消息 |
如果您向“John”发送了一个明信片,但您从未使用别名“John”运行过明信片,则消息将被永远保留在队列中。要防止此类情况发生,明信片可将消息描述符(MQMD)中的消息生命期(Expiry)字段设置为 48 小时。这段时间之后,无论消息在何处(可能仍在传输中)都将被废弃。 |
请将您对帮助和手册的意见发送到 idrcf@hursley.ibm.com
(C) IBM Corporation 1996, 2002. All Rights Reserved