Spring 用于多租户应用程序或多个文件夹的 IntegrationFlow

Spring IntegrationFlow for multi-tenancy application or multiple folders to watch

有没有办法为多租户注册 IntegrationFlow。假设要求是为 INFY、TCS、WIPRO 等少数租户处理 PF。每个租户都有自己的目录路径,具有相同的模式,如 /mount/batches/{tenantId}/pf

每个租户都拥有自己的文件夹,如下所示:

INFY –> /mount/batches/INFY/pf
TCS –> /mount/batches/TCS/pf
WIPRO –> /mount/batches/WIPRO/pf

InboundFlow 只接受一个源目录和 Whosebug 中的其他答案,建议为每个文件夹都有一个单独的 InboundFlow 定义,但我们有将近 100 个租户要配置,对于每个新租户,我们需要在这种情况下更改代码。

请建议我,如果有什么办法我们可以编写一个适配器来一次观看多个文件夹。

您可以以编程方式创建多个发送到同一通道的入站适配器。

参见the documeentation

使用 FTP/SFTP,您可以在不同的服务器和远程文件夹之间轮换

https://docs.spring.io/spring-integration/docs/5.3.0.RELEASE/reference/html/sftp.html#sftp-rotating-server-advice

当前没有适用于挂载文件夹的等效项。

但是,您可以配置自定义 DirectoryScanner,通过委派给扫描仪列表在不同文件夹之间轮换。