Beispiel #1
0
        protected override IMessageProducer CreateConsumerEndpoint(IConsumerDestination destination, string group, IConsumerOptions consumerOptions)
        {
            IErrorMessageStrategy errorMessageStrategy = new DefaultErrorMessageStrategy();
            var siBinderInputChannel = ((SpringIntegrationConsumerDestination)destination).Channel;

            var messageListenerContainer = new TestMessageListeningContainer();
            var endpoint = new TestMessageProducerSupportEndpoint(ApplicationContext, messageListenerContainer);

            var groupName           = !string.IsNullOrEmpty(group) ? group : "anonymous";
            var errorInfrastructure = RegisterErrorInfrastructure(destination, groupName, consumerOptions);

            if (consumerOptions.MaxAttempts > 1)
            {
                endpoint.RetryTemplate    = BuildRetryTemplate(consumerOptions);
                endpoint.RecoveryCallback = errorInfrastructure.Recoverer;
            }
            else
            {
                endpoint.ErrorMessageStrategy = errorMessageStrategy;
                endpoint.ErrorChannel         = errorInfrastructure.ErrorChannel;
            }

            endpoint.Init();

            siBinderInputChannel.Subscribe(messageListenerContainer);

            return(endpoint);
        }
Beispiel #2
0
 public TestMessageProducerSupportEndpoint(IApplicationContext context, TestMessageListeningContainer messageListenerContainer)
     : base(context)
 {
     _messageListenerContainer = messageListenerContainer;
 }
Beispiel #3
0
 public TestMessageProducerSupportEndpoint(IServiceProvider serviceProvider, TestMessageListeningContainer messageListenerContainer)
     : base(serviceProvider)
 {
     _messageListenerContainer = messageListenerContainer;
 }