如何配置 MSMQ 接收位置

您可以在 BizTalk Server 管理控制台中设置 MSMQ 接收位置适配器变量。 如果未设置接收位置的属性,则使用 BizTalk Server 管理控制台中设置的默认接收处理程序值。

注意

在执行以下过程之前,您必须已添加接收端口。 有关详细信息,请参阅 如何创建接收端口

重要

如果主机实例与 MSMQ 发送端口或接收位置相关联,则请验证该 MSMQ 服务正在该计算机上运行。 如果该服务未运行,则 MSMQ 接收端口在启动后将随即关闭,并将发送到 MSMQ 发送端口的消息挂起。

在群集方案中,不仅需要运行群集 MSMQ 实例,还应在每个群集计算机上运行本地 MSMQ 服务。

配置 MSMQ 接收位置的变量

请按照下列步骤为 MSMQ 接收位置配置变量:

  1. 在BizTalk Server管理控制台中,依次展开“BizTalk Server管理”、“BizTalk 组”、“应用程序”和“应用程序”,然后展开要在其中创建接收位置的应用程序。

  2. 在BizTalk Server管理控制台的左窗格中,单击“接收端口”节点。 随后,在右窗格中右键单击与现有接收位置关联的接收端口或要与新接收位置关联的接收端口,然后单击“属性”

  3. 在“ 接收端口属性 ”对话框的左窗格中,选择“ 接收位置”,然后在右窗格中双击现有接收位置,或单击“ 新建”创建新的接收位置。

  4. 在“接收位置属性”对话框中,在“类型”旁边的“传输”部分,从下拉列表中选择“MSMQ”,然后单击“配置”。

  5. 在“ MSMQ 传输属性 ”对话框中,执行以下操作:

    使用此选项 要执行此操作 日期类型 默认值
    密码 设置用于远程队列的密码。 字符串 空白
    用户名 确定与密码结合使用以访问远程队列的用户名。 不能使用远程计算机的本地用户作为该用户名。 字符串 空白
    批大小 配置批大小。 MSMQ 适配器将消息分批提交给 MessageBox 数据库。 默认的批大小为 20,最小批大小为 1。 注意: 如果接收位置的 事务 属性设置为 True;每个消息批在 Microsoft 分布式事务处理协调器 (MSDTC) 事务的上下文下提交到 MessageBox 数据库。 为消息批创建的 MSDTC 事务将始终处于打开状态,直到该批中的所有消息都已保存到 MessageBox 数据库并已放置到相应的订户队列中为止。 因此,此 MSDTC 事务的持续时间会随着 Batch Size 参数的增加而增加。 由于同时打开大量 MSDTC 事务可能会对整体性能产生负面影响,因此启用事务支持时,不应将 Batch Size 参数设置为非常大的值。 int 20
    失败时 指定适配器响应错误的方式。 将此属性设置为以下值之一:

    - 停止。 如果出现错误情况,请停止通过此接收位置接收消息。
    - 暂停 (不可恢复的) 。 挂起消息并标记为不可恢复。
    - 挂起 (可恢复) 。 挂起消息并标记为可恢复。 重要:如果同时应用“有序处理”属性的 True 选项、“失败时”属性的“停止”选项和“事务”属性的 False 选项,则传递失败的任何消息都不会暂停或保留在源队列中。 在此方案中,会发生消息丢失。 为防止数据丢失,在使用有序处理功能时,仅当应用事务属性的 True 选项时,才应应用“失败时”属性的“停止”选项。 然后,在消息送达失败时,原始消息将会保留在源 MSMQ 队列中。 如果 “有序处理” 属性设置为 False 值,则 On Failure 属性将不会生效,如果消息传送失败,则消息将挂起,状态为 “已挂起 (可恢复)
    字符串 已挂起(可恢复)
    按序处理 将此属性设置为 TrueFalse。 这表示是否按顺序处理消息。 将 属性设置为 True 时,如果与 BizTalk 消息传送或业务流程发送端口结合使用,该端口的“有序传递”选项设置为 True,则会适应有序消息传送。 有关详细信息,请参阅 消息的有序传递

    将此属性设置为 True 还可以在处理大型消息时优化资源使用情况,方法是使适配器成为单线程适配器。 有关详细信息,请参阅 使用 MSMQ 适配器发送和接收大型消息
    布尔 False
    队列 键入有效的队列路径。 根据指定的队列路径,系统将执行相应的验证。 注意: 发送端口或接收位置的 URI 不能超过 256 个字符。 注意: MSMQ 接收适配器使用轮询机制每隔 0.5 秒监视指定的 MSMQ 队列中的新消息。 此 0.5 秒间隔为固定间隔。 字符串 空白
    事务性 将此属性设置为 TrueFalse注意: 适配器仅支持使用消息队列 4.0 或更高版本对远程队列进行事务性读取。 在这种情况下,BizTalk Server和远程消息队列服务器都必须运行消息队列 4.0 或更高版本。

    有关详细信息,请参阅 配置 MSMQ 适配器在群集主机中运行适配器处理程序的注意事项
    布尔 False

    注意

    用户名和密码仅适用于用于访问远程队列的 Windows 帐户。

  6. 单击 “确定”

  7. 在“ 接收位置属性 ”对话框中,输入相应的值以完成接收位置的配置,然后单击“ 确定 ”保存设置。 有关“接收位置属性” 对话框的信息,请参阅 如何创建接收位置

另请参阅

配置 MSMQ 适配器