0

即使我的 Java EE 应用程序中有不同的模块,包括 myproject-web 和 myproject-ejb;是否可以从 web 模块中的托管 bean 调用(或注入)我在 ejb 模块中的 ejb 会话 bean?当我之前询问时,我看到以下声明:

@EJB private BeanInterface yourbean

但是,我想了解是否有可能在不同的上下文之间相互调用(其中一个在 ejb 上下文中,另一个 -managed bean- 在 web 上下文中)?

任何帮助,将不胜感激。

4

3 回答 3

1

@EJB你可以在一个类中注入一个@ManagedBean,但反过来不行。如果您想在 EJB 类中执行所需的业务逻辑,那么您必须自己将托管 bean 实例作为方法参数传递。

@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);
    }
}
于 2010-05-03T15:30:46.117 回答
0

如果你真的想要这个,我想你可以尝试编写自己的属性解析器并自己注入(我没有尝试)。

于 2010-08-24T08:24:10.117 回答
-1

我发现现在不编写自己的解析器是不可能的..谢谢

于 2010-05-27T07:50:05.917 回答