如何在通过依赖注入(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)); }这行得通吗?
1 回答
哔哔one
TA贡献1854条经验 获得超8个赞
没有自动方法可以做到这一点,因为必须知道消息类型才能配置返回分区键的分区程序委托。
我还担心在单个接收端点上使用太多不同的消息类型,方法是使用.LoadFrom()
.
- 1 回答
- 0 关注
- 135 浏览
添加回答
举报
0/150
提交
取消