【发布时间】:2021-02-06 19:57:17
【问题描述】:
我有一个使用 Jersey 框架创建的 rest 应用程序我正在尝试将 Stateful bean 注入我的 rest 控制器,但这个 bean 总是被再次创建。我已经通过在打印过去的数据后将测试数据传递到这个 bean 来对此进行测试,但总是打印 null。
@Stateful
public class TestService {
private String test;
public String getTest() {
return test;
}
public void setTest(String test) {
this.test = test;
}
}
@Path("/testController")
public class TestController {
@EJB
private TestService testService;
@Path("/getTest/")
@GET
@Produces(MediaType.APPLICATION_JSON)
public Response getPage(@QueryParam("TEST")String test) {
System.out.println(testService.getTest());
testService.setTest(test);
}
}
【问题讨论】:
-
一个有状态的 EJB 与它的客户端一样长。 JAX-RS 资源本质上是请求范围的。但是,很难为xyproblem.info 的实际 X 发布正确的答案,因为您基本上违反了“REST”的“S”部分。 “S”代表“无状态”而不是“有状态”。
标签: jax-rs ejb stateful-session-bean