1

何らかの理由で ReloadablePropertiesFactoryBean が期待どおりに動作しないようです。test.properties ファイルのプロパティを変更すると、次のようなログ メッセージが表示されます。

9979 [timer] INFO com.krest.core.properties.ReloadablePropertiesFactoryBean - Reloading Properties...

しかし、なぜか何も起こらない。テスト Bean には古いプロパティ値がまだ設定されています。これがなぜなのか誰か知っていますか?私は Spring 3 を使用しており、構成は次のようになります。

<bean id="configproperties"
    class="com.krest.core.properties.ReloadablePropertiesFactoryBean">
    <property name="location"
        value="classpath:test.properties" />
</bean>

<bean id="propertyConfigurer"
    class="com.krest.core.properties.ReloadingPropertyPlaceholderConfigurer">
    <property name="properties" ref="configproperties" />
    <property name="reloadingPlaceholderPrefix" value="rel{" />
    <property name="reloadingPlaceholderSuffix" value="}" />
</bean>

<bean id="mybean" class="nl.mycompany.TestBean">
    <property name="message" value="rel{timer-delay}" />
</bean>

<!-- regularly reload property files. -->
<bean id="timer" class="org.springframework.scheduling.timer.TimerFactoryBean">
    <property name="scheduledTimerTasks">
        <bean id="reloadProperties"
            class="org.springframework.scheduling.timer.ScheduledTimerTask">
            <property name="period" value="1000" />
            <property name="runnable">
                <bean class="com.krest.core.properties.ReloadConfiguration">
                    <property name="reconfigurableBeans">
                        <list>
                            <ref bean="configproperties" />
                        </list>
                    </property>
                </bean>
            </property>
        </bean>
    </property>
</bean>
4

0 に答える 0