ibatis-user-java mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Larry Meadors <larry.mead...@gmail.com>
Subject Re: Cache not being flushed
Date Thu, 30 Jun 2005 12:29:47 GMT
Are you using namespaces?

Larry


On 6/29/05, Clinton Begin <clinton.begin@gmail.com> wrote:
> 
>  It looks right....but this is the second time this has been reported in
> recent months.  We have about 6 unit tests just to verify cache flushing on
> execution, so I'm not sure what it could be.  Any chance you could debug
> using the ibatis source code, so you could step through the cache model?
> (put a breakpoint in CacheModel or in LRUCacheController...probably the
> flush method of either...)
>  
>  Cheers,
>  Clinton
> 
> 
>  
>  
> On 6/28/05, Rao, Satish <satish.rao@fmr.com> wrote:
> > 
> > 
> > I have the following xml 
> > 
> > <sqlMap namespace ="User"> 
> >         <cacheModel id ="user-cache" type= "LRU" readOnly="false"
> serialize="true" > 
> >                 <flushInterval hours ="24"/> 
> >                 <flushOnExecute statement ="addUser"/> 
> >                 <flushOnExecute statement ="removeUser"/> 
> >                 <flushOnExecute statement ="addEmail"/> 
> >                 <flushOnExecute statement ="removeUserEmails"/> 
> >                 <property name ="cache-size" value= "1000"/> 
> >         </cacheModel> 
> >         <resultMap id ="list-users-result" class=
> "com.fmr.gift.strutsplus.domain.User"> 
> >                 <result property ="id" column= "UID"/> 
> >                 <result property ="age" column= "AGE"/> 
> >                 <result property ="firstname" column= "FIRSTNAME"/> 
> >                 <result property ="lastname" column= "LASTNAME"/> 
> >                 <result property ="eventsJoined" column= "UID"
> select="getEventsJoinedByUserId" /> 
> >                 <result property ="emails" column= "UID"
> select="getEmailsbyUserId" /> 
> >         </resultMap> 
> >         <select id ="listUsers" resultMap= "list-users-result"
> cacheModel="user-cache" > 
> >             SELECT 
> >                 UID, 
> >                 AGE, 
> >                 FIRSTNAME, 
> >                 LASTNAME 
> >             FROM 
> >                 USERS 
> >         </select> 
> >         <delete id ="removeUser" parameterClass= "java.lang.Long"> 
> >             DELETE FROM 
> >                 USERS 
> >             WHERE 
> >                 UID = #value# 
> >         </delete> 
> > </sqlMap> 
> > 
> > The caching works fine for select. But when I delete a user, I expected
> the cache to be be flushed because of the following entry in cache model -
> <flushOnExecute statement="removeUser"/> . This does not happen. When I
> perform removeUser operation, the user list is displayed again and shows the
> user id that was deleted. 
> > 
> > Am I doing anything wrong here? 
> > 
> > 
> 
>

Mime
View raw message