Ich habe die folgende Konfiguration für meine eingehende Mail-Adapter. Alles funktioniert gut, wenn die Anwendung auf einem einzelnen Server ausgeführt wird. Wenn ich die Anwendung jedoch auf einem Server mit Lastenausgleich ausnutze, der dieselbe Mailbox abhört, wird die Mail auf dem gesamten Server gelesen. Wie mit diesem Szenario umgehen? Gibt es eine spezielle Konfiguration für solche Szenarien?Imap Idle Channel Adapter auf Last ausgeglichene Server
<int-mail:imap-idle-channel-adapter
id="customAdapter"
store-uri="${mail.protocol}://${mail.username}:${mail.password}@${mail.host}:${mail.port}/${mail.folder}"
channel="recieveEmailChannel" auto-startup="true"
should-delete-messages="false"
should-mark-messages-as-read="true"
java-mail-properties="javaMailProperties"
mail-filter-expression="subject matches '(?i).*Email Notification.*'" />
<util:properties id="javaMailProperties">
<prop key="mail.imap.socketFactory.class">javax.net.ssl.SSLSocketFactory</prop>
<prop key="mail.imap.socketFactory.fallback">false</prop>
<prop key="mail.store.protocol">imaps</prop>
<prop key="mail.debug">true</prop>
<prop key="mail.imap.starttls.enable">true</prop>
<prop key="mail.imaps.ssl.trust">${mail.ssl.trust}</prop>
<prop key="mail.imaps.usesocketchannels">true</prop>
</util:properties>
<int:service-activator input-channel="recieveEmailChannel" expression="@emailService.process(payload)" />
Dies ist für die neueste Spring-Integrationsversion ab 4+ verfügbar. –
Entschuldigung, ich folge nicht. Ist das eine Frage? –
Ja. Eigentlich bin ich immer noch auf Feder Integration Version 2.2.6 und kann nicht upgraden, da es Teil des Frameworks ist. Also gibt es eine Möglichkeit, dies in der älteren Version zu erreichen, anstatt einen benutzerdefinierten Code zu schreiben. –