public bool Subscribe() { this._eventingBasicConsumer.Received += (o, msg) => { try { EventMessage eventMessage = MessageEncodingHelper.GetMessage(msg); this._cacheLogger.LogAsync($"Incoming message in RMQ BackPlane Subscription Channel with CorrelationId = {eventMessage.CorrelationId} ", EventLevel.Verbose); OnMessage(eventMessage, new Dictionary <string, string>() { { nameof(BackPlaneChannelType), BackPlaneChannelType.RabbitMq.ToString() } }); } catch (Exception ex) { this._cacheLogger.LogException(ex); } this._subscriptionClient.BasicAck(msg.DeliveryTag, false); }; this._subscriptionClient.QueueBind(queue: this._cacheConfig.ListenerInstanceId, exchange: this._cacheConfig.CacheBackPlaneChannel, routingKey: "fanout"); this._subscriptionClient.BasicConsume(this._cacheConfig.ListenerInstanceId, false, this._eventingBasicConsumer); return(true); }
public Task <bool> PublishEventAsync(EventMessage eventMessage) { _cacheLogger.LogAsync($" PublishMessage for RMQ channel - {JsonConvert.SerializeObject(eventMessage)}", EventLevel.Verbose); RabbitMqPayLoad temp = MessageEncodingHelper.GetRabbitMqMessage(eventMessage, this._topicClient.CreateBasicProperties()); this._topicClient.BasicPublish(this._cacheConfig.CacheBackPlaneChannel, "fanout", temp.BasicProperties, temp.Data); this._cacheLogger.LogAsync($"Published Message on RMQ for Event Type CorrelationId {eventMessage.CorrelationId}", EventLevel.Verbose); return(Task.FromResult(true)); }