Один адаптер входящей электронной почты для нескольких адресов электронной почты - PullRequest
1 голос
/ 18 июня 2020

У нас есть более 200 адресов электронной почты, которые используются для интеграции с нашими клиентами, и большая часть логики процесса электронной почты c одинакова, мы хотим перенести эти электронные письма на адаптер входящей почты интеграции Spring, однако мы этого не делаем Я не хочу повторить, скопируйте и вставьте следующий фрагмент кода

 <int-mail:imap-idle-channel-adapter id="mailAdapter"
                                        store-uri="${uri}"
                                        channel="emailInboundChannel"
                                        auto-startup="true"
                                        should-delete-messages="false"
                                        search-term-strategy="unseenSearchTermStrategy"
                                        java-mail-properties="javaMailProperties">
        <int-mail:transactional synchronization-factory="syncFactory" transaction-manager="transactionManager"/>
    </int-mail:imap-idle-channel-adapter>

Есть ли способ, которым мы можем просто использовать один адаптер электронной почты с фиксированной скоростью опроса для подключения к как можно большему количеству адресов электронной почты, а затем отправить электронное письмо сообщение на тот же входящий канал?

1 Ответ

2 голосов
/ 18 июня 2020

Если вы можете перейти к конфигурации Java и аннотаций, особенно Java DSL, тогда вы можете получить прирост динамических c потоков: https://docs.spring.io/spring-integration/docs/5.3.1.RELEASE/reference/html/dsl.html#java -dsl-runtime -flow . Итак, вы можете перебирать свои электронные письма и регистрировать для них адаптеры каналов IMAP.

Это действительно сложно сделать с конфигурацией XML ...

Вы можете рассмотреть возможность использования пружины -integration-flow, хотя: https://github.com/spring-projects/spring-integration-flow, но в наши дни действительно рекомендуется перейти на конфигурацию Java.

...