如何在通过依赖注入(autofac)注册消费者时设置消息分区,像这样
cfg.ReceiveEndpoint(host, c =>
{
c.LoadFrom(context);
c.Durable = true;
});
所有消息都具有相同的标记界面
IDomainEvent<Guid>
我希望所有消息都按该接口的 Id 属性进行分区。
我正在考虑尝试这样的事情:
c.Consumer<SomeViewConsumer>(context,ConfigurePartition<SomeViewConsumer>(partitioner));
c.Consumer<SomeOtherViewConsumer>(context,ConfigurePartition<SomeOtherViewConsumer>(partitioner));
private static Action<IConsumerConfigurator<TConsumer>> ConfigurePartition<TConsumer>(IPartitioner partitioner) where TConsumer : class
{
return n => n.Message<IDomainEvent<Guid>>(k => k.UsePartitioner(partitioner, consumeContext => consumeContext.Message.Id));
}
这行得通吗?
哔哔one
相关分类