[jboss-jira] [JBoss JIRA] (AS7-5802) New instance of the filter in always created

Martin Vanek (JIRA) jira-events at lists.jboss.org
Tue Oct 23 14:07:01 EDT 2012


    [ https://issues.jboss.org/browse/AS7-5802?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12728691#comment-12728691 ] 

Martin Vanek edited comment on AS7-5802 at 10/23/12 2:06 PM:
-------------------------------------------------------------

Do I understand it correctly that if specification says: "Registers the given filter instance with this ServletContext under the given filterName.", that application-created filter has to become part of container-managed?

Probably the (I do not check the code the jbossweb implementation yet), but the very same problem could be with the instance of the Servlet in addServlet method.
                
      was (Author: momega2):
    Do I understand it correctly that if specification says: "Registers the given filter instance with this ServletContext under the given filterName.", that application-created filter has to become part of container-managed part?

Probably the (I do not check the code the jbossweb implementation yet), but the very same problem could be with the instance of the Servlet in addServlet method.
                  
> 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: http://www.atlassian.com/software/jira


More information about the jboss-jira mailing list