2

我试图让现有的 EJB 在新实现的 JAX-RS 服务中工作。

我的项目设置如下

root
  ear
  ejb
  war

以下是在战争项目中运行良好的遗留 JAX-WS 代码......

@WebService
public class MyService {
    @EJB
    MyEJBLocal local;
...
}

我将以下 JAX-RS 资源添加到 EJB 项目中(长话短说,还没有时间在战争中进行测试)...

@Stateless
@Path("test")
public class MyResource {
    @EJB
    MyEJBLocal local;

    @GET
    @Produces("text/plain")
    public String getCount(){
        //int count = local.getCount();
        //TODO: remove below once above is working
    return String.valueOf(20);
    }
    ....
}

当我删除评论时,我得到一个空指针异常,因为本地为空。我认为这是由于 JAX-RS 获取 EJB 映射存在问题,因为我尝试创建初始上下文并传递 JNDI 名称,但找不到该名称,所以我猜这就是这里发生的事情。

除了使用 JAX-WS 而不是 JAX-RS 之外,还有其他解决方法吗?

4

0 回答 0