Могу ли я сделать свой собственный компонент Singleton Stateless Bean с EJB 3.0? - PullRequest
1 голос
/ 02 октября 2010

Теперь, с EJB 3.1, мы можем найти аннотацию javax.ejb.Singleton, которая может гарантировать, что этот компонент будет одноэлементным.

Есть ли способ, которым я могу гарантировать использование синглтона в EJB 3.0 bean-компонентами без сохранения состояния с некоторыми изменениями в моем коде (использование ключевого слова static или другой способ сделать это ....)

Ответы [ 2 ]

8 голосов
/ 12 октября 2010

Если вы можете ограничить размер пула бобов @Stateless ровно 1, то вы можете приблизиться к @Singleton.

Эффект был бы подобен наличию @Singleton, который использует @Lock(WRITE) для всех вызовов (, то есть без одновременного выполнения ) и не запускается с нетерпением через @Startup (, он запустится при первом доступе ).

Возможно, вы все равно сможете получить эффект @Startup, если у вашей платформы есть возможность активно заполнять @Stateless пул бинов.

1 голос
/ 03 октября 2010

Есть ли способ, который я могу обеспечить синглтоном с помощью bean-компонентов без сохранения состояния в EJB 3.0 с некоторыми изменениями в моем коде (использование ключевого слова static или другой способ сделать это ....)

Нет, ничего стандартного.Ваш контейнер может предоставлять некоторые конкретные расширения (например, JBoss имеет проприетарную аннотацию @Service).

...