Andreas Lemmer created FELIX-6745:
-------------------------------------

             Summary: HttpService: Cannot unregister 
javaxwrappers.ServletWrapper
                 Key: FELIX-6745
                 URL: https://issues.apache.org/jira/browse/FELIX-6745
             Project: Felix
          Issue Type: Bug
          Components: HTTP Service
    Affects Versions: http.jetty12-1.0.19
            Reporter: Andreas Lemmer


When (manually) registering an 
{{org.apache.felix.http.javaxwrappers.ServletWrapper}} servlet at 
{{org.osgi.service.http.HttpService}}, it cannot be unregistered anymore:
{{java.lang.ClassCastException: class (WrappedServlet) cannot be cast to class 
org.apache.felix.http.jakartawrappers.ServletWrapper}}
{{at 
org.apache.felix.http.base.internal.service.SharedHttpServiceImpl.getServlet(SharedHttpServiceImpl.java:117)}}
{{at 
org.apache.felix.http.base.internal.service.SharedHttpServiceImpl.unregister(SharedHttpServiceImpl.java:100)}}

This is because registering the ServletWrapper actually registers the wrapped 
servlet (see 
{{org.apache.felix.http.jakartawrappers.ServletWrapper#getRegisteredServlet)}}, 
but unregistering assumes that the registered servlet is an 
{{org.apache.felix.http.jakartawrappers.ServletWrapper}} (see 
{{org.apache.felix.http.base.internal.service#getServlet}} where the CCE 
happens).



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to