2016-09-06 4 views
0

私はjavaでGoogle AppEngineを使用しています。 私は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-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

サーブレットマッピングを追加することもできますフック? 開発環境または運用環境での作業を試みていますか? –

+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> 
関連する問題