我的工作消耗使用消息的项目MassTransit
和RabbitMQ
在C#
我建立一个原型而现在消费项目是一个控制台应用程序。 在Main program.cs
课,我连接到总线和订阅从这样的出版商接受的消息:
var bus = BusInitializer.CreateBus("Subscriber", x =>
{
x.Subscribe(subs =>
{
subs.Consumer<UpdatedInformation>().Permanent();
});
});
作为参考,这里的CreateBus()
方法:
public static IServiceBus CreateBus(string queueName, Action<ServiceBusConfigurator> moreInitialization)
{
var bus = ServiceBusFactory.New(x =>
{
x.UseRabbitMq();
x.ReceiveFrom("rabbitmq://localhost/test" + queueName);
moreInitialization(x);
});
return bus;
}
这里是消费类的一个示例:
class UpdatedInformationConsumer : Consumes<UpdatedInformation>.Context
{
public void Consume(IConsumeContext<UpdatedInformation> message)
{
Console.Write("\nMessage: " + message.Message);
Console.Write("\nPROCESSED: " + DateTime.Now.ToString());
}
}
在主类的用户,我也初始化服务等配置。 我需要做的是能够访问我的消费类这些服务/对象,因为我不希望每个在消耗收到消息的时间来初始化新的。
这应该是比较容易的,但我很为难,因为我没有真正建立我的消费类的实例。