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";
}
}
有誰能夠知道哪裏出了問題。