从本地调用EJB3

时间:2014-10-25 22:25:13

标签: java ejb-3.1 tomee

我花了大部分时间在Tomee上的EJB 3上非常简单的事情。

我在apps文件夹中有一个Test.jar,其中有一个无状态bean,其方法名为testMethod()

Bean:TestBean.java

远程接口:Test.java

在网络应用中TestClient.java

public String testMethod(){
   try {
        InitialContext ctx = new InitialContext();
        Test test = (Test) ctx.lookup("Test");
        test.testMethod();
        //System.out.println("Output from JavaClient");
    } catch (NamingException e){
        e.printStackTrace();
    }
}

和一个JSP,它调用TestClient类来执行。

我收到以下错误:javax.naming.NameNotFoundException: Name [Test] is not bound in this Context. Unable to find [Test]

我在上下文对象中尝试过TestBean / remote,结果相似。

jar和war都在同一个tomee容器中运行。如果有人可以说明我做错了什么,我们将不胜感激。

1 个答案:

答案 0 :(得分:0)

正确的jndi名称在日志中(查找" Jndi(")。

可能是java:global // TestBean!Test或类似的东西