]
Remy Maucherat commented on AS7-5802:
-------------------------------------
Thanks for the test case.
New instance of the filter in always created
--------------------------------------------
Key: AS7-5802
URL:
https://issues.jboss.org/browse/AS7-5802
Project: Application Server 7
Issue Type: Bug
Components: Web
Affects Versions: 7.1.1.Final
Reporter: Martin Vanek
Assignee: Remy Maucherat
Labels: filter
Attachments: filtertest-0.0.1-SNAPSHOT.war, filtertest.zip
I have created Servlet 3.0 filter in WebApplicationInitializer.onStartup() for example
the following way:
public void onStartup(ServletContext servletContext) throws ServletException {
String servletName = "someServlet";
String[] mappings = new String[] {"*.html"};
Servlet servlet = FooServlet();
ServletRegistration.Dynamic s = servletContext.addServlet(servletName, servlet);
s.setLoadOnStartup(1);
s.addMapping(mappings);
Filter filter = new FooFilter("argument");
String[] servletNames = new String[] {servletName};
FilterRegistration.Dynamic f = servletContext.addFilter("fooFilter",
filter);
f.addMappingForServletNames(null, false, servletNames);
}
My problem is that jboss-web implemntation 7.0.13+ in StartdardContext.filterStart()
along with ApplicationFilterConfig.getFilter() always tries to create new instance of the
Filter via default constructor.
My FooFilter does not have default constructor and therefore my application cannot be
deployed.
Please, check current implementation in Tomcat 7.0.32, which does not contain this
problem.
Also I have found that ApplicationFilterConfig has two similar atributes named filter and
filterInstance. I guess it is quite wrong implementation and it is related to my problem.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: