我使用注释用JNDI创建了一个EJB
我制作了一个EJB代码罐并将其部署在GlassFish服务器(版本3)中
我可以使用JNDI查找在远程客户端应用程序中获取EJB的对象
但是我无法在GlassFish JNDI列表中获取EJB名称或mappedName
我使用命令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();
}
}
}