[英]Is it best practice to design Spring Application in such a way that we need to create same context multiple times?
我将使用Spring框架开始一个新项目。 由于我在春季没有太多经验,因此需要您的帮助以解决一些困惑。
让我们看一下用例
我的应用程序使用Spring集成框架。 我的应用程序的核心功能是
目前,我已经为其设置了Spring集成流程。 它具有用于轮询的inbound-chaneell-adapter
,然后通过通道遍历文件,最后将其插入数据库。
我的担心是
应该轮询的目录应用程序数将在运行时确定。 因此,我需要在运行时创建inbound-chanell-adapter
(因为一个chanell适配器一次只能轮询一个目录),并且无法在我的spring context xml中静态定义它们(因为我不知道我需要多少个)。
每个目录都有某些属性,这些属性应在处理时应用于文件。(在进行集成流程时)
所以,现在我正在加载new ClassPathXmlApplicationContext("/applicationContext.xml");
对于每个目录。 并在该新创建的上下文中缓存所需的属性。 并在处理时使用它们(在<int:service-activator>
)。
当前设计的缺点
因此,有什么方法可以以不会重复上下文的方式设计应用程序。 而且我仍然可以在整个集成流程中同时使用每个目录的属性???
提前致谢。
请参阅动态ftp示例及其自述文件中的有关在需要时创建子上下文的链接,其中包含新的入站组件。
另请参阅我对使用Java配置的多个IMAP邮件适配器的类似问题的回答,以及后续问题 。
您还可以使用消息源建议在每次轮询中重新配置FileReadingMessageSource
以查看不同的目录。 请参阅智能轮询 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.