[
https://issues.apache.org/jira/browse/SLING-1891?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Carsten Ziegeler resolved SLING-1891.
-------------------------------------
Resolution: Fixed
Changed in revision 1044241
> Replace Cass.forName uses by ClassLoader.loadClass
> --------------------------------------------------
>
> Key: SLING-1891
> URL: https://issues.apache.org/jira/browse/SLING-1891
> Project: Sling
> Issue Type: Bug
> Components: Extensions, JCR, Launchpad, Scripting
> Affects Versions: Scripting JSP 2.0.10, Scripting JavaScript 2.0.8,
> Scripting API 2.1.0, Launchpad Base 2.2.0, JCR Resource 2.0.6, Extensions
> Event 2.4.2
> Reporter: Felix Meschberger
> Assignee: Carsten Ziegeler
> Fix For: Scripting JSP 2.0.12, Scripting JavaScript 2.0.10,
> Scripting API 2.1.2, Launchpad Base 2.2.2, JCR Resource 2.0.8, Extensions
> Event 3.0.0
>
>
> Class.forName has a nasty problem in that it caches returned classes in the
> class load first asked (the initiator) in addition to the class loader
> actually defining the class. The ClassLoader.loadClass methods do not have
> this problem and only caches the loaded class in the defining class loader.
> Looking for uses in the Sling code base (using find . -name "*.java" -exec
> fgrep -l Class.forName {} \;) I found the following nice occurrences:
>
> launchpad/base/src/main/java/org/apache/sling/launchpad/base/impl/Sling.java
>
> bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/jcr/JCRHelper.java
>
> bundles/scripting/javascript/src/main/java/org/apache/sling/scripting/javascript/wrapper/ScriptableResource.java
>
> bundles/scripting/jsp/src/main/java/org/apache/sling/scripting/jsp/jasper/compiler/JspUtil.java
>
> bundles/scripting/jsp/src/main/java/org/apache/sling/scripting/jsp/jasper/compiler/TagPluginManager.java
>
> bundles/scripting/jsp/src/main/java/org/apache/sling/scripting/jsp/jasper/JspCompilationContext.java
> bundles/scripting/api/src/main/java/sun/misc/Service.java
>
> bundles/jcr/resource/src/main/java/org/apache/sling/jcr/resource/JcrPropertyMap.java
>
> contrib/explorers/gwt/src/main/java/org/apache/sling/explorer/client/widgets/tree/resource/ResourceTree.java
> For more information on this problem, I suggest reading the blog series by BJ
> Hargrave, probably starting with
> http://blog.bjhargrave.com/2007/09/classforname-caches-defined-class-in.html.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.