永久订阅MassTransit-重新启动后无消息

问题描述 投票:1回答:1

我希望这对别人来说很容易,因为我指出我做了一些愚蠢的事情!

我最近尝试在此处的系统上设置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();
    }

请让我知道是否能提供更多有助于发现问题的信息。

谢谢!吉姆。

msmq publish-subscribe masstransit
1个回答
0
投票

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

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

删除后,问题解决了。

© www.soinside.com 2019 - 2024. All rights reserved.