I got the configuration right, so OJB is now using oscache, but OJB is
still updating objects that haven't changed.
In my test I create a new object, persist it, sleep for 5 seconds, and
then persist it again. The first store does an insert, and the second
store does an update. We have a timestamp column in this object, that
is getting updated when nothing changes. Here is the field-descriptor
for that timestamp column:
<field-descriptor
name="lastModifiedDate"
column="LAST_MODIFIED_DTM"
jdbc-type="TIMESTAMP"
conversion="org.apache.ojb.broker.accesslayer.conversions.JavaDate2SqlTi
mestampFieldConversion"
/>
I have verified that the object is in the cache before the second store.
Is the conversion what is causing OJB to think that the object has
changed? If so, how do we get a timestamp field to update only when one
of the other fields has changed? If not, what else could be the
problem? Where should I look?
-----Original Message-----
From: Lemke, Wesley
Sent: Wednesday, April 27, 2005 2:41 PM
To: 'OJB Users List'
Subject: RE: Which Object Cache am I using?
I am using 1.0.2. I'll look into the docs, thanks!
-----Original Message-----
From: Armin Waibel [mailto:[EMAIL PROTECTED]
Sent: Wednesday, April 27, 2005 2:40 PM
To: OJB Users List
Subject: Re: Which Object Cache am I using?
Hi Wes,
which version of OJB do you use? In OJB >1.0.2 the setting of
ObjectCache is moved to repository file (see release note and caching
docs).
regards,
Armin
Lemke, Wesley wrote:
> I seem to be having problems with our object cache. Items are getting
> updated in the database even when nothing has changed. I am using
> oscache, as described in the OptimisitcLocking tutorial, and this is
> what I have in OJB.properties:
>
> #ObjectCacheClass=org.apache.ojb.broker.cache.ObjectCacheDefaultImpl
> ObjectCacheClase=com.lmig.pm.affinity.persistence.cache.ObjectCacheOSC
> ac
> heImpl
> #ObjectCacheClass=org.apache.ojb.broker.cache.ObjectCacheEmptyImpl
> #ObjectCacheClass=org.apache.ojb.broker.cache.ObjectCachePerBrokerImpl
> #ObjectCacheClass=org.apache.ojb.broker.cache.ObjectCacheJCSPerClassIm
> pl
> #ObjectCacheClass=org.apache.ojb.broker.cache.ObjectCachePerClassImpl
>
> However, when I started to debug my problem I noticed that none of the
> methods in ObjectCacheOSCacheImpl were being called. So I put some
> print statements in
> (broker.serviceObjectCache().getClass().getName()),
> and it looks like the Object Cache being used is either:
> org.apache.ojb.broker.cache.MaterializationCache or
> org.apache.ojb.broker.cache.CacheDistributor. I have read that
> MaterializationCache is a type of interal wrapper cache. Why isn't
OJB
> using my ObjectCacheOSCacheImpl?
>
> ---------------------------------------------------------------------
> 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]