gpt4 book ai didi

Java EE : how to access local EJB from web module?

转载 作者:行者123 更新时间:2023-11-30 09:47:56 26 4
gpt4 key购买 nike

我已经创建了一个本地 EJB,我想从同一 VM 中的 Web 模块访问它。我的代码如下所示:

@EJB
private UserBeanLocal userBean;

public UsuarioManagedBean() {
InitialContext c = new InitialContext();
userBean = (UserBeanLocal) c.lookup("java:global/UsersApp/Users-ejb/UserBean!biz.users.beans.UserBeanLocal");
}

public List<User> getUsers() {
users = this.userBean.listUsers();
return users;
}

这很好用。然而,有人告诉我,如果我正在使用本地 bean,我不需要进行查找,我只需要像这样进行注入(inject):

@EJB
private UserBeanLocal userBean;

public UsuarioManagedBean() {

}

public List<User> getUsers() {
users = this.userBean.listUsers();
return users;
}

但是如果我尝试这样做,我会在 this.userBean 上得到一个空异常。建议我使用 JBoss 的人,而我使用的是 glassfish。我做错了什么吗?

最佳答案

@EJB 注释仅适用于应用程序服务器控制的类,如 servlet、mdb 和其他 ejb。我猜 UsuarioManagedBean 是一个 pojo,因此是 NPE,因为资源永远不会被注入(inject)。

关于Java EE : how to access local EJB from web module?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6488270/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com