Java 如何在创建Springbean后初始化log4j2?
我想从配置bean中获取一些log4j2属性,但问题是,在log4j2启动之后,Spring初始化了这个bean。有没有办法在log4j2提供程序之前初始化这个beanJava 如何在创建Springbean后初始化log4j2?,java,spring,log4j2,Java,Spring,Log4j2,我想从配置bean中获取一些log4j2属性,但问题是,在log4j2启动之后,Spring初始化了这个bean。有没有办法在log4j2提供程序之前初始化这个bean <NoSql name="elasticsearchTimeAppender"> //I will set below values from Spring conf. bean <Mongo cluster="" host="" port="" index="" type=""
<NoSql name="elasticsearchTimeAppender">
//I will set below values from Spring conf. bean
<Mongo cluster="" host="" port="" index="" type="" flushInterval=""/>
</NoSql>
你最终解决问题了吗?
@Plugin(name = "Mongo", category = "Core", printObject = true)
public class MongoProvider implements NoSqlProvider<MongoConnection> {
....
host = MyConfiguration.DatabaseName; //I am getting null value here because Spring initializes after provider completed.
}
@Component
public class MyConfiguration {
public static String DatabaseName;
@PostConstruct
private void setStaticFields() {
MyConfiguration.DatabaseName= databaseName;
}
@Value("${mydbconf.name}")
private String databaseName;
public String getDatabaseName() {
return DatabaseName;
}
public void setDatabaseName(String DatabaseName) {
MyConfiguration.DatabaseName = DatabaseName;
}
}