public AzureMessageHandlerFactory(IAzureQueueClientFactory queueClientFactory, Func <IMessage <T>, object> processMessageFn, Action <IMessage <T>, Exception> processExceptionFn, MessageHandlerSettings settings) { this.queueClientFactory = queueClientFactory; this.processMessageFn = processMessageFn; this.processExceptionFn = processExceptionFn; this.settings = settings; }
public AzureMessageHandler(IAzureQueueClientFactory queueClientFactory, Func <IMessage <T>, object> processMessageFn, Action <IMessage <T>, Exception> processExceptionFn, MessageHandlerSettings settings) { this.queueClientFactory = queueClientFactory; this.processMessageFn = processMessageFn; this.processExceptionFn = processExceptionFn; this.settings = settings; retryCount = settings.NoOfRetries; QueueName = typeof(T).QueueName(); }
public void RegisterHandler <T>(Func <IMessage <T>, object> processMessageFn, Action <IMessage <T>, Exception> processExceptionEx, MessageHandlerSettings settings = null) { var type = typeof(T); if (handlerMap.ContainsKey(type)) { throw new ArgumentException("Message handler has already been registered for type: " + type.Name); } RegisteredTypes.Add(type); if (settings == null) { settings = new MessageHandlerSettings(); } handlerMap[type] = CreateMessageHandlerFactory(processMessageFn, processExceptionEx, settings); handlerThreadCountMap[type] = settings.NoOfThreads; }
protected IAzureMessageHandlerFactory CreateMessageHandlerFactory <T>(Func <IMessage <T>, object> processMessageFn, Action <IMessage <T>, Exception> processExceptionEx, MessageHandlerSettings settings) { return(new AzureMessageHandlerFactory <T>(queueClientFactory, processMessageFn, processExceptionEx, settings) { RequestFilter = RequestFilter, ResponseFilter = ResponseFilter, RetryCount = RetryCount, }); }
public void RegisterHandler <T>(Func <IMessage <T>, object> processMessageFn, MessageHandlerSettings settings) { RegisterHandler(processMessageFn, null, settings); }