我正在使用Glassfish捆绑的Eclipse IDE.我写了一个简单的EJB应用程序.但它不起作用.
@Stateless
@Remote(CalculatorRemote.class)
@Local(CalculatorLocal.class)
public class Calculator implements CalculatorRemote, CalculatorLocal {
@Override
public String sayHello(String name) {
System.out.println("ejb:"+name);
return null;
}
}
----
@Remote
public interface CalculatorRemote {
public String sayHello(String name);
}
-------
@Local
public interface CalculatorLocal {
public String sayHello(String name);
}
Run Code Online (Sandbox Code Playgroud)
我写了一个独立的客户端来测试,但失败了.找不到JNDI.
public class Main {
public static void main(String[] args) throws Exception {
InitialContext ctx = new InitialContext();
CalculatorRemote bean = (CalculatorRemote) ctx.lookup("java:global/TestEAR/TEjb/Calculator!com.CalculatorRemote");
bean.sayHello("Billy Bob");
}
}
Run Code Online (Sandbox Code Playgroud)
在服务器日志中,它说
INFO: Portable JNDI names for EJB Calculator …Run Code Online (Sandbox Code Playgroud)