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); }
public TestMessageProducerSupportEndpoint(IApplicationContext context, TestMessageListeningContainer messageListenerContainer) : base(context) { _messageListenerContainer = messageListenerContainer; }
public TestMessageProducerSupportEndpoint(IServiceProvider serviceProvider, TestMessageListeningContainer messageListenerContainer) : base(serviceProvider) { _messageListenerContainer = messageListenerContainer; }