MBeanExporter映射的值覆盖

时间:2014-04-09 12:54:57

标签: xml spring jmx mbeanexporter

我试图覆盖在父xml和子xml中定义的键的映射值,子xml在MBeanExporter的上下文中导入父bean。我已经尝试了几种组合,使用了#34;父母" bean的属性," registrationBehaviorName"财产,以及"合并"地图本身的属性(全部出现在下面的代码中):

父Xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:util="http://www.springframework.org/schema/util"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.0.xsd">

    <bean id="parentExporter" class="org.springframework.jmx.export.MBeanExporter">
        <property name="autodetect" value="false" />
        <property name="beans">
            <map>
                <entry key="theKey" value-ref="parentValue" />
            </map>
        </property>
    </bean>

</beans>

儿童Xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:util="http://www.springframework.org/schema/util"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.0.xsd">

    <import resource="classpath:/META-INF/parent-context.xml"/>

    <bean id="childExporter" parent="parentExporter" class="org.springframework.jmx.export.MBeanExporter">
    <property name="autodetect" value="false" />
    <property name="registrationBehaviorName" value="REGISTRATION_REPLACE_EXISTING"/>
    <property name="beans">
        <map merge="true">
            <entry key="theKey" value-ref="childValue" />
        </map>
    </property>
    </bean>

</beans>

我希望得到父母的价值&#34; parentValue&#34;关键&#34; theKey&#34;并为孩子提供价值&#34; childvalue&#34;关键&#34; theKey&#34;。我目前得到两个不同的错误,取决于从互联网收集的属性/属性的使用组合......

No unique bean of type XXX is defined: expected single bean but found 2: parentValue,keyValue

BeanAlreadyExistsException。我知道父子可能不是实现我想要做的最好的方法,但我在更大的上下文中工作,这个结构无法修改(因为我在代码中没有包含的许多其他bean是本)。

我想要做的事实际上可能吗?我不是Spring专家,我无法在文档和其他来源上找到可行的解决方案。

0 个答案:

没有答案