Bug 63039 - same filter map by url-pattern and servletName only call once
Summary: same filter map by url-pattern and servletName only call once
Status: RESOLVED DUPLICATE of bug 49922
Alias: None
Product: Tomcat 9
Classification: Unclassified
Component: Servlet (show other bugs)
Version: 9.0.12
Hardware: PC Linux
: P2 normal (vote)
Target Milestone: -----
Assignee: Tomcat Developers Mailing List
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-12-26 02:51 UTC by H-ZeX
Modified: 2018-12-26 17:27 UTC (History)
0 users



Attachments
the test case (11.24 KB, application/zip)
2018-12-26 02:51 UTC, H-ZeX
Details

Note You need to log in before you can comment on or make changes to this bug.
Description H-ZeX 2018-12-26 02:51:43 UTC
Created attachment 36351 [details]
the test case

according to jsr 340 P57, the following filter config will make this filter call order: 
AsyncCompleteFilter_2 -> AsyncCompleteFilter_3 -> AsyncCompleteFilter -> AsyncCompleteFilter_2 -> AsyncCompleteFilter_3
however, only 
AsyncCompleteFilter_2 -> AsyncCompleteFilter_3 -> AsyncCompleteFilter are called

```xml
 <servlet>
     <servlet-name>AsyncComplete</servlet-name>
     <servlet-class>servlet1.Asyn1</servlet-class>
     <async-supported>true</async-supported>
 </servlet>
 <servlet-mapping>
     <servlet-name>AsyncComplete</servlet-name>
     <url-pattern>/AsyncComplete</url-pattern>
 </servlet-mapping>

 <filter>
     <filter-name>AsyncCompleteFilter</filter-name>
     <filter-class>servlet1.Filter1</filter-class>
     <async-supported>true</async-supported>
 </filter>
 <filter-mapping>
     <filter-name>AsyncCompleteFilter</filter-name>
     <servlet-name>AsyncComplete</servlet-name>
 </filter-mapping>

 <filter>
     <filter-name>AsyncCompleteFilter_2</filter-name>
     <filter-class>servlet1.Filter2</filter-class>
     <async-supported>true</async-supported>
 </filter>
 <filter-mapping>
     <filter-name>AsyncCompleteFilter_2</filter-name>
     <servlet-name>AsyncComplete</servlet-name>
     <url-pattern>/*</url-pattern>
 </filter-mapping>

 <filter>
     <filter-name>AsyncCompleteFilter_3</filter-name>
     <filter-class>servlet1.Filter3</filter-class>
     <async-supported>true</async-supported>
 </filter>
 <filter-mapping>
     <filter-name>AsyncCompleteFilter_3</filter-name>
     <servlet-name>AsyncComplete</servlet-name>
     <url-pattern>/*</url-pattern>
 </filter-mapping>
```
Comment 1 Mark Thomas 2018-12-26 17:27:05 UTC
The expected behaviour is awaiting clarification from the Servlet EG.

*** This bug has been marked as a duplicate of bug 49922 ***