Используя ejb 3, jsf и jboss, можно ли вызвать метод EJB из веб-модуля? - PullRequest
0 голосов
/ 03 мая 2010

Даже если у меня в приложении Java EE разные модули, включая myproject-web и myproject-ejb; Можно ли вызвать (или ввести) мой сессионный компонент ejb, который находится в модуле ejb, из управляемого компонента, который находится в веб-модуле? Когда я спросил раньше, я вижу следующую декларацию:

@EJB private BeanInterface yourbean

Однако я хочу узнать, возможно ли это или нет, вызывать друг друга в разных контекстах (один из них в контексте ejb, другой - управляемый компонент - в веб-контексте)?

Любая помощь будет оценена.

Ответы [ 3 ]

1 голос
/ 03 мая 2010

Вы можете ввести @EJB в класс @ManagedBean, но не наоборот. Если вы хотите выполнить желаемую бизнес-логику в классе EJB, вы должны сами передать экземпляр управляемого компонента в качестве аргумента метода.

@Stateless
public class EJB {
    public void process(ManagedBean bean) {
        // Business logic.
    }
}

@ManagedBean
public class ManagedBean {
    @EJB private EJB ejb;

    public void submit() {
        ejb.process(this);
    }
}
0 голосов
/ 24 августа 2010

Если вы действительно хотите это во что бы то ни стало, я думаю, вы могли бы попытаться написать свой собственный преобразователь свойств и ввести его самостоятельно (я не пробовал).

0 голосов
/ 27 мая 2010

Я узнал, что это невозможно без написания собственного распознавателя. Спасибо

...