[
https://issues.apache.org/jira/browse/FELIX-1233?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12719575#action_12719575
]
Richard S. Hall commented on FELIX-1233:
----------------------------------------
Modified my fix to only call Class.forName() if the type is an array type,
otherwise we could end up with ClassCircularityErrors in some cases;
apparently, Class.forName() does its own cycle checking and is more
conservative than our approach.
> Bundle class loader should delegate using Class.forName(String, boolean,
> ClassLoader) to support array types
> ------------------------------------------------------------------------------------------------------------
>
> Key: FELIX-1233
> URL: https://issues.apache.org/jira/browse/FELIX-1233
> Project: Felix
> Issue Type: Bug
> Components: Framework
> Affects Versions: felix-1.8.0
> Reporter: Richard S. Hall
> Assignee: Richard S. Hall
> Fix For: felix-1.8.1
>
>
> A call to Bundle.loadClass() delegates to ModuleClassLoader.loadClass(). This
> is problematic, for example, if you create a wrapper class loader for
> deserialization since it will ask for array types, since loadClass() doesn't
> know how to deal with them. On the other hand, Class.forName(String, boolean,
> ClassLoader) will deal with them automatically. There is an issue around
> Class.forName() where it caches results in a weird way, but this shouldn't
> impact this situation, since bundles class spaces are consistent show caching
> should be fine.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.