0
我用JBOSS Develper Studio 8的,基于JRE 1.7我有一个EJB和Web项目一个J2EE项目JBOS服务器7.1。在ejb项目中,我有两个相同的ejb 3.1在web项目中,我只有一个servlet。这个servlet在第一个ejb中调用简单的测试方法,然后在第二个ejb中调用。在测试方法第一件事就是依赖注入资源会话的上下文通过这个代码
@Resource
private SessionContext context;
第一个EJB工作正常,但第二次(和任何以下)的会话上下文返回null。这是comlete代码:
FirstServlet.java
@WebServlet("/FirstServlet")
public class FirstServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
@EJB
FirstEJB firstEJB = new FirstEJB();
SecondEJB secondEJB = new SecondEJB();
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
PrintWriter out = response.getWriter();
out.println(firstEJB.helloFirst());
out.println(secondEJB.helloSecond());
}
}
FirstEJB.java
@Stateless
public class FirstEJB {
@Resource
private SessionContext contextFirst;
public String helloFirst(){
System.err.println(contextFirst.toString());
return "Hello from FirstEJB";
}
}
SecondEJB.java
@Stateless
public class SecondEJB {
@Resource
private SessionContext contextSecond;
public String helloSecond(){
System.err.println(contextSecond.toString());
return "Hello from SecondEJB";
}
}
有谁能够知道哪里出了问题。