【问题标题】:Service Bus 2.6.6 Paired Namespace Enable Syphon服务总线 2.6.6 配对命名空间启用虹吸管
【发布时间】:2015-05-05 18:11:30
【问题描述】:

如何使配对命名空间接收方将消息从积压队列移动到主队列。它似乎适用于发送者,但接收者设置 EnableSyphon = true 似乎不起作用。我总是可以看到积压队列中的消息并且不断增长。我能找到的所有信息都是这个 Code Block ,但由于 Service Bus 2.4 Messaging.Factory 没有 Open 方法。

factory = MessagingFactory.Create(SB_Primary_NS_Address);
factory.PairNamespace(new SendAvailabilityPairedNamespaceOptions
{
    EnableSyphon = true,
    TransferQueueCount = 10,
    MessagingFactory = paired-NS_factory,
    NamespaceManager = paired-NS_manager
});
factory.Open();

【问题讨论】:

    标签: c# azure azureservicebus servicebus syphon


    【解决方案1】:

    他们改变了将命名空间与更新的版本配对的方式。相反,您通过传入 PairedNamespaceOptions 实例从主消息传递工厂调用 Async 函数 (PairNamespaceAsync)。注意返回的Task其实是Promise类型,所以不要对Task调用Start(),因为它已经启动了,直接调用Waiting()即可。

    此外,您必须确保辅助命名空间和 MessagingFactory 具有管理级别的安全性。对于 MessagingFactory 来说,仅仅拥有一个 Publish 是不够的,它不会将消息发送回 Primary Queue/Topic。

    // assume members _messagingFactory, _secondaryNamespaceManager, _secondaryManagementMessagingFactory have been assigned.
    
    try
    {
        var pairedNamespaceOptions = new SendAvailabilityPairedNamespaceOptions(_secondaryNamespaceManager,
                _secondaryManagementMessagingFactory,
                1,
                TimeSpan.FromSeconds(30),
                true);
        _messagingFactory.PairNamespaceAsync(pairedNamespaceOptions).Wait();
    }
    catch (Exception ex)
    {
        // logging or handle
    }
    

    一些有用的链接。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-28
      相关资源
      最近更新 更多