Я использую static
блок для загрузки properties file
в моем Java приложение под названием App1
Java статический блок не работает в потоке
public class Configuration{
static {
System.out.println("static ");
PropertyConfigurator.configure("./TwitterLog4j.properties");
log = Logger.getLogger(Configuration.class.getName());
configProp = new Properties();
try {
configProp.load(Configuration.class.getClassLoader().getResourceAsStream("TwitterConfig.properties"));
} catch (IOException e) {
throw new RuntimeException("TC100: Unable to load the connector configuration file. Configuration file is missing or is invalid.");
}
CONSUMER_KEY = configProp.getProperty("APPKEY");
CONSUMER_SECRET = configProp.getProperty("APPSECRET");
}
}
После создания jar
из App1
, я использую его в App2
, где я использую резьб (Executors.newFixedThreadPool(10))
для запуска App1
путем вызова метода класса ConnWrapper
(см. ниже). Но мой статический блок, кажется, работает только один раз, поддерживает ли JVM классы, даже когда мой App1
заканчивается?
класса Поток App1
ConnWrapper Class --> Conn Class --> ConnInterface Class --> Configuration Class
*(--> = calls method of)
Статические блоки гарантированно работают только один раз, когда класс загружается JVM. Ваш вопрос и ожидание неясны, чего вы хотите достичь? – hagrawal