Java MBeanExporter和bean的条件加载

Java MBeanExporter和bean的条件加载,java,spring,jmx,mbeans,Java,Spring,Jmx,Mbeans,我想使用MBeanExporter公开Mbean。但是,要导出的bean不一定总是存在。应如何处理这一问题: <bean id="mybean" class="org.springframework.jmx.export.MBeanExporter" lazy-init="false"> <property name="beans"> <map> <entry key="bean:name=Databas

我想使用MBeanExporter公开Mbean。但是,要导出的bean不一定总是存在。应如何处理这一问题:

<bean id="mybean" class="org.springframework.jmx.export.MBeanExporter" lazy-init="false">
    <property name="beans">
        <map>

            <entry key="bean:name=DatabaseDataSource" value="#{datasource.getPool().getJmxPool()}"/>

        </map>
    </property>
</bean>


当导出失败时,getJmxPool()有时可能返回null。如果知道设置特定属性时会导致返回null,那么如何将其设置为有条件的(不暴露MBean)。

看看spring环境配置文件:


如果特定的环境或配置标志不应该实例化bean,只需使用
@profile
用特定的概要文件标记bean即可。如果bean与活动配置文件不匹配,Spring将不会尝试实例化它。

看看Spring环境配置文件:


如果特定的环境或配置标志不应该实例化bean,只需使用
@profile
用特定的概要文件标记bean即可。如果bean与活动概要文件不匹配,Spring将不会尝试实例化该bean。

是否可以使用通过PropertyPlaceHolderConfigure加载的属性来决定概要文件的激活您可以使用
getEnvironment().addActiveProfile(“概要文件”)
以编程方式设置活动概要文件。然后,您可以设置配置文件的名称,或有条件地设置所选配置文件。在PropertyPlaceHolderConfigure加载属性后,是否可以激活配置文件?是,可以使用我上面提到的方法来完成。是否可以使用通过PropertyPlaceHolderConfigure加载的属性来决定配置文件的激活您可以使用
getEnvironment().addActiveProfile(“配置文件”)
以编程方式设置活动配置文件。然后,您可以设置配置文件的名称或有条件地设置所选的配置文件。可以在PropertyPlaceHolderConfigure加载属性后激活配置文件?是的,可以使用我上面提到的方法完成。