2016-09-06 3 views
0

Я использую Google AppEngine с java. я настроил для ручного масштабирования, добавив следующее Appengine-web.xmlСервлет фильтры не работают с манометром AppEngine

<manual-scaling> 
    <instances>1</instances> 
</manual-scaling> 

Но после того, как я добавляю это, я не могу использовать сервлетов фильтры с последующим отображением в web.xml.

<filter> 
    <filter-name>testFilter</filter-name> 
    <filter-class>com.fms.test.TestFilter</filter-class> 
</filter> 
<filter-mapping> 
    <filter-name>testFilter</filter-name> 
    <url-pattern>/_ah/api/*</url-pattern> 
    <url-pattern>/_ah/spi/*</url-pattern> 
</filter-mapping> 

Фильтры будут работать, если я дам * как url-шаблон, но это не мое требование. Без ручного масштабирования он работает так, как ожидалось.

Может кто-нибудь сказать мне, почему я не могу его использовать?

PS: Я нахожусь в среде разработки и использования AppEngine SDK версии 1.9.42

Вот мой код фильтра:

public class TestFilter implements Filter { 
    private static final AdvocacyUtils utils = AdvocacyUtils.getInstance(); 

    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { 
     System.out.println("Request filtered."); 
    } 

    @Override 
    public void destroy() { 
    } 

    @Override 
    public void init(FilterConfig filterConfig) throws ServletException { 
    } 
} 
+0

Можете ли вы добавить отображение сервлетов, а также то, что вы пытаетесь крючок? Вы пытаетесь создать среду разработки или производства? –

+0

Серверов нет, просто фильтры. Я добавил отображение. Я использовал термин «фильтры сервлетов», чтобы не смешивать с другими. Я в среде разработки. – Harikrishnan

+0

Но фильтр, какой сервис нужно зацепить? Конфигурация url-шаблона связана с конечной точкой http, поэтому где это объявление? –

ответ

0

Я нашел обходной путь (here) Решение заключается в добавлении в раздел «фильтр-сопоставление» - «диспетчер», как в этом фрагменте:

<filter-mapping> 
    <filter-name>ObjectifyFilter</filter-name> 
    <url-pattern>/*</url-pattern> 
    <dispatcher>REQUEST</dispatcher> 
    <dispatcher>INCLUDE</dispatcher> 
    <dispatcher>FORWARD</dispatcher> 
</filter-mapping>