サーブレットにEJBステートレスBeanを挿入しようとしていますが、サーブレットがNullPointerExcetionをスローしています。 JBossを使用してEJBとサーブレットをデプロイしています。サーブレットでEJBインジェクションが失敗する
私はJavaの世界では比較的新しいので、私が従った手順を投稿しています。
インタフェース
package MavenEJB.Bidding`
import javax.ejb.Local;
@Local
public interface PlaceBid {
public String AddBid();
}
豆
package MavenEJB.Bidding;
import javax.ejb.Stateless;
@Stateless(name="PlaceBid")
public class PlaceBidBean implements PlaceBid {
public PlaceBidBean(){}
/**
* Include logic to add the bid
*/
public String AddBid(){
return "Placed bid using EJB";
}
}
私はMavenを使用して、Beanのjarファイルを作成し、私はJBOSSのディレクトリを "展開" するためにjarファイルをコピーしました。私はJMXコンソールにデプロイされたBeanを見ることができます。
JMXコンソールでのグローバルJNDI名前空間
+- PlaceBid (class: org.jnp.interfaces.NamingContext)
| +- local (proxy: $Proxy63 implements interface MavenEJB.Bidding.PlaceBid,interface org.jboss.ejb3.JBossProxy)
マイサーブレットコード
public class PlaceBidServlet extends HttpServlet {
@EJB
private PlaceBid placeBid;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<HTML>");
out.println("<HEAD><TITLE>Hello</TITLE></HEAD>");
out.println("<BODY>");
out.println("Output from EJB" +placeBid.AddBid());
//out.println("Output from EJB");
out.println("</BODY></HTML>");
}
....
}
私は私のサーブレットのURLをポイントすると、私はNullPointerExceptionが取得します。私がBeanにコメントして何か他のものを印刷すると、うまく印刷されます。したがって、問題はサーブレットのEJB依存性注入にあると確信しています。 私は多くのソリューションを試してみました。
あなた自身の答えを受け入れることができますので、他のユーザーはこの質問に回答したことを知ります。 –