首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >EJB -查找“ejb/BookRequestBean”失败

EJB -查找“ejb/BookRequestBean”失败
EN

Stack Overflow用户
提问于 2013-05-10 11:27:22
回答 4查看 14.5K关注 0票数 7

我对EJB很陌生,并且尝试过"Hello“类型的EJB程序。以下是我的EJB:

代码语言:javascript
复制
package dukesbookstore.ejb;
@Stateless(name="BookRequestBean", mappedName="ejb/BookRequestBean")
@Named
public class BookRequestBean {
    //Other codes here
}

这是我的客户:

代码语言:javascript
复制
    Properties prop = new Properties();
    prop.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.enterprise.naming.SerialInitContextFactory");
    prop.setProperty("org.omg.CORBA.ORBInitialHost", "localhost");
    prop.setProperty("org.omg.CORBA.ORBInitialPort", "3700");
    try {
        InitialContext ctx = new InitialContext(prop);                              
        ctx.lookup("ejb/BookRequestBean");
        System.out.println("EJB Look-up successfull!!");
    } catch (NamingException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

但是,每当我尝试跑步时,我都会被排除在外:

SerialContext[myEnv={org.omg.CORBA.ORBInitialPort=3700,java.naming.factory.initial=com.sun.enterprise.naming.SerialInitContextFactory,org.omg.CORBA.ORBInitialHost=localhost,java中的'ejb/BookRequestBean‘查找失败

我增加了appserv-rt.jargf-client.jarjavaee.jar,但还是没有运气。有人能帮我吗,我在这里缺少的是什么?我是水晶鱼3.1

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-05-13 07:29:42

除了尼斯@RaviTrivedi的回答外,以下是一些想法:

  • 不应以这种方式使用@Named注释
  • 不要同时使用namemappedName,对于玻璃鱼来说,只使用mappedName就足够了
  • 您的EJB应该实现远程接口。
票数 2
EN

Stack Overflow用户

发布于 2013-05-12 09:30:59

这可能有几个原因:

1)您的EJB没有映射到JNDI名称。您需要检查您的EJB是否已成功部署并映射到JNDI名称。您可以检查Server GUIServer Log on startup或使用Universal Test Client查看EJB是否被正确映射。注意,UTC将只显示远程公开的EJB。

2)您的EJB只向本地应用程序公开。在这种情况下,远程调用或交叉应用程序调用(不同的EAR、WAR.)你的EJB会失败的。在这个场景中,创建远程接口并公开它。本地接口只向本地调用公开EJB。远程接口向远程或跨应用程序调用公开EJB。

3)您的RMI/IIOP端口可能不正确。您可以检查Glassfish GUIServer startup log,以查看分配给哪个端口RMI/IIOP

注意:要诊断准确的问题,请贴出完整的堆栈跟踪。

票数 8
EN

Stack Overflow用户

发布于 2014-03-14 01:29:59

添加到@ registered和@Miljen,如果您正在使用Glassfish,您应该检查EJB是如何在JNDI中注册的。例如,在Glassfish中键入以下命令:

代码语言:javascript
复制
 asadmin list-jndi-entries
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16481198

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档