java - Creating Apache JCS cache confilicts when using in a library -
long story short, have created library using apache jcs manage own objects. using
compositecachemanager ccm compositecachemanager.getunconfiguredinstance(); properties props = new properties(); props.load(fis); ccm.configure(props); compositecache<serializable, serializable> cache = ccm.getcache(cache_name);
above, reads configuration file , loads cache manager , works when testing library test application.
but in real application, using jcs manage application related objects , problem occurs.
when application booting up, first instantiates application cache manager , loads configurations , create intended.
but library's cache manager, not use configurations @ , sounds instantiates default cache instance. example in library's configuration have:
jcs.region.myregion=dcache jcs.region.myregion.cacheattributes=org.apache.commons.jcs.engine.compositecacheattributes jcs.region.myregion.cacheattributes.maxobjects=1200 jcs.region.myregion.cacheattributes.memorycachename=org.apache.commons.jcs.engine.memory.lru.lrumemorycache jcs.region.myregion.cacheattributes.diskusagepattern=update
the dchache auxiliary defined as:
jcs.auxiliary.dcache=org.apache.commons.jcs.auxiliary.disk.indexed.indexeddiskcachefactory jcs.auxiliary.dcache.attributes=org.apache.commons.jcs.auxiliary.disk.indexed.indexeddiskcacheattributes jcs.auxiliary.dcache.attributes.diskpath=lib_data_dir jcs.auxiliary.dcache.attributes.maxpurgatorysize=10000 jcs.auxiliary.dcache.attributes.maxkeysize=10000 jcs.auxiliary.dcache.attributes.optimizeatremovecount=300000 jcs.auxiliary.dcache.attributes.maxrecyclebinsize=7500
the evidences show not using relevant configurations are: creates myregion's diskusagepattern swap (i tried diskusagepatternname not make differences).
it not use lib_data_dir disckpath. instead uses 1 defined application's configuration.
if comment the application's jcs related codes, works library's jcs.
i tried jcs.getinstance("cache_name") makes no differences.
do guys have idea?
after couple of hours digging problem figured jcs having hard time dealing separated configuration files. sounds jcs can configured once using config file per java virtual machine.
so ended using 1 file configure jcs. way if application instantiates jcs firs, loads library's configurations , later inside library works well.
Comments
Post a Comment