セッション Bean を ServletFilter に注入したいのですが、うまくいかないようです。これを達成する方法を教えてください。
public class MyExample implements Filter {
@EJB
private MyBean someEjb;
@Override
public void destroy() {
}
@Override
public void init(FilterConfig filterConfig) throws ServletException {
}
@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse,
FilterChain filterChain) throws IOException, ServletException{
someEjb.toString();
}
}
myEjb が null であるため、結果は NullPointerException になります。使用されるプラットフォームは JBoss 5.1 です。MyBean は、他の EJB またはサーブレットから正しくアクセスできます。
ありがとうございました。
問題は解決しました(理由はわかりませんが):
アプリケーションは 3 つのアーティファクトで構成されています。 - EJB を含む jar - サーブレットを含む war - 上記の両方を含む ear
フィルターを jar にパッケージ化すると、問題が発生します。戦争中のサーブレットと一緒にパッケージ化すれば、問題は発生しません。
したがって、当面の問題は解決しましたが、理解できませんでした。
多分誰かが私がそれを理解するのを助けることができますか?