public MessageProducerProvider(string appCode, string metaServer, MessageStore messageStore) { if (appCode == null || appCode.Length == 0) { throw new ArgumentException("appCode未配置"); } Logger.Info("Start Constructor"); try { if (Interlocked.Increment(ref _instanceCount) > 1) { Logger.Warn("WARNING: MessageProducerProvider这个类很重,请确保在一个进程中创建[少量]的实例,严禁在服务的请求中创建实例。如果你确定你的用法没有问题可以忽略该错误日志"); } _appCode = appCode; _metaServer = metaServer; _idGenerator = new TimestampIdGenerator(); _brokerGroupService = new BrokerGroupService(appCode, metaServer); Logger.Info("idGenerator inited"); _sender = new QueueSender(_brokerGroupService); _store = messageStore; } catch (Exception ex) { Logger.Error(ex, "MessageProducerProvider Constructor error"); throw; } finally { } }
public NewQmqCluster(string name, BrokerGroupService brokerGroupService, string subject, bool isDelayMessage) { _waitAvaliable = new ManualResetEventSlim(); Name = name; _subject = subject; _isDelayMessage = isDelayMessage; _brokerGroupService = brokerGroupService; }
public PullController(string appCode, string metaServer) { BrokerGroupService = new BrokerGroupService(appCode, metaServer); var sendMessageBackService = new SendMessageBackService(BrokerGroupService); AckMessageService = new AckMessageService(BrokerGroupService); AckHandlerQueueManager = new AckHandlerQueueManager(AckMessageService, sendMessageBackService); PullMessageService = new PullMessageService(AckHandlerQueueManager); }
public QueueSender(BrokerGroupService brokerGroupService) { _brokerGroupService = brokerGroupService; _queue = new BatchExecutor <ProducerMessageImpl>("qmq-sender", 30, DoSend, 4); }
public AckMessageService(BrokerGroupService brokerGroupService) { _brokerGroupService = brokerGroupService; _clientManager = new NewQmqClientManager(new AckMessageDataTransformer()); }
public SendMessageBackService(BrokerGroupService brokerGroupService) { _brokerGroupService = brokerGroupService; _clientManager = new NewQmqClientManager(new SendMessageDataTransformer()); }