首页 > 解决方案 > jersey restful service如何与ejb集成?

问题描述

将 jersey 与 ejb 集成后,我无法访问我的休息服务。

在一个ear包中,我部署了两个war包和一个jar包。
一个war包,我可以通过http://127.0.0.1:8080/web-1.0-SNAPSHOT/访问它的服务,它会输出“ hello world, EJB”;
另一个war包,我无法通过http://127.0.0.1:8080/app-1.0-SNAPSHOT/services/hello访问它的服务

Here is the jar code.

@Stateless
public class SimpleStatelessEjb {
    public String hello() {
        return "hello world, EJB";
    }
}

web-1.0-SNAPSHOT code

@WebServlet({"/", "/ejbServlet"})
public class EjbServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;

    @EJB
    SimpleStatelessEjb statelessBean;

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException {
        PrintWriter writer = resp.getWriter();
        String msg = statelessBean.hello();
        writer.println(msg);
    }
}

app-1.0-SNAPSHOT code

@ApplicationPath("services")
public class RestApplication extends ResourceConfig {

    public RestApplication() {
//        packages("individual.cc.app.servlet");
        register(HelloController.class);
    }
}

@Stateless
@Path("/hello/")
public class HelloController {

    @EJB
    SimpleStatelessEjb statelessBean;

    @GET
    @Produces(MediaType.APPLICATION_JSON)
    public String hello() {
        return statelessBean.hello();
    }
}

我希望http://127.0.0.1:8080/app-1.0-SNAPSHOT/services/hello GET,它会输出hello world, EJB,但是,它总是抛出Not Found
这是整个代码
有人能给我一些帮助吗?
非常感谢。

标签: javarestjerseyejb

解决方案


推荐阅读