diff --git a/supplier/spring-mail-supplier/src/main/java/org/springframework/cloud/fn/supplier/mail/MailSupplierConfiguration.java b/supplier/spring-mail-supplier/src/main/java/org/springframework/cloud/fn/supplier/mail/MailSupplierConfiguration.java index 6a514d6c..f7e57d14 100644 --- a/supplier/spring-mail-supplier/src/main/java/org/springframework/cloud/fn/supplier/mail/MailSupplierConfiguration.java +++ b/supplier/spring-mail-supplier/src/main/java/org/springframework/cloud/fn/supplier/mail/MailSupplierConfiguration.java @@ -66,8 +66,8 @@ public class MailSupplierConfiguration { } @Bean - public Publisher> mailInboundFlow(MessageProducerSupport messageProducer) { - return IntegrationFlow.from(messageProducer) + public Publisher> mailInboundFlow(MessageProducerSupport mailChannelAdapter) { + return IntegrationFlow.from(mailChannelAdapter) .transform(Mail.toStringTransformer(this.properties.getCharset())) .enrichHeaders((h) -> h.defaultOverwrite(true) .header(MailHeaders.TO, arrayToListProcessor(MailHeaders.TO)) @@ -76,12 +76,7 @@ public class MailSupplierConfiguration { .toReactivePublisher(true); } - @Bean - public Supplier>> mailSupplier(Publisher> messagePublisher) { - return () -> Flux.from(messagePublisher); - } - - private HeaderValueMessageProcessor arrayToListProcessor(String header) { + private static HeaderValueMessageProcessor arrayToListProcessor(String header) { return new AbstractHeaderValueMessageProcessor>() { @Override @@ -92,6 +87,11 @@ public class MailSupplierConfiguration { }; } + @Bean + public Supplier>> mailSupplier(Publisher> mailInboundFlow) { + return () -> Flux.from(mailInboundFlow); + } + @Bean("mailChannelAdapter") @ConditionalOnProperty("mail.supplier.idle-imap") MessageProducerSpec imapIdleProducer( @@ -103,8 +103,7 @@ public class MailSupplierConfiguration { .userFlag(this.properties.getUserFlag()) .javaMailProperties(getJavaMailProperties(urlName)) .selectorExpression(this.properties.getExpression()) - .shouldMarkMessagesAsRead(this.properties.isMarkAsRead()) - .autoStartup(false); + .shouldMarkMessagesAsRead(this.properties.isMarkAsRead()); if (imapIdleChannelAdapterSpecCustomizer != null) { imapIdleChannelAdapterSpecCustomizer.customize(imapIdleChannelAdapterSpec); @@ -139,10 +138,7 @@ public class MailSupplierConfiguration { @Bean("mailChannelAdapter") @ConditionalOnProperty(value = "mail.supplier.idle-imap", matchIfMissing = true, havingValue = "false") MessageProducerSupport mailMessageProducer(MessageSource mailMessageSource) { - ReactiveMessageSourceProducer reactiveMessageSourceProducer = new ReactiveMessageSourceProducer( - mailMessageSource); - reactiveMessageSourceProducer.setAutoStartup(false); - return reactiveMessageSourceProducer; + return new ReactiveMessageSourceProducer(mailMessageSource); } private Pop3MailInboundChannelAdapterSpec getPop3ChannelAdapterSpec(URLName urlName) {