我是春季邮件集成的新手,下面我将配置为 mail:inbound-channel-adapter
。但我希望属性 store-uri 是动态的,我可以从我的Java控制器更新它。因为此属性在我的应用程序上下文中不是常量。
<int-mail:inbound-channel-adapter id="pop3ShouldDeleteTrue"
store-uri="imaps://tata:tata@imap.gmail.com:993/inbox"
channel="receiveChannel"
should-delete-messages="true"
auto-startup="false"
java-mail-properties="javaMailProperties">
<!-- Will poll every 20 seconds -->
<int:poller fixed-rate="20000"/>
</int-mail:inbound-channel-adapter>
答案 0 :(得分:1)
网址是入站适配器中的final
字段(实际上是传递到ImapMailReceiver
的{{1}}组件),因此无法更新。
更改URL的唯一方法是重建这两个类并将它们注入代表入站适配器的MailReceivingMessageSource
。
然而,这不是线程安全的,所以我不认为在网络容器中安全。
按需构建SourcePollingChannelAdapter
并调用ImapMailReceiver
方法可能更容易,然后使用receive()
将消息发送到频道。