【问题标题】:JNDI binding EJB3 issuesJNDI 绑定 EJB3 问题
【发布时间】:2015-10-08 03:20:46
【问题描述】:

我被困在 EJB3 上的 JNDI 绑定过程中,这里是我非常困惑的源代码。

/*
     * Create session bean.
     */
    public static AG20BWOPortal getSessionBean() throws NamingException, RemoteException, CreateException{
        if(wo == null){
            Context ic = new InitialContext();
            System.out.println("test1");
            Object obj = ic.lookup("ejb/sg/gov/hdb/ag20/ejb/AG20BWOPortalHome");  //JNDI name (from EJB module xmi file)
            System.out.println("test2");
            AG20BWOPortalHome home = (AG20BWOPortalHome) PortableRemoteObject.narrow(obj, AG20BWOPortalHome.class);
            wo = home.create();
        }
        return wo;
    }

我的问题是

  • home 接口作为 EJB3 迁移过程的一部分被移除, 因此如何更换家庭接口?

  • 如何在 EJB3 标准中绑定?

【问题讨论】:

  • 您使用的是哪个应用服务器?您的 EJB 是什么样的?当您说“我如何绑定”时,您的意思是“我如何查找”?请注意,在 EJB 3.1 之前,JNDI 查找名称是特定于供应商的
  • 很抱歉让这个问题悬而未决 - 我想提一下,这个问题已经解决了,很快就会发布解决方案 :)

标签: jakarta-ee jndi ejb-3.0 stateless-session-bean


【解决方案1】:

如果有人想了解我是如何做到这一点的,我会自己回答这个问题。

  1. EJB 实现类 -> @Stateless 注解
  2. EJB 远程接口 -> @Remote 注解

这会将 EJB 类绑定在一起。

PS:不要忘记从 EJB 的远程接口中删除扩展。

【讨论】:

    猜你喜欢
    • 2023-03-15
    • 2011-08-08
    • 2011-11-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多