Jair da Silva Ferreira J�nior wrote:
Hi Armin, Thank you very much for your fast reply.
it's a(/my) bug in ObjectCacheDefaultImpl (rc5) causing this strange behaviour. I will check in a fixed version tomorrow.
Ok. How can I get the fixed ObjectCacheDefaultImpl implementation? Only through CVS?
Yes, it's in CVS head. Release date of final 1.0 is 04 Jan (+-?days) and it will contain all fixes.
Are you going to deploy a new rc5 binary version with this fix?If you interested in a binary CVS snapshoot I can send you one.
regards, Armin
Thanks, Jair Jr
Jair da Silva Ferreira J�nior wrote:
Hi, I am using ojb1.0_rc5, ODMG api with OJB queries, mysql4 (innodb
tables) in Linux Red Hat 7.3 (kernel 2.4.20-20.7).
I moved from rc4 to rc5 recently and I noticed that sometimes when I
run a query the resulting associated objects don't come from the cache. Please, take a look at the above code to better undestand what I am saying:
Transaction t=implementation.newTransaction(); t.begin(); Person p=new Person(); t.lock(p,t.WRITE); p.setName("somebody"); Dog d=new Dog(); t.lock(d,t.WRITE); d.setName("Spike"); p.setDog(d); t.commit();
t=implementation.newTransaction(); t.begin(); Criteria crit=new Criteria(); crit.addEqualTo("_id",new Integer(p.getId())); QueryByCriteria query=QueryFactory.newQuery(Person.class,crit); PersistenceBroker broker=((HasBroker)t).getBroker(); broker.removeFromCache(p); Person loaded=(Person)broker.getObjectByQuery(query); boolean cacheOk=(loaded.getDog()==d); //here cacheOk==false sometimes t.commit();
The atributes (proxy, refresh, auto-retrieve, auto-update and
auto-delete) in the reference-descriptor for the association between Person and Dog have default values. This way, refresh="false".
This problem does not happen everytime. So, sometimes cacheOk==true. I wasn't able to reproduce this problem in a test case, but it does
happen sometimes.
I've used rc4 for a long time and I've never had this kind of
problem.
Here's my cache configuration in OJB.properties:
ObjectCacheClass=org.apache.ojb.broker.cache.ObjectCacheDefaultImpl
descriptorBasedCaches=false
Thanks, Jair Jr
--------------------------------------------------------------------- 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]
