Каково значение параллелизма внедрения ejb3 в сервлет? - PullRequest
0 голосов
/ 07 июня 2011

Я хочу сравнить инъекцию ejb3 с методом поиска jndi, связывает ли инъекция 1 конкретный экземпляр прокси с сервлетом? Если это так, то в кластерной среде такое тесное связывание во время выполнения может привести к неэффективности.

1 Ответ

2 голосов
/ 07 июня 2011

Для Stateless, EJB-прокси является 1-ко-многим со своими вспомогательными экземплярами (обычно объединенными в пул) и безопасен для внедрения в сервлет.

Для Singleton прокси-сервер EJB имеет значение 1-к-1 со своим экземпляром поддержки, но контейнер (или компонент) отвечает за обеспечение безопасности или запрета одновременных вызовов в зависимости от бизнес-логики каждого метода. @AccessTimeout может использоваться для управления продолжительностью ожидания блокировки.

Для Stateful, EJB-прокси имеет один к одному со своим резервным экземпляром и небезопасно внедрять в сервлет. Начиная с EJB 3.1, параллелизм с состоянием сессионного компонента обеспечивает некоторую безопасность, но из-за тайм-аутов с состоянием сессионного компонента ввод сессионного компонента с сохранением в сервлет вряд ли когда-либо будет полезен.

...