[ 
https://issues.apache.org/jira/browse/COCOON-2068?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12498669
 ] 

solprovider commented on COCOON-2068:
-------------------------------------

Hi Carlsten,

I changed the code and comment for this entry after thinking for a moment.  
Thanks for the quick response.

My environment is SAP Portal.  The best method to install Cocoon would be as a 
servlet in the WAS, but that is politically improbable so I am converting 
Cocoon to a PAR. ("Portal Archive" PAR = SAP Portal's corruption of the EAR 
standard.  I have not investigated Sun's "Provider Archive" PAR.)  A PAR may be 
more flexible than a servlet.  SAP does not worry about standards so this will 
be fun.   My effort should also discover issues typically unnoticed by people 
using the Jetty or Tomcat environments (as in yesterday's report.)

Adding the correct directories to the ClassLoader would be good, but I have yet 
to find a method to create the directory paths to where the files are located.  
The files in a PAR are distributed to several directories.  The SAP method is 
to use "ResourceBundles", but that is more customization than should be 
necessary.

Next is architecting how to call getResource from ClassUtils using the 
ServletContext rather than the ClassLoader because the ClassLoader cannot find 
files in the JAR calling it.  Creating a generic solution is difficult because 
Cocoon isolates the servlet class.  I may void the warranty with that patch.

> Add failover for loading classes.
> ---------------------------------
>
>                 Key: COCOON-2068
>                 URL: https://issues.apache.org/jira/browse/COCOON-2068
>             Project: Cocoon
>          Issue Type: Improvement
>          Components: * Cocoon Core
>    Affects Versions: 2.1.10
>            Reporter: solprovider
>            Priority: Minor
>
> The ClassLoader from currentThread.getContextClassLoader() was unable to 
> retrieve classes in my environment.  Add fallback to standard Java class 
> loading.
> NOTE: The two "set" lines would work in either order.  I believe Cocoon is 
> using a custom ClassLoader to dynamically load changes so the custom method 
> must be tried first.  (The auto-reload ability will be lost for environments 
> using the fallback, but at least they will be able to use Cocoon.)
> public class ClassUtils{
>    public static Class loadClass(String className) throws 
> ClassNotFoundException{
>       Class ret;
>       try{
>          ret= ClassUtils.getClassLoader().loadClass(className);
>       }catch(ClassNotFoundException e){
>           ret= Class.forName(className);
>      }
>       return ret;
>    }
> }

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to