Статический объект в Jboss с использованием EJB3 - PullRequest
1 голос
/ 10 сентября 2010

возможно ли создать что-то вроде статического объекта, используя EJB3 в Jboss.другими словами, мне нужно создать что-то вроде статического объекта, используя шаблон синглтона или что-то в этом роде, потому что мне нужно предварительно загрузить конфигурацию из базы данных, и я хочу, чтобы каждый компонент, создаваемый jboss, использовал этот класс для чтения этой конфигурации вместо этогокаждый боб загружает его из базы данных.

Приветствия,

Ответы [ 2 ]

1 голос
/ 10 сентября 2010

EJB 3.1 имеет стандартную аннотацию @Singleton, а EJB 3.0 - нет.Тем не менее, JBoss предлагает расширение JBoss для спецификации EJB 3.0, чтобы создать синглтон с аннотацией @Service.

Из справочной документации по JBoss EJB 3.0:

Глава 6. Расширения JBoss EJB 3.0

JBoss предоставляет несколько расширений для EJB3.0 спец.Эта глава описывает эти функции здесь.

6.1.@Service EJBs

Расширение, предлагаемое JBoss EJB 3.0, является понятием @org.jboss.annotation.ejb.Service аннотированного компонента.Они представляют собой одноэлементные компоненты и не объединяются в пул, поэтому на сервере существует только один экземпляр компонента.Они могут иметь интерфейсы @Remote и @Local, поэтому к ним могут обращаться клиенты java.Когда разные клиенты ищут интерфейсы для компонентов @Service, все клиенты будут работать с одним и тем же экземпляром компонента на сервере.При установке компонента ему дается JMX ObjectName на сервере MBean, на котором он работает.По умолчанию

jboss.j2ee:service=EJB3,name=<Fully qualified name of @Service bean>,type=service

Вы можете переопределить это имя объекта по умолчанию, указав атрибут objectName аннотации @Service.

Ссылки

0 голосов
/ 10 сентября 2010

Бин с аннотацией @Singleton должен работать. Поместите код инициализации базы данных в @PostConstruct и можете выпустить / очистить в @ PreDestroy.

...