我使用C#,MassTransit和Autofac与RabbitMQ一起工作。
我有一个定时(5秒)的作业来消费队列。
这项工作大约持续了2个小时,然后突然停止。当我搜索日志时,我发现了这个错误:
感谢您提前预先准备。
我有一个定时(5秒)的作业来消费队列。
这项工作大约持续了2个小时,然后突然停止。当我搜索日志时,我发现了这个错误:
这是我的代码块,用于在MassTransit中配置Autofac:范围 ---> 在创建总线期间发生异常(有关详细信息,请参见内部异常。)---> MassTransit.ConfigurationException:在创建总线期间发生异常 ---> System.OutOfMemoryException:抛出类型为“System.OutOfMemoryException”的异常。
builder.Register(context =>
{
var busControl = Bus.Factory.CreateUsingRabbitMq(cfg =>
{
cfg.Host(new Uri(Globals.QueueUrl), h =>
{
h.Username(Globals.QueueUserName);
h.Password(Globals.QueuePassword);
});
cfg.ReceiveEndpoint("create_sales_queue",
ec =>
{
ec.Consumer<CreateSalesConsumer>(context);
ec.UseRetry(p => p.Incremental(10, TimeSpan.FromMilliseconds(200), TimeSpan.FromMilliseconds(200)));
});
});
return busControl;
})
.InstancePerDependency()
.As<IBusControl>()
.Named<IBusControl>(GenericIntegrationTask.CreateSalesTask.ToString());
以下是预定工作的代码:
try
{
var bus = container.ResolveNamed<IBusControl>(GenericIntegrationTask.CreateSalesTask.ToString());
bus.Start();
Thread.Sleep(2000);
bus.Stop();
}
catch (Exception e)
{
Console.WriteLine(e);
}
感谢您提前预先准备。