0
我有出版商:Masstransit。處理程序不確認消息
static void Main()
{
var bus = ServiceBusFactory.New(sbc =>
{
sbc.UseRabbitMq(r => r.ConfigureHost(new MessageUrn("rabbitmq://localhost/test123"), c => { }));
sbc.UseJsonSerializer();
sbc.EnableMessageTracing();
sbc.ReceiveFrom(new MessageUrn("rabbitmq://localhost/test345"));
});
bus.WriteIntrospectionToConsole();
Console.WriteLine("bus endpoint {0}", bus.Endpoint.Address);
while(true)
{
Thread.Sleep(1000);
var msg = new TestMessage {Text = DateTime.Now.ToString()};
Console.WriteLine("Publishing {0}", msg);
bus.Publish(msg);
}
}
發佈隊列test123,收到隊列測試345
當我啓動消費與下面的代碼:
static void Main()
{
var bus = ServiceBusFactory.New(sbc =>
{
sbc.UseRabbitMq();
sbc.UseJsonSerializer();
sbc.EnableMessageTracing();
sbc.ReceiveFrom("rabbitmq://localhost/test345");
sbc.Subscribe(subs => { subs.Handler<TestMessage>(msg => { Console.WriteLine(msg.Text); }); });
});
bus.WriteIntrospectionToConsole();
Console.ReadLine();
}
消費者(用戶)處理消息並在控制檯上寫入。這部分一切都很好。但test123中的消息未被確認。它們數量不斷增加,它們處於就緒狀態。他們有些如何消耗,但不會消失。
我在做什麼錯了?
我不明白的另一個問題是,當我刪除所有隊列時,運行發佈者,它只創建test345和test345_error隊列。沒有test123隊列。如果發佈者工作一段時間,test345_error中的消息很少,而test345中沒有消息。當我啓動消費者時(見上面的代碼),它開始消費消息,它看起來好。爲什麼test345隊列中沒有消息?但不知何故,他們消耗(處理)?
Masstransit v2.10.0.0,RabbitMQ.Client v3.4.3.0。
在此先感謝。
你的兩個程序應該有不同的ReceveFrom()地址。 –