You should put the jcs jar in your war. You shouldn't
share libraries across applcations, but that is a
different problem.  . . .  I'll make the classloader
change.  

For now, you can pass in the properties object after
loading it yourself.

Cheers,

Aaron

--- Eric Everman <[EMAIL PROTECTED]> wrote:

> Hi -
> 
> We are trying to use JCS in a servlet environment w/
> a non-default  
> configuration file name.  We consistently get this
> error:
> 
>
========================================================================
> 
> ====
> Sep 7, 2006 9:35:26 AM  
> org.apache.jcs.engine.control.CompositeCacheManager
> configure
> SEVERE: Failed to load properties for name
> [/oracle_map_cache.ccf]
>
========================================================================
> 
> ====
> 
> I believe the problem is on line 206 of  
> org.apache.jcs.engine.control.CompositeCacheManager
> :
> 
>
========================================================================
> 
> ====
> 206   InputStream is =
> getClass().getResourceAsStream( propFile );
>
========================================================================
> 
> ====
> 
> This probably works in most environments, but in a
> servlet  
> environment, the classloaders are a bit odd and its
> possible that the  
> classloader that loaded the JCS classes cannot see
> the location of  
> the config file (it may have been loaded by a
> different class  
> loader).  Instead, I think that line should be
> changed to:
> 
>
========================================================================
> 
> ====
> InputStream is =
> Thread.currentThread().getContextClassLoader 
> ().getResourceAsStream( propFile );
>
========================================================================
> 
> ====
> 
> ...which should work in all environments (I think). 
> The existing  
> class.getResource() method loads from the same
> classloader that  
> loaded the JCS classes, whereas the
> context.getResource() loads from  
> the context classloader.  Often those are the same
> loaders, but not  
> always.  I suppose that the safest thing to do would
> be to have the  
> config try to load from the context loader, then
> failover to the  
> current loader.
> 
> There is an article relating to this at: 
> http://www.javaworld.com/ 
> javaworld/javaqa/2003-06/01-qa-0606-load.html
> 
>  From the article, it seems to me that this could
> also be a mild  
> error in how classloaders are setup in my
> environment (I'm using  
> Oracle's OC4J), but the article does differentiate
> b/t the various  
> types of loaders.
> 
> Thanks -
> 
> Eric Everman
> 
> 
>
---------------------------------------------------------------------
> To unsubscribe, e-mail:
> [EMAIL PROTECTED]
> For additional commands, e-mail:
> [EMAIL PROTECTED]
> 
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to