Martin Vanek created AS7-5802:
---------------------------------
Summary: 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
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:
http://www.atlassian.com/software/jira