我正在使用Google AppEngine和java。 我已通过在appengine-web.xml
中添加以下内容来配置手动扩展<manual-scaling>
<instances>1</instances>
</manual-scaling>
但是在我添加之后,我无法在web.xml中使用带有以下映射的servlet过滤器。
<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-pattern,过滤器将起作用,但这不是我的要求。如果没有手动缩放,它将按预期工作。
有人可以告诉我为什么我不能使用它吗?
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 :(得分:1)
我找到了一些解决方法(here) 解决方案是添加到&#34;过滤器映射&#34; aditional section - &#34; dispatcher&#34;就像在这个片段中一样:
<filter-mapping>
<filter-name>ObjectifyFilter</filter-name>
<url-pattern>/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>INCLUDE</dispatcher>
<dispatcher>FORWARD</dispatcher>
</filter-mapping>