排队组件体系结构

COM+ 排队组件服务通过提供可以同步(实时)或异步(排队)调用组件的环境来增强 COM 编程模型。 组件不需要注意它是在实时上下文还是排队上下文中使用。

消息传递应用程序类似于程序之间的电子邮件事务。 请求者向服务器发送消息;当服务器到达它时,将处理该消息。 与电子邮件一样,消息系统必须处理网络详细信息,并确保邮件从客户端移动到服务器。 在排队组件框架中,消息队列负责此作。

COM+ 排队组件服务由以下部分组成:

  • 记录器(客户端或发送端)
  • 侦听器(服务器或接收端)
  • 玩家(对于服务器端或接收方)

关系图,显示从客户端到服务器的路径:客户端、记录器、队列、侦听器、播放器、服务器。

录制器

在典型的排队组件方案中,客户端调用排队的组件。 调用已排队的组件记录器,该记录器将其打包为消息的一部分,并将其放入队列中。 记录器将客户端的安全上下文封送到消息中,并记录客户端的所有方法调用。 在服务器组件的代理角色中,记录器从 COM+ 目录中的可排队接口中选择接口。

录制的表示形式作为要发送到服务器的消息发送到消息队列。 当排队组件具有必需或支持的事务属性设置时,仅当客户端事务提交且消息队列队列是事务性的时,消息队列才接受消息的传递,这是通常建立的默认。 当事务属性设置为“需要新”时,即使客户端事务中止,消息队列也可以接受消息。 有关事务的详细信息,请参阅 事务消息队列

侦听器

排队的组件侦听器从队列中检索消息,并将其传递给排队的组件播放器。

玩家

玩家将客户端的安全上下文解开,然后调用服务器组件并发出相同的方法调用。 在客户端组件完成并记录方法调用提交的事务之前,玩家不会播放方法调用。

消息移动器

排队组件消息移动器是一个实用工具,用于将所有失败的消息队列消息从一个队列移到另一个队列,以便重试它们。 消息移动器实用工具是可以使用 VBScript 调用的自动化对象;有关详细信息,请参阅 处理错误