1

现在我正在使用以下 bean 条目

<bean id="Service" >
    <property name="target">
            <bean class="someClass" lazy-init="false">
                <property name="SessionFactory1"><ref bean="SessionFactory1"/></property>
                <property name="SessionFactory2"><ref bean="SessionFactory2"/></property>
                <property name="SessionFactory3"><ref bean="SessionFactory3"/></property>
           </bean>
        </property>

</bean>

现在的要求是首先检查哪些会话工厂有一个活动的数据源,并且只将那些包含在上面的 bean 定义中。这样,如果我们尝试使用非活动数据源初始化会话工厂,应用程序就不会中断。

sessionfactory 初始化将通过为会话工厂使用单独的配置 xml 并仅加载具有活动数据源的那些来进行。

请帮助如何实现这一目标。

4

1 回答 1

0

你可以使用 SpringInitializingBean接口,它让你实现一个afterPropertiesSet()方法。此方法将在 Spring 实例化您的类后执行,您可以检查您的会话工厂是否可用。

InitializingBean:由 BeanFactory 设置所有属性后需要做出反应的接口实现:例如,执行自定义初始化,或仅检查是否已设置所有必需属性。

链接:Spring InitializingBean

于 2013-04-22T14:19:31.173 回答