我希望这将是一个容易的人指出我做了一些愚蠢的事情!
我最近尝试在我们的系统上设置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();
}如果我能提供更多有助于发现问题的信息,请告诉我。
提前感谢!吉姆。
发布于 2019-11-22 17:35:06
我不知道这是否会有帮助,但是我们遇到了类似的问题。在我们的情况下,我们在发布服务中有Azure服务总线和不必要的代码:
_busHandle = await _bus.StartAsync(cancellationToken).ConfigureAwait(false);当我删除它时,问题就解决了。
https://stackoverflow.com/questions/18849243
复制相似问题