使用 TIBCO Rendezvous 从 BizTalk Server 接收端口

概述

若要使用接收端口,可以提供一个架构来为传入消息BizTalk Server。 随后,将接收端口配置为侦听一组特定的使用者名称。 它使用具有可选通配符字符的使用者名称与多个使用者名称匹配。 可以在BizTalk Server业务流程中为每个与给定字符串匹配的可能主题定义不同的端口操作。

注意

适配器支持业务流程和消息传送方案。

定义架构

例如,如果端口配置为侦听使用者名称 STOCK。市场。指标。> (“”>是一个通配符,表示右侧) 的任何其他内容,为主题名称(如 STOCK)定义操作是有效的 。市场。指标。纽 交 所。SP500STOCK。市场。指标。TSX.TSX60 等。 适配器使用 TIBCO Rendezvous 中接收处理程序的数据类型映射中所述的策略生成消息,并分别基于侦听使用者名称和接收的消息使用者名称生成根元素名称和命名空间。

在前面的示例中,适配器为 SP500 事件生成如下所示的消息:

<ns:STOCK.MARKET.INDICES.NYSE.SP500 xmlns:ns='   
http://schemas.microsoft.com/TibcoRendezvous/Types/  
STOCK.MARKET.INDICES.NYSE.GTWILDCARD'  
xmlns:tibrv=' http://schemas.microsoft.com/TibcoRendezvous/Types' … >  
<message body>  
</ns: STOCK.MARKET.INDICES.NYSE.SP500>  
  

必须定义使用相同的约定的架构。 例如:

<xsd:schema  
targetNamespace='   
  
http://schemas.microsoft.com/TibcoRendezvous/Types/STOCK.MARKET.INDICES.N  
YSE.GTWILDCARD'  
xmlns:xsd=' http://www.w3.org/2001/XMLSchema'  
xmlns:tibrv=' http://schemas.microsoft.com/TibcoRendezvous/Types'>  
xmlns:b="http://schemas.microsoft.com/BizTalk/2003"  
<xsd:element name='STOCK.MARKET.INDICES.NYSE.SP500'>  
  
 <xs:annotation>  
   <xs:appinfo>  
     <b:recordInfo rootTypeName="STOCK_MARKET_INDICES_NYSE_SP500" />  
   </xs:appinfo>  
  
 </xs:annotation>  
<xsd:complexType>  
<SP500 message definitions goes here>  
</xsd:complexType>  
<xsd:element name='STOCK.MARKET.INDICES.TSX.TSX60'>  
  
 <xs:annotation>  
   <xs:appinfo>  
     <b:recordInfo rootTypeName="STOCK_MARKET_INDICES_TSX_TSX60" />  
   </xs:appinfo>  
  
 </xs:annotation>  
<xsd:complexType>  
<TSX60 message definitions goes here>  
</xsd:complexType>  
  

请注意BizTalk Server recordInfo/rootTypeName 注释的使用。 这是为了指示 Visual Studio/BizTalk 集成对生成的.NET Framework类型使用该名称,而不是包含点的名称。 您可以指定任何内容: 在示例中,点替换为下划线。

注意

这些点会导致BizTalk Server开发工具生成无效的名称。

事件处理

用于 TIBCO Rendezvous 的 Microsoft BizTalk 适配器从队列中调度多个线程上的事件。 BizTalk Server接收位置与一个 TIBCO Rendezvous 事件队列及其调度程序线程池相关联。

内存使用和错误

处理事件时,适配器会监控所使用的资源情况。 如果内存使用量超出高水位,则适配器会停止调度事件,直至内存使用量达到低水位。 注意,对于未认证的消息,这会导致 TIBCO Rendezvous 消息丢失(TIBCO RV 使用者有 60 秒的时间将消息从队列中删除)。 此数据丢失会被报告为错误。 如果适配器收到 TIBCO Rendezvous 系统建议 NO_MEMORY 消息,则这些消息已经丢失。

用于 TIBCO Rendezvous 的 BizTalk 适配器会维持一种状态,并根据该状态的变化来执行任务。 如果 BizTalk 消息引擎报告错误,并且已将适配器配置为认证侦听器,则向 TIBCO Rendezvous 报告错误,以便可以重新提交消息。

另请参阅

TIBCO Rendezvous 概念
TIBCO Rendezvous 中用于接收处理程序的数据类型映射
创建 TIBCO Rendezvou 接收处理程序