我正在实现一个spring-boot应用程序,该应用程序连接到不同的imap服务器以接收电子邮件。有很多imap服务器,它们的数量还会增加。该应用程序将在多个实例中运行。
我想使用春季集成邮件。但我不想为应用程序的每个实例中的每个imap服务器创建集成流。我想知道我是否可以避免为每个imap服务器创建单独的集成流?它可能看起来像:我们创建一个将手动运行的流(例如,通过事件(,这个流将动态创建所需的imap接收器,接收邮件并完成。
是否可以使用spring集成邮件实现类似的功能?
如果没有,并且我必须为每个实例上的每个imap服务器运行一个单独的流,那么每个流可能都必须使用轮询。spring集成是否提供了任何解决方案来控制不同实例的相同流不同时运行,或者控制不同应用程序实例上相同源流的轮询时间?也许有一个负载均衡器可以控制不同实例上的流?
提前谢谢!
我认为动态流注册就是一个答案。
请参阅文档:https://docs.spring.io/spring-integration/docs/current/reference/html/dsl.html#java-dsl运行时流
请参阅此示例:https://github.com/spring-projects/spring-integration-samples/tree/master/advanced/dynamic-tcp-client.它使用TCP/IP进行动态注册,但您可以借用一下您应该为您的imap服务器和相应的IntegrationFlow
做些什么来提供邮件通道适配器。