Hi Steve,
this seems to be a bug in the #toXML() method of
JdbcConnectionDescriptor (the cascade call to ObjectCacheDescriptor is
missing). I will fix this. But this doesn't affect the
stability/usability of OJB.
To check the usage of your specified ObjectCacheDescriptor set the log
level of class CacheDistributor to DEBUG/INFO (if you use OJB's own
simple Logger change entry in OJB-logging.properties).
Then you should get something like:
[org.apache.ojb.broker.cache.CacheDistributor] INFO:
<====
Setup new object cache instance on CONNECTION LEVEL for
PersistenceBroker: [EMAIL PROTECTED]
descriptorBasedCache: false
Connection jcdAlias: default
Calling class: class org.apache.ojb.broker.StoredProcedureTest$Customer
ObjectCache:
[EMAIL PROTECTED]
org.apache.ojb.broker.cache.ObjectCacheTwoLevelImpl,Properties={autoSync=true,
cacheExcludes=,
copyStrategy=org.apache.ojb.broker.cache.ObjectCacheTwoLevelImpl$CopyStrategyImpl,
cachingKeyType=0, forceProxies=false, timeout=900,
applicationCache=org.apache.ojb.broker.cache.ObjectCacheDefaultImpl,
useSoftReferences=true}]
====>
Please let me know if this doesn't work.
regards,
Armin
Steve Vangasse wrote:
I'm having trouble setting up a JdbcConnectionDescriptor
programatically. I'm adding a ConnectionPoolDescriptor,
SequenceDescriptor and an ObjectCacheDescriptor to the
JdbcConnectionDescriptor but the ObjectCacheDescriptor doesn't appear
when I call JdbcConnectionDescriptor.toXML() and doesn't have any effect
when the application is running. Here is my code:
********
JdbcConnectionDescriptor jcd = new JdbcConnectionDescriptor();
jcd.setJcdAlias("mainConnection");
jcd.setDatasourceName("java:comp/env/jdbc/mainConnection");
jcd.setDbms("MySQL");
jcd.setJdbcLevel(3.0);
jcd.setBatchMode(false);
jcd.setUseAutoCommit(1);
jcd.setIgnoreAutoCommitExceptions(false);
ObjectCacheDescriptor ocd = new
ObjectCacheDescriptor(ObjectCacheTwoLevelImpl.class);
ocd.addAttribute("applicationCache",
"org.apache.ojb.broker.cache.ObjectCacheDefaultImpl");
ocd.addAttribute("copyStrategy",
"org.apache.ojb.broker.cache.ObjectCacheTwoLevelImpl$CopyStrategyImpl");
ocd.addAttribute("timeout", "900");
ocd.addAttribute("autoSync", "true");
ocd.addAttribute("cachingKeyType", "1");
ocd.addAttribute("useSoftReferences", "true");
log.debug(ocd.toXML());
ConnectionPoolDescriptor cpd = new ConnectionPoolDescriptor();
cpd.setLogAbandoned(true);
cpd.setValidationQuery("SELECT 1");
jcd.setConnectionPoolDescriptor(cpd);
jcd.setObjectCacheDescriptor(ocd);
jcd.setSequenceDescriptor(new SequenceDescriptor(jcd,
SequenceManagerNativeImpl.class));
connectionRepository.addDescriptor(jcd);
log.debug(jcd.toXML());
*********
I can't use an XML file for reasons I won't go into here. Can anyone see
what I might be doing wrong here? Has anyone else attempted to do this?
Any help would be much appreciated.
Thanks,
Steve Vangasse
Boardshop.co.uk - Board Sports Equipment and Clothing for the UK and Europe
www.boardshop.co.uk
0870 0600 688
---------------------------------------------------------------------
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]