У меня есть потокобезопасный тяжелый ресурс, и я хотел бы инициализировать его как переменную статического класса.Во время инициализации этого объекта мне нужно прочитать некоторые параметры «соединения» из внешнего файла свойств.
Для чтения параметров инициализации я хотел бы использовать мой exicting Configuration
Singleton EJB, но кажется, что мой введенный configuration
bean имеет значение null во время развертывания (когда контейнер EE инициализирует мою статическую переменную).
Это мой конфигурационный EJB:
@Startup
@Singleton
@LocalBean
public class Configuration {
@Lock(LockType.READ)
public String getValue(String key) {
return ...;
}
}
Это путькак я хотел бы инициализировать мой HeavyObject:
@Stateless
public class SenderBean {
private static HeavyObject something;
@Inject
private Configuration configuration;
public SendNotificationBean() {
String host = configuration.getValue("....");
String port= configuration.getValue("....");
something = new HeavyObject(host, port);
}
}
Но configuration
имеет значение null:
Caused By: java.lang.NullPointerException
at com.aaa.bbb.business.SenderBean.configureProxy(SenderBean.java:187)
Может быть, мне нужно изменить порядок, как контейнер инициализирует EJB-ы