Ответ 1
Когда я пытаюсь создать новый EJB 3.0 в eclipse, он спрашивает, хочу ли я также создать клиентскую банку. Какие Это делает клиентская банка?
JAR файл JJB-клиента является дополнительным файлом JAR, который может содержать все файлы классов, которые клиентская программа должна использовать в представлении клиента для предприятия beans, которые содержатся в файле JJB JAR. Если вы решили не создавать JAR файл клиента для модуля EJB, все классы интерфейса клиента будут находиться в файле JJB JAR
Мой ejbmodule добавлен как часть EAR файл. Так мне действительно нужно это клиентская банка?
Вам действительно не нужен клиент EJB, он просто предоставляет более легкую упаковку для использования EJB от клиента.
Нужно ли создавать как локальные, так и удаленные интерфейсы? Или просто удаленный интерфейсы будут делать?
Если все ваши EJB находятся в одном EAR, вы можете использовать локальные интерфейсы, если вам не нужны удаленные интерфейсы. Локальные интерфейсы более эффективны, звонки выполняются как ссылка.
Некоторые контейнеры (т.е. WebSphere) оптимизируют это во время выполнения для вас и автоматически вызывают локальные интерфейсы, если это возможно.
Я решил сохранить все интерфейсы в проекте под названием projCommon и bean определения в projApps. удаленные интерфейсы, которые beanклассы реализуются в projCommon. Таким образом, projApps зависит от projCommon.
Я бы сохранил свои проекты, организованные по функциональным областям. Выполнять локальные вызовы внутри функциональных областей и удаленных объектов вне функциональных областей. Это позволяет вам разделить функциональность, которая будет развернута на разных серверах, для ее масштабирования. Он также сохраняет код более модульным. Это также позволяет избежать любых круговых зависимостей.
Как именно непосредственно EJB впрыскивается?
Как это работает, не имеет значения, это будет сделано контейнером. Весь смысл J2EE состоит в том, чтобы абстрагироваться от того, как.
По http://www.developer.com/print.php/3650661:
Контейнеры EJB 3 предоставляют средства для ввода различных типов ресурсов в сеанс без состояния beans. Как правило, для выполнения пользовательских задач или запросов процесса от клиентских приложений бизнес-методы в сеансе bean требуют одного или нескольких типов ресурсов. Этими ресурсами могут быть другие сеансы beans, источники данных или очереди сообщений.
С помощью аннотаций или дескрипторов развертывания могут быть введены ресурсы, которые пытается использовать сеанс без состояния bean. Ресурсы могут быть получены путем аннотации переменных экземпляра или аннотации методов сеттера.