Advertisement

NewLife 的 RocketMQ 生产者均生成独立新实例仅供一个消费者使用

阅读量:

我编写了一段略显调皮的代码,使得在每次调用 NewLife 的 RocketMQ 发送消息时,都会生成一个新的 Producer 实例。然而,在测试过程中我发现,无论启动多少个消费者实例进程,最终始终只有一个消费者能够接收到并处理消息。

本文所描述的问题与 NewLife 的 RocketMQ 库本身的设计无关,完全源于我代码中的不当操作。请大家放心使用该库,无需担心此类问题。

我对 NewLife 的 RocketMQ 中 Producer 的封装方式略显随意,导致每次发送消息时都必须创建新的 Producer 对象。由于某些难以解释的原因,这种做法竟然导致了只能有一个消费者实例来消费对应的消息内容。

本文暂不探讨这些难以解释的原因,我们回到我编写的这段调皮代码本身。

以下是我对 NewLife 的 RocketMQ 中 Producer 所做的非正式封装方式

复制代码
     public class RocketProducer

    
     {
    
     public string Group { get; }
    
  
    
     public string Topic { get; }
    
  
    
     public string NameServerAddress { get; }
    
  

全部评论 (0)

还没有任何评论哟~