У меня проблема с ServletFiltering и EJB Injection. Я настроил ServletFilter и включил его в свой web.xml.Вручную называется Servlet-Filter - впрыскивается EJB всегда null (NullPointerException)
Фильтр-класса:
package at.dot.web.rest.common.utils;
public class AuthRequestFilter implements Filter {
@EJB
private RequestValidator rv;
@Override
public void doFilter(ServletRequest servletRequest,
ServletResponse servletResponse, FilterChain filterChain)
throws IOException, ServletException {
AuthRequestWrapper wr = new AuthRequestWrapper((HttpServletRequest) servletRequest);
if (rv.isRequestAccepted(wr)) {
filterChain.doFilter(wr, servletResponse);
}
@Override
public void init(FilterConfig filterConfig) throws ServletException {
}
@Override
public void destroy() {
}
}
web.xml:
<filter>
<filter-name>AuthRequestFilter</filter-name>
<filter-class>at.dot.web.rest.common.utils.AuthRequestFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>AuthRequestFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
Everthing отлично выглядит и работает без каких-либо проблем. Теперь я хотел сделать все это немного более гибким и пришел к этой статье: How to add filters to servlet without modifying web.xml Я добавил, что GodFilter, включая FilterChain и Pattern, как это предлагается в answere. Это работает очень хорошо. Фильтр называется как определено. В чем моя проблема: EJB (rv) не вводится. Для меня это всегда пусто. Я уверен, что мне не хватает какой-либо (простой) проблемы - но, тем не менее, я не нахожу ошибки.
Любые идеи?
Заранее спасибо