You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@felix.apache.org by "Paul Rütter (Jira)" <ji...@apache.org> on 2025/01/25 13:37:00 UTC
[jira] [Closed] (FELIX-6745) HttpService: Cannot unregister javaxwrappers.ServletWrapper
[ https://issues.apache.org/jira/browse/FELIX-6745?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Paul Rütter closed FELIX-6745.
------------------------------
> 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.base-5.1.8, http.jetty-5.1.26, http.jetty12-1.0.19
> Reporter: Andreas Lemmer
> Assignee: Carsten Ziegeler
> Priority: Critical
> Fix For: http.jetty12-1.0.20, http.jetty-5.1.28, http.base-5.1.10
>
>
> 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.{}}}{{{}SharedHttpServiceImpl{}}}{{{}#getServlet{}}} where the CCE happens).
--
This message was sent by Atlassian Jira
(v8.20.10#820010)