具有不同属性的Spring上下文文件重用

时间:2015-12-07 18:27:56

标签: spring configuration

我有一个相当直接的弹簧集成应用程序,它轮询外部FTP站点,使用一些内部业务逻辑处理任何找到的文件,然后通过FTP发布结果文件。目前,当我们添加新客户时,我们复制XML配置文件和相应的属性文件,并在所有bean定义,bean引用和属性上更改前缀。然后,我们将这些添加到XML配置文件中,该文件只为所有现有客户及其属性执行导入:

<property-placeholder location="
    file:config/application.properties
    ,file:config/test-customer1.properties
    ,file:config/test-customer2.properties
 "/>                    
<import resource="test-customer1-context.xml" />
<import resource="test-customer2-context.xml" />

除了bean名称中的唯一客户前缀之外,这些xml文件是相同的。似乎必须有一种方法让我重用具有不同属性集的单个XML文件(或Java Config对象)。我的第一个想法是实现自定义CustomerScope,但我不知道范围实现如何知道正确的客户。

关于如何实现这一点的任何想法?

根据要求,客户上下文文件样本

<bean id="testClient1RequestQueue" class="org.apache.activemq.command.ActiveMQQueue">
    <constructor-arg value="${test.client1.in.queue}"/>
</bean>

<bean id="testClient1ResultsQueue" class="org.apache.activemq.command.ActiveMQQueue">
    <constructor-arg value="${test.client1.results.queue}"/>
</bean>
...

0 个答案:

没有答案