ibatis-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Clinton Begin" <clinton.be...@gmail.com>
Subject Re: FIX?: protected static ThreadLocal localSqlMapSession = new ThreadLocal();
Date Fri, 11 Jul 2008 16:18:18 GMT
This is not the right fix for this problem (I suggest changing back those
other deployments).  Make the cache read-only or serializable... either will
work.  Note that simply making it read-only and then modifying the data
(i.e. lying to the framework) will get you into trouble.

The two settings are confusing and have been simplified in iBATIS 3 to
simply:  "ReadWrite" which must contain only serializable/immutable objects
objects, or "ReadOnly", which can contain anything, but you are still
responsible for not changing the data.


On Fri, Jul 11, 2008 at 9:56 AM, Vic Cekvenich <vic@phonezoo.com> wrote:

> Before:
> protected ThreadLocal localSqlMapSession = new ThreadLocal();
> After:
> protected static ThreadLocal localSqlMapSession = new ThreadLocal();
> in SqlMapClientImpl
> Rationale:
> People(me) expect the cache to be "container"(war) wide, and not "session"
> based. Ex: I have user1 pull put client 101,102,103, user2 pulls up 104 and
> 103: 103 should be in cache already, a cache hit. The FIX? should disable
> the cache checking the session as part of the key.
> At least it should be a "property" in "ibatis.xml" to turn on/off and some
> docs.
> I did this at a few ibatis deployments....
> .V

View raw message