public IDisposable StartConsuming() { internalConsumer = internalConsumerFactory.CreateConsumer(); internalConsumer.Cancelled += consumer => Dispose(); var status = internalConsumer.StartConsuming( connection, queue, onMessage, configuration ); if (status == StartConsumingStatus.Succeed) { eventBus.Publish(new StartConsumingSucceededEvent(this, queue)); } else { eventBus.Publish(new StartConsumingFailedEvent(this, queue)); } consumerCancellation = new ConsumerCancellation(Dispose); return(consumerCancellation); }
private void OnConsumerLost(IInternalConsumer internalConsumer) { shouldRecover = true; //we need only recovery in case of connection loss, it is not needed to set it subsequently false object temp; //We should dispose current internal consumer, as pending messages' ack/nack may shutdown it with unknown delivery tag internalConsumers.TryRemove(internalConsumer, out temp); internalConsumer.Dispose(); StartConsumingInternal(); }
public void StartConsuming() { internalConsumer = internalConsumerFactory.CreateConsumer(); internalConsumer.Cancelled += consumer => OnRemoveMeFromList(); internalConsumer.StartConsuming( connection, queue, onMessage); }
public IDisposable StartConsuming() { internalConsumer = internalConsumerFactory.CreateConsumer(); internalConsumer.Cancelled += consumer => Dispose(); internalConsumer.StartConsuming( connection, queue, onMessage); return(new ConsumerCancellation(Dispose)); }
public IDisposable StartConsuming() { internalConsumer = internalConsumerFactory.CreateConsumer(); internalConsumer.Cancelled += consumer => Dispose(); internalConsumer.StartConsuming( connection, queue, onMessage); return new ConsumerCancellation(Dispose); }
public void StartConsuming() { internalConsumer = internalConsumerFactory.CreateConsumer(); internalConsumer.Cancelled += consumer => OnRemoveMeFromList(); internalConsumer.AckOrNackWasSent += context => { OnRemoveMeFromList(); Dispose(); }; internalConsumer.StartConsuming( connection, queue, onMessage); }
/// <inheritdoc /> public void StartConsuming() { internalConsumer = internalConsumerFactory.CreateConsumer(); internalConsumer.Cancelled += consumer => Dispose(); var status = internalConsumer.StartConsuming( queue, onMessage, configuration ); if (status == StartConsumingStatus.Succeed) { eventBus.Publish(new StartConsumingSucceededEvent(this, queue)); } else { eventBus.Publish(new StartConsumingFailedEvent(this, queue)); } }