[
https://issues.apache.org/jira/browse/FELIX-3104?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Felix Meschberger updated FELIX-3104:
-------------------------------------
Attachment: FELIX-3104-fmeschbe.patch
Hmm, I am not sure, whether this is the correct solution. It looks like the
continuationCometdServlet field is only created in the register method but not
dropped in the unregister method. Maybe we should just simply drop it here and
care to have it recreated in the register method ?
> Registering/unregistering HttpService with CometdServiceImpl repeatedly
> causes ClassCastException
> -------------------------------------------------------------------------------------------------
>
> Key: FELIX-3104
> URL: https://issues.apache.org/jira/browse/FELIX-3104
> Project: Felix
> Issue Type: Bug
> Components: HTTP Service
> Affects Versions: http-2.2.0
> Reporter: Julian Sedding
> Assignee: Felix Meschberger
> Priority: Minor
> Attachments: FELIX-3104-fmeschbe.patch, FELIX-3104.patch
>
>
> CometdServiceImpl uses
> org.mortbay.cometd.continuation.ContinuationCometdServlet in its
> implementation, which in turn extends
> org.mortbay.cometd.AbstractCometdServlet. AbstractCometdServlet places a
> Bayeux object in a servlet context attribute in its init() method, but never
> cleans it up on destroy(). This can lead to a ClassCastException if the
> servlet's init() method is called repeatedly, and the ClassLoader used to
> create the object stored in the servlet context attribute is not the same
> that was used to load the AbstractCometdServlet class. However, this is what
> seems to happen if the cometd bundle is restarted (may only be the case with
> the patch from FELIX-3102 applied).
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira