protected override IMessageListener CreateMessageListener(IMessageListenerContainer container) { if (MessageHandlerMethodFactory == null) { throw new InvalidOperationException("Could not create message listener - MessageHandlerMethodFactory not set"); } var messageListener = CreateMessageListenerInstance(); messageListener.HandlerAdapter = ConfigureListenerAdapter(messageListener); var replyToAddress = GetDefaultReplyToAddress(); if (replyToAddress != null) { messageListener.SetResponseAddress(replyToAddress); } var messageConverter = MessageConverter; if (messageConverter != null) { messageListener.MessageConverter = messageConverter; } if (ServiceResolver != null) { messageListener.SetServiceResolver(ServiceResolver); } return(messageListener); }
private void SetupMessageListener(IMessageListenerContainer container) { var messageListener = CreateMessageListener(container); if (messageListener == null) { throw new InvalidOperationException("Endpoint [" + this + "] must provide a non null message listener"); } container.SetupMessageListener(messageListener); }
public void SetupListenerContainer(IMessageListenerContainer listenerContainer) { var container = (AbstractMessageListenerContainer)listenerContainer; var queuesEmpty = Queues.Count == 0; var queueNamesEmpty = QueueNames.Count == 0; if (!queuesEmpty && !queueNamesEmpty) { throw new InvalidOperationException("Queues or queue names must be provided but not both for " + this); } if (queuesEmpty) { var names = QueueNames; container.SetQueueNames(names.ToArray()); } else { var instances = Queues; container.SetQueues(instances.ToArray()); } container.Exclusive = Exclusive; if (Priority.HasValue) { var args = new Dictionary <string, object>(); args.Add("x-priority", Priority.Value); container.ConsumerArguments = args; } if (Admin != null) { container.RabbitAdmin = Admin; } SetupMessageListener(listenerContainer); }
protected override IMessageListener CreateMessageListener(IMessageListenerContainer container) { return(MessageListener); }
protected abstract IMessageListener CreateMessageListener(IMessageListenerContainer container);
internal void RemoveContainer(IMessageListenerContainer messageListenerContainer) { _containers.Remove(messageListenerContainer); }
internal void AddContainer(IMessageListenerContainer messageListenerContainer) { _containers.Add(messageListenerContainer); }