powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Аннотация @EJB
5 сообщений из 5, страница 1 из 1
Аннотация @EJB
    #37618039
amigaboy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Имеет смысл объявлять объект, который инжектился через аннотацию @EJB как static

Код: java
1.
2.
3.
4.
5.
@EJB
private BeanLocal bean;

@EJB
private static BeanLocal bean;



на что это может повлиять?
...
Рейтинг: 0 / 0
Аннотация @EJB
    #37618049
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
http://stackoverflow.com/questions/3195365/injecting-a-static-ejb-nonsense
Отучайтесь от использования статики.
...
Рейтинг: 0 / 0
Аннотация @EJB
    #37618070
amigaboy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz http://stackoverflow.com/questions/3195365/injecting-a-static-ejb-nonsense
Отучайтесь от использования статики.Там описывается инжект EJB в другой EJB, как я понял. А здесь вопрос про кучу JSF-бинов клиентского приложения, с множеством одновременно работающих пользователей.

Я правильно понимаю, что все JSF-бины для текущей авторизованной сессии будут в случае статика обращаться к первому порожденному EJB-бину, и только к нему?
...
Рейтинг: 0 / 0
Аннотация @EJB
    #37618084
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
amigaboyЯ правильно понимаю, что все JSF-бины для текущей авторизованной сессии будут в случае статика обращаться к первому порожденному EJB-бину, и только к нему?
static никак не связан с сессией. Поэтому ссылка будет одна для всех сессий. Так как интерфейс локальный, то это вообще будет один единственный экземпляр для всех.

Сервер не должен дать этого делать даже для JSF, потому что Stateless пойдёт лесом. Нужно использовать Singleton, который в последних EJB появился.
...
Рейтинг: 0 / 0
Аннотация @EJB
    #37618199
rabiter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Рекомендовал бы по возможности использовать CDI (JSR-299). EJB бины надо использовать если они дают какое-то преимущество перед простыми CDI бинами ( http://docs.jboss.org/weld/reference/latest/en-US/html/beanscdi.html#d0e868 ).
Если хотите чтобы отдельный бин создавался для каждой сессии, сделайте его @SessionScoped.
Тут есть одна тонкость на которую надо обратить внимание. Есть две аннотации @SessionScoped:
Одна от JSF: javax.faces.bean.SessionScoped
и вторая от CDI: javax.enterprise.context.SessionScoped

Так вот вместо JSF managed beans я бы лучше использовал опять же бины от CDI: http://stackoverflow.com/questions/4347374/jsf-backing-beans-managedbean-or-cdi-beans-named
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Аннотация @EJB
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]