2016-01-15 2 views
1

У меня есть класс рабочего процесса, где я инъекционный несколько EJB находится в верхней части моего класса, используя @EJB тег:инъекционных Несколько EJBs

@Stateless 
@TransactionAttribute(TransactionAttributeType.NOT_SUPPORTED) 
public class WorkflowBean { 

    @EJB 
    private BeanOne beanOne; 
    @EJB 
    private BeanTwo beanTwo; 
    @EJB 
    private BeanThree beanThree; 
    @EJB 
    private BeanFour beanFour; 
    @EJB 
    private BeanFive beanFive; 
    @EJB 
    private BeanSix beanSix; 

Есть ли лучше, более организованно впрыскивать их на наверху моего кода, может быть, на одной строке? Код работает отлично, но я думаю, что к моменту завершения кода я собираюсь добавить еще несколько бобов, и я чувствую, что он начинает заставлять мой код выглядеть загроможденным.

ответ

2

Нет ничего изначально неправильного в том, чтобы делать это таким образом, но он может немного запутаться.

Если вы можете идентифицировать и группировать поведение, основанное на бизнес-поведении, это может уменьшить количество аннотаций @EJB. Например, если beanOne, beanTwo и beanThree все относятся к управлению пользователями, вы можете создать компонент userManagement, вставить их там, а затем ввести только один компонент управления пользователями в свой рабочий поток. Это также может помочь в самостоятельной документации.

IMHO, ваш рабочий поток должен в значительной степени просто вызвать другие компоненты, которые инкапсулируют бизнес-логику, а не пытаться определить все это здесь.

+0

Спасибо Mike - Я рассмотрю этот подход, чтобы очистить мой код – schuno

Смежные вопросы