我使用注释用 JNDI 制作了一个 EJB。
我制作了该 EJB 代码的 jar 并将其部署在 GlassFish 服务器(版本 3)中。
我能够使用 JNDI 查找在远程客户端应用程序中获取 EJB 的对象。
但我无法获得 EJB 名称或mappedName
GlassFish 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();
}
}
}