Uzyskiwanie dostępu do komponentu Spring Bean z rejestrowania klasy aplikacji

Mam klasę log4j DailyRollingFileAppender, w której metoda setFile () muszę sprawdzić wartość bazy danych, aby zdecydować, który plik ma być używany do logowania.

DailyRollingFileAppender class 

public void setFileName()
{
    isLoginEnabled = authenticationManager.checkLoginLogging();
}

Tutaj „authenticationManager” jest obiektem klasy używanym do wywoływania wywołań bazy danych przy użyciu funkcji wtrysku zależności sprężynowych.

spring-beans.xml
<bean id="dailyRollingFileAppender" class="com.common.util.DailyRollingFileAppender">
 <property name="authenticationManager">
     <ref bean="authenticationManager"/>
 </property>
</bean>

<bean id="authenticationManager" class="com.security.impl.AuthenticationManagerImpl">
    <property name="userService">
        <ref bean="userService"/>
</property>
</bean>

Teraz, kiedy zaczynam, aplikacja log4j zostaje zainicjowana jako pierwsza, a ponieważ Spring-bean jeszcze nie wywołał, zgłasza NullPointerException w metodzie setFileName (). Czy istnieje sposób, w jaki mogę wywołać wywołanie 'authenticationManager.checkLoginLogging ();' z klasy DailyFileAppender, tak że gdy log4j się ładuje, powinien uzyskać wartość bazy danych?

questionAnswers(1)

yourAnswerToTheQuestion