java - 在 Spring 与 Java 配置集成中接收邮件

标签 java spring spring-integration dsl

我想通过 Spring Integration 接收邮件。我发现了很多关于 xml 配置的例子,但我还没有找到任何关于 Java DSL 配置的例子。如何使用 Java DSL 编写以下 xml 配置?

<int-mail:inbound-channel-adapter id="imapAdapter"
      store-uri="imaps://[username]:[password]@imap.gmail.com/INBOX"
      channel="receiveChannel"
      should-delete-messages="true">
      <int:poller max-messages-per-poll="1" fixed-rate="5000"/>
</int-mail:inbound-channel-adapter>

我尝试了以下解决方案,但我不知道如何向其中添加轮询器。

@Bean
public IntegrationFlow mailListener() {
    return IntegrationFlows.from(Mail.imapInboundAdapter("imaps://[username]:[password]@imap.gmail.com/INBOX").shouldDeleteMessages(true).get())
            .<Message>handle((payload, header) -> logMail(payload))
            .get();
}

最佳答案

参见 DSL reference .

@Bean
public IntegrationFlow mailListener() {
    return IntegrationFlows.from(Mail.imapInboundAdapter("imaps://[username]:[password]@imap.gmail.com/INBOX")
             .shouldDeleteMessages(true).get(), 
             e -> e.poller(Pollers.fixedRate(5000).maxMessagesPerPoll(1)))
        .<Message>handle((payload, header) -> logMail(payload))
        .get();
}

关于java - 在 Spring 与 Java 配置集成中接收邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39588694/

相关文章:

java - session 属性为整数,无法解析为类型

java - Maven 只执行很少的测试

java - JWT token 问题

java - Spring security 没有 Hibernate Session 绑定(bind)到线程

java - 解析时区为 "Etc/GMT"的日期

java - 无法使用 Java selenium 单击 JSP 网页框架内的元素

Java在mailgun中发送多个文件附件

spring - Spring 集成扩展是否是最新且可用的?

java - Spring Integration动态流线程问题

java - spring Integration中如何动态调用Service Activator