我希望你能帮助我:我有一个用Eclipse创建的WebProject作为动态Web项目,在Glassfish3服务器上运行.我正在使用EJB 3.0来创建实现我的业务逻辑的无状态Façade(@stateless Annotation):
@Stateless
public class Facade {
public void test(){
System.out.println("test hat geklappt!!");
}
}
Run Code Online (Sandbox Code Playgroud)
另外,我使用RESTRessource来提供我的REST WS,它使用我的EJB(@EJB Annotation)业务逻辑:
@RequestScoped
@Path("/prescriptions")
public class Ressource {
@EJB
private Facade facade;
public Ressource() {
super();
}
@GET
@Path("/user/{userid}")
@Produces(MediaType.APPLICATION_JSON)
public void getUser(@PathParam("userid") String userid) {
facade.test();
}
}
Run Code Online (Sandbox Code Playgroud)
虽然我可以进入REST WS并调用它,但我的EJB始终为null,我找不到原因.
如果你能帮助我,我将非常感激.如果您需要有关代码的更多信息或只是询问.
先谢谢,弗洛里安
PS:我的日志中总是出现以下错误:
INFO: Portable JNDI names for EJB Facade : [java:global/TestProject/Facade,java:global/TestProject/Facade!webservices.Facade]
INFO: Portable JNDI names for EJB Facade : [java:global/TestProject/Facade, java:global/TestProject/Facade!webservices.Facade]
INFO: Scanning for root resource and provider classes in the …Run Code Online (Sandbox Code Playgroud)