Если MyUniqueInstanceBean Без гражданства это не в ваших руках - вызовы uniquebean1 и uniquebean2 фактически вызывает тот же экземпляр. В EJB 3.1 спецификации это сказано со следующими словами:
Поскольку все экземпляры сессионного компонента эквивалентны, контейнера может выбрать делегировать метод клиента вызываемых к любому доступному экземпляру . Это означает, например, что контейнер может делегировать запросы от одного и того же клиента в пределах одной транзакции в разные экземпляры и что контейнер может чередовать запросы из нескольких транзакций в один и тот же экземпляр.
Если MyUniqueInstanceBean является Stateful гарантируется, что uniquebean1 и uniquebean2 не относятся к одному экземпляру. Опять же из спецификации:
жизни боба экземпляра сессионного начинается, когда клиент получает ссылки на отслеживание состояния экземпляра сессионного компонента через зависимость инъекции или JNDI поиск, или когда клиент вызывает метод создания на доме сессионного компонента интерфейс. Это вызывает использование контейнера для вызова newInstance в классе сеансового компонента в для создания нового экземпляра сеансового компонента.
Если вы используете Singleton, то оба относятся к той же инстанции, потому что есть только один экземпляр:
одноплодной сессионный компонент является компонентом сессионный компонент, который инстанцирован один раз для каждого приложения , В случаях, когда контейнер равен , распределенный по многим виртуальным машинам, каждое приложение будет иметь один экземпляр компонента для Singleton для каждой JVM.
1. Измените свой вопрос, чтобы отформатировать код и не забудьте использовать скобки при необходимости (MyUniqueInstanceBean вводится внутри Class1 и Class2?). 2. Ответ зависит от того, как вы определили MyUniqueInstanceBean: ответ да, если и только если это Singleton – perissf