Создание Singleton в j2ee-приложениях
EJB позволяет быстро и просто реализовать Singleton, выполняющийся в отдельном потоке. Фактически, мы получаем тот же Stateful-bean, но с постоянным временем жизни. Так как это обычный bean, в нашем распоряжении оказываются механизмы Dependency Injection и аннотации @PostConstuct, @PreDestroy.
Итак, создим простой Singleton:
@Singleton
@Startup
public class ApplicationWatchDog implements Serializable {
@PostConstruct
public void init() {
System.out.println("Singleton успешно стартовал");
}
}
Что же мы сделали?
Аннотации над классом говорят сами за себя:
- описываемый класс является Синглтоном (присутствует лишь в единственном экземпляре);
- экземпляр создастся сразу же после развёртывая (deploy) приложения на сервере.
Метод, аннотированный @PostConstruct вызывается сразу же после создания экземпляра класса и обычно служит для настроек деятельности этого сервиса.
В следующей главе рассмотрим применение данного механизма для решения реальных задач.
Комментариев нет:
Отправить комментарий