1

我使用注释用 JNDI 制作了一个 EJB。
我制作了该 EJB 代码的 jar 并将其部署在 GlassFish 服务器(版本 3)中。
我能够使用 JNDI 查找在远程客户端应用程序中获取 EJB 的对象。
但我无法获得 EJB 名称或mappedNameGlassFish JNDI 列表中的名称。
我使用该命令asadmin list-jndi-entries来获取 JNDI 条目的列表。

@Remote
public interface TestEjbJndi {
    public Object test();
}

@Stateless(name="TestSdkInterface", mappedName="/test/ejb/jndi")
public class TestEjbJndiImpl implements TestEjbJndi{    
    @Override
    public Object test(){
        System.out.println("Inside getProtocolData");
        return null;
    }
}

public class RemoteClient {
    public static void main(String[] args) {
        try {
            Context ctx = new InitialContext(); 
            lookup(ctx);
        } catch (NamingException ne) {
            ne.printStackTrace();
        }
    }

    private static void lookup(Context ctx) throws NamingException {
        System.out.println("Inside lookup");
        try{
            Object object = ctx.lookup("/test/ejb/jndi");
            System.out.println("lookup done, object :"+object);

            TestEjbJndiImpl teji= (TestEjbJndiImpl)object;
            teji.test();
        }catch(NamingException ne){
            ne.printStackTrace();
        }
    }
}
4

0 回答 0