繁体   English   中英

通过使用ejb 3,jsf和jboss,可以从Web模块调用EJB方法吗?

[英]By using ejb 3 , jsf and jboss is it possible to call an EJB method from web module?

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

@EJB private BeanInterface yourbean

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

任何帮助,将不胜感激。

您可以在@ManagedBean类中注入@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);
    }
}

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM