Доступ к компонентам Seam из фильтров
Авг.21, 2009 Рубрика:
Flex
При попытке доступа к компонентам Seam из фильтров web-приложения может возникнуть исключение: “javax.servlet.ServletException: java.lang.IllegalStateException: No active event context”. Для того, чтобы гарантированно получить нужный компонент, код необходимо выполнить в ContextualHttpServletRequest:
@Override
public void doFilter(final ServletRequest request, final ServletResponse response, FilterChain chain)
throws IOException, ServletException {
new ContextualHttpServletRequest((HttpServletRequest) request) {
@Override
public void process() throws Exception {
...
MyComponent component = (Component) Component.getInstance(MyComponent.class);
...
}
}.run();
chain.doFilter(request, response);
}

Ваш отзыв