public SqsNotificationListener( SqsQueueBase queue, IMessageSerialisationRegister serialisationRegister, IMessageMonitor messagingMonitor, ILoggerFactory loggerFactory, Action <Exception, Amazon.SQS.Model.Message> onError = null, IMessageLock messageLock = null, IMessageBackoffStrategy messageBackoffStrategy = null) { _queue = queue; _messagingMonitor = messagingMonitor; onError = onError ?? ((ex, message) => { }); _log = loggerFactory.CreateLogger("JustSaying"); _messageProcessingStrategy = new DefaultThrottledThroughput(_messagingMonitor); _messageHandlerWrapper = new MessageHandlerWrapper(messageLock, _messagingMonitor); _messageDispatcher = new MessageDispatcher(queue, serialisationRegister, messagingMonitor, onError, _handlerMap, loggerFactory, messageBackoffStrategy); Subscribers = new Collection <ISubscriber>(); if (messageBackoffStrategy != null) { _requestMessageAttributeNames.Add(MessageSystemAttributeName.ApproximateReceiveCount); } }
public ExactlyOnceHandler(IHandler <T> inner, IMessageLock messageLock, int timeOut, string handlerName) { _inner = inner; _messageLock = messageLock; _timeOut = timeOut; _handlerName = handlerName; }
public BlockingMessageLock(IMessageLock inner) { if (inner == null) { throw new ArgumentNullException(nameof(inner)); } Inner = inner; }
public SqsNotificationListener(SqsQueueBase queue, IMessageSerialisationRegister serialisationRegister, IMessageMonitor messagingMonitor, Action <Exception, Amazon.SQS.Model.Message> onError = null, IMessageLock messageLock = null) { _queue = queue; _serialisationRegister = serialisationRegister; _messagingMonitor = messagingMonitor; _onError = onError ?? ((ex, message) => { }); _handlers = new Dictionary <Type, List <Func <Message, bool> > >(); _messageProcessingStrategy = new MaximumThroughput(); _messageLock = messageLock; }
public SqsNotificationListener( SqsQueueBase queue, IMessageSerialisationRegister serialisationRegister, IMessageMonitor messagingMonitor, Action <Exception, Amazon.SQS.Model.Message> onError = null, IMessageLock messageLock = null) { _queue = queue; _messagingMonitor = messagingMonitor; onError = onError ?? ((ex, message) => { }); _messageProcessingStrategy = new DefaultThrottledThroughput(_messagingMonitor); _messageHandlerWrapper = new MessageHandlerWrapper(messageLock, _messagingMonitor); _messageDispatcher = new MessageDispatcher(queue, serialisationRegister, messagingMonitor, onError, _handlerMap); Subscribers = new Collection <ISubscriber>(); }
public IMayWantOptionalSettings WithMessageLockStoreOf(IMessageLock messageLock) { Bus.MessageLock = messageLock; return(this); }
public IMayWantOptionalSettings WithMessageLockStoreOf(IMessageLock messageLock) { Bus.MessageLock = new BlockingMessageLock(messageLock); return(this); }
public MessageHandlerWrapper(IMessageLock messageLock, IMessageMonitor messagingMonitor) { _messageLock = messageLock; _messagingMonitor = messagingMonitor; }
public ExactlyOnceHandler(IHandler <T> inner, IMessageLock messageLock, int timeOut) { _inner = inner; _messageLock = messageLock; _timeOut = timeOut; }