【问题标题】:Permanent Subscription MassTransit - no messages after restart永久订阅 MassTransit - 重新启动后没有消息
【发布时间】:2013-09-17 11:57:11
【问题描述】:

我希望这将是一个容易的人指出我做了一些愚蠢的事情!

我最近尝试在我们的系统上设置 MassTransit,但我遇到了一些问题,即我的订阅者无法处理消息。在订阅服务重新启动/重新部署之前,这些消息都得到了很好的处理,之后它们就不起作用了。

订阅服务是一个 Windows 服务。我正在使用 MSMQ 以及与 MassTransit (v2.8) 捆绑的 RuntimeServices。

我希望我错过了有关设置永久订阅的一些信息,但我一直在寻找更多信息,但运气不佳。

如果我设置错误,有人知道吗?

这里是初始化代码:

发布服务

    public static void Activate()
    {
        Bus.Initialize(bus =>
        {
            bus.UseMsmq(msmq => msmq.UseSubscriptionService("msmq://localhost/subscriptions"));
            bus.UseControlBus();
            bus.ReceiveFrom("msmq://localhost/our_webservice");
        });

    }

    public static void Shutdown()
    {
        Bus.Shutdown();
    }

订阅服务

    private void ConfigureMessageBus()
    {
            Bus.Initialize(bus =>
            {
                bus.UseMsmq(msmq => msmq.UseSubscriptionService("msmq://localhost/subscriptions"));
                bus.ReceiveFrom("msmq://localhost/commissionupdate_service");
                bus.Subscribe(s => s.Consumer<CommissionUpdatedHandler>().Permanent());
            });
     }

    protected override void OnStop()
    {
        Bus.Shutdown();
    }

如果我能提供任何有助于找到问题的更多信息,请告诉我。

提前致谢! 吉姆。

【问题讨论】:

  • 你看过队列了吗?有时从排队的样子就很明显了。否则,添加一个记录器(例如 Masstransit.NLog),启用日志记录(通过使用 DEBUG 级别配置 masstransit 命名空间)。改用 UseMulticastSubscriptionClient()。
  • 您对此有解决方案吗?有同样的问题

标签: msmq publish-subscribe masstransit


【解决方案1】:

我不知道这是否会有所帮助但是我们遇到了类似的问题。在我们的情况下,我们在发布服务中有 Azure 服务总线和不必要的代码:

_busHandle = await _bus.StartAsync(cancellationToken).ConfigureAwait(false);

当我删除它时,问题就解决了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多