--- Eric Everman <[EMAIL PROTECTED]> wrote:
> Thanks Aaron - > > On the subject of passing my own properties: What > is the proper way > to do that? Here's an FAQ entry on the topic: http://jakarta.apache.org/jcs/faq.html#manual-configuration I'd like to do it once for all (just as > the > setConfigFilePath method works) so that any code in > the application > using JCS.getInstance(region) will read that same > set of properties. > Configure JCS with your own properties before any calls to JCS.getInstance(); you can do it in a startup servlet or something like that. Cheers, Aaron > Thanks, > > --ee > > > On Sep 7, 2006, at 7:29 PM, Aaron Smuts wrote: > > > 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] > > > --------------------------------------------------------------------- > 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]