You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by "ASF subversion and git services (JIRA)" <ji...@apache.org> on 2017/04/05 12:55:42 UTC
[jira] [Commented] (WICKET-6353) Proxy deserialization fails due to
classloading issues
[ https://issues.apache.org/jira/browse/WICKET-6353?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15956794#comment-15956794 ]
ASF subversion and git services commented on WICKET-6353:
---------------------------------------------------------
Commit 5b7ff7d03a9a4fe1ec20a7021ab7ec46ef2fbca8 in wicket's branch refs/heads/classloadingfix from [~emond]
[ https://git-wip-us.apache.org/repos/asf?p=wicket.git;h=5b7ff7d ]
WICKET-6353: override resolveProxyClass to lookup classes in Wicket's ClassResolver
> Proxy deserialization fails due to classloading issues
> ------------------------------------------------------
>
> Key: WICKET-6353
> URL: https://issues.apache.org/jira/browse/WICKET-6353
> Project: Wicket
> Issue Type: Bug
> Components: wicket
> Affects Versions: 7.6.0
> Reporter: Emond Papegaaij
>
> JavaSerializer.ClassResolverObjectInputStream overrides resolveClass to resolve classes via the Wicket ClassResolvers. This does however not happen for resolveProxyClass.
> An example of how this can go wrong:
> * A page with a large component tree is deserialized (war).
> * LinkedMap (used in MarkupContainer) is loaded in a parent ClassLoader (ear).
> * Via this stack, a proxy is hit implementing Spring classes (from the war)
> * Due to LinkedMap determining the latestUserDefinedLoader, the ear-loader is used for the lookup of this interface, which fails
> Unfortunately, writing a testcase for this is not easy, so I only have a proposed fix.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)