Craig:
"This sounds like a bug in the jdo implementation. The use of evictAll  
should never cause side effects other than performance. That is, when  
you evict instances from the DataStoreCache, the effect is that  
access to the evicted instance must use the connection to the  
datastore instead of using the cached instance.
 
In fact, the use of the Multithreaded flag is intended to make your  
application run correctly with multiple threads using the same  
PersistenceManager at the expense of running slower."
 
That is what I thought as well, I just have a hard time convincing
them;-) Btw, we are not using the JPOX implementation, but Bea Kodo.
 
Craig:
"Multithreaded access to the PersistenceManagerFactory and  
DataStoreCache is always thread-safe. Note that access to the  
DataStoreCache is not related to PersistenceManager but  
PersistenceManagerFactory."
 
Yes, I am aware of that (has this some implications I should be aware of
in this case?). Note, that we have a 2-tier application so each pmf,
datastorecache and pm is instantiated at the client's machine and not
shared between multiple clients. This is probably different from a
n-tier application where all data access goes via the datastorecache on
the application server, and thus the datastorecache is most likely
in-sync with the datastore, unlike our approach and that is why we need
the refresh from datastore.
 
Kind regards,
Christiaan

 

Reply via email to