You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@sling.apache.org by "Felix Meschberger (JIRA)" <ji...@apache.org> on 2010/12/10 08:16:00 UTC
[jira] Created: (SLING-1891) Replace Cass.forName uses by
ClassLoader.loadClass
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: Extensions Event 2.4.2, JCR Resource 2.0.6, Launchpad Base 2.2.0, Scripting API 2.1.0, Scripting JavaScript 2.0.8, Scripting JSP 2.0.10
Reporter: Felix Meschberger
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.
[jira] Updated: (SLING-1891) Replace Class.forName uses by
ClassLoader.loadClass
Posted by "Carsten Ziegeler (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/SLING-1891?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Carsten Ziegeler updated SLING-1891:
------------------------------------
Summary: Replace Class.forName uses by ClassLoader.loadClass (was: Replace Cass.forName uses by ClassLoader.loadClass)
> Replace Class.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.
[jira] Assigned: (SLING-1891) Replace Cass.forName uses by
ClassLoader.loadClass
Posted by "Carsten Ziegeler (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/SLING-1891?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Carsten Ziegeler reassigned SLING-1891:
---------------------------------------
Assignee: Carsten Ziegeler
> 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.
[jira] Closed: (SLING-1891) Replace Class.forName uses by
ClassLoader.loadClass
Posted by "Carsten Ziegeler (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/SLING-1891?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Carsten Ziegeler closed SLING-1891.
-----------------------------------
> Replace Class.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.
[jira] Resolved: (SLING-1891) Replace Cass.forName uses by
ClassLoader.loadClass
Posted by "Carsten Ziegeler (JIRA)" <ji...@apache.org>.
[ 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.