gpt4 book ai didi

jakarta-ee - JNDI 查找不适用于 EJB 3.x

转载 作者:行者123 更新时间:2023-12-04 18:45:34 24 4
gpt4 key购买 nike

我正在使用以下 Bean 类:

@Stateless(name="UserBean", mappedName="UserBean")
@LocalBean
public class User implements UserRemote {

@PersistenceContext
private EntityManager em;

public User() {

}

public String login(String username, String password) {

Query query = em.createQuery("...");
return "xyz";
}

}

我的方法是
public String myMethod()    {

try {
User user = (User) new InitialContext().lookup("UserBean");
return "xyz";
} catch (NamingException e) {
e.printStackTrace();
}
return null;
}

在这里我得到一个
javax.naming.NameNotFoundException: Unable to resolve 'UserBean'. Resolved ''; remaining name 'UserBean'

JNDI 查找名称“UserBean”似乎是正确的。不知道是什么问题。有人可以帮忙吗?我已经使用 JPA 2.0 和 EJB 3.x 在 weblogic 12c 上部署了我的应用程序

提前致谢。

最佳答案

问题是我使用的是远程接口(interface)。仅使用没有映射名称的@stateless 注释以下代码有效:

new InitialContext().lookup("java:global/ProjectName/ModuleName/BeanName!FullyQualif‌​iedNameOfRemoteInterface"); 

谢谢@安德烈!

关于jakarta-ee - JNDI 查找不适用于 EJB 3.x,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14938244/

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