通过配置 MSMQ 适配器,可以提高使用 MSMQ 适配器发送和接收消息的可靠性。 本主题将介绍使用多个配置属性进行可靠的消息传送。
在群集的 BizTalk 主机内运行 MSMQ 适配器处理程序
确保高可用性的一个方法是:在不同的 BizTalk Server 上的多个主机实例中同时运行适配器处理程序。 对于 MSMQ 适配器处理程序,不建议使用此方法,因为 MSMQ 不支持远程事务性读取,并且 MSMQ 发送处理程序对于 MSMQ 服务的本地运行实例具有依存关系。 为了提高 MSMQ 发送和接收处理程序的可用性,建议您在 BizTalk 主机的群集实例中运行 MSMQ 适配器处理程序。 有关详细信息,请参阅 在群集主机中运行适配器处理程序的注意事项。
队列错误和死信队列
消息成功发送后,如果禁用或删除接收队列,则后续消息不会出错。 这种情况会导致消息丢失。
将 “使用死信队列 ”配置属性设置为 True 可防止丢失消息。 当 属性 True
(默认) 时,队列未接收的消息将进入死信队列。
模拟和远程队列
使用远程队列时,还必须将 “使用死信队列 ”配置属性设置为 True 。 如果 MSMQ 适配器在没有远程队列使用权限的情况下模拟用户,则消息会丢失。
当 属性为 True 并且模拟用户没有使用远程队列的权限时,消息将转到本地或远程计算机上的死信队列。 在事务性发送中,消息将进入本地计算机的死信队列。 在非事务性发送中,消息将进入远程计算机的死信队列。
“可恢复”和“使用日志队列”属性
“可恢复”和“使用日记队列”属性都保存已发送消息的副本。 有关这些属性的详细信息,请参阅如何配置 MSMQ 接收位置和如何配置 MSMQ 发送端口。