Acessando o bean Spring a partir da classe do logging appender
Eu tenho a classe log4j DailyRollingFileAppender em que método setFile () eu preciso verificar o valor do banco de dados para decidir qual arquivo usado para log.
DailyRollingFileAppender class
public void setFileName()
{
isLoginEnabled = authenticationManager.checkLoginLogging();
}
Aqui 'authenticationManager' é o objeto da classe usada para fazer a chamada do banco de dados usando o recurso de injeção de dependência de mola.
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>
Agora, quando inicio meu aplicativo, o log4j é iniciado primeiro e, como os beans de primavera ainda estão sendo chamados, ele lança o NullPointerException no método setFileName (). Então, há uma maneira de fazer chamadas para 'authenticationManager.checkLoginLogging ();' da classe DailyFileAppender para que, quando o log4j for carregado, ele possa obter o valor do banco de dados?