2.1.4 Sender-requester
Sender/Requester的连接过程稍微复杂一些,如图3所示。Requester首先与Sender连接,在通知对方连接参数后连接断开。Sender进行反向连接,消息也是反向传送的,即由Sender传给requester。这种反向连接的方式,称为回调连接(callback connection)。这种模式也常用于做双向验证,即双方必须都要知道对方的通信参数才能完成回调连接。
2.1.5 Cluster sender-cluster receiver
在一个cluster环境中,每一个队列管理器都一个Cluster sender通道,通过这个通道把消息发送到完全资源队列管理器,每一个队列管理器也有一个cluster-receiver通道可以用来接收cluster中的消息。
在本文中我们不重点介绍cluster sender-cluster receiver通道。
2.2 消息通道的触发机制 2.2.1 触发器原理
触发(Triggering),是一种自动启动应用程序的机制。
队列管理器把某种条件称为触发事件。如果队列被设置为触发类型,并且触发事件发生了,那么队列管理器将发送一个触发消息到一个称作启动队列的队列中。触发消息被放置到启动队列的过程意味着产生了触发事件。
处理队列管理器中的消息是触发监控程序(Trigger-Monitor Application),他的工作是读取触发消息并根据触发消息的信息做出相应的处理。触发监控程序没有什么特殊,它只不过是从启动队列读取消息的应用程序。
当队列管理器发现由一条消息到达被触发的队列之后,它产生的触发消息将被存放到启动队列中,触发监控程序将从启动队列中取出触发消息,并根据触发消息中的内容,启动相应的消息处理程序来处理被触发队列中的消息。
触发所涉及的对象如下所示:
1) 应用队列(Application Queue):一个本地队列并设置为可触发。当触发条件满足时,将会产生触发消息。
2) 传输队列:如果用触发方式来启动通道,则传输队列将对应了触发的应用队列。在传输队列的TriggerData属性中设置为将被启动的通道名,这将省略进程的定义。
3) 进程定义(Process Object):一个应用队列可能由一个进程定义对象和它关联。进程定义中包含应用程序的信息。该应用程序负责从应用队列中取出消息。
4) 触发事件:它是一种引起队列管理器产生触发消息的事件。
5) 触发消息:当触发事件发生时,队列管理器将产生触发消息。触发信息来自于应用队列和于应用队列关联的进程定义,它包含了将要被启动的程序名。
6) 启动队列:一个本地队列。被用来存发触发消息的队列。一个队列管理器可用拥有多个启动队列。一个启动队列可以为多个应用队列服务。
7) 触发监控器:是一个持续运行的程序,当一个触发消息到达启动队列时,触发监控器获取触发消息,并利用触发消息中的信息,启动应用程序来处理应用队列中的消息,并把触发消息头发送传递给应用程序,消息头中包含应用队列名。
以下文章点击率最高
Loading…