У меня есть 2 приложения, одно публикует событие и одно потребительское событие. При публикации используется SimpleInjector:
container.AddMassTransit(x =>
{
x.AddBus(() => Bus.Factory.CreateUsingRabbitMq(cfg =>
{
var host = cfg.Host(ConfigurationValuesProvider.Current.Get("RabbitHostName"), hostConfigurator =>
{
});
}));
});
Потребитель использует CastleWindsor:
container.AddMassTransit(x =>
{
x.AddBus(context => Bus.Factory.CreateUsingRabbitMq(cfg =>
{
var host = cfg.Host(configurationProvider.RabbitHostName);
x.AddConsumer<FactAddedHandler>();
x.AddConsumer<FactAddedWebhookHandler>();
x.AddConsumer<FactMonitorHandler>();
cfg.ConfigureEndpoints(container);
}));
});
Все работает нормально, хотя я пытался сделать некоторые из сообщений, которые я публикую sh, не Это можно сделать, введя регистрацию customer :
x.AddConsumer<FactAddedHandler>().Endpoint(e =>
{
e.Temporary = true;
});
Таким образом, очередь будет помечена как временная и будет удалена, как только приложение выйдет из строя. Но я только хочу, чтобы сообщения были недолговечными, я хотел бы, чтобы очередь все еще работала и была готова, когда приложение закрывается. Есть ли способ добиться этого?