Hi all, do you have any suggestion/hint please? Have a nice Sunday :) Simone
On Wed, Nov 18, 2009 at 9:08 PM, Simone Tripodi <simone.trip...@gmail.com> wrote: > Hi Clinton, > sorry my mail was a little confusing - I took advantage from some > spare time during the work to reply quickly :P > > So, things are that I was able to use memcached in iBATIS 2 but I'm no > more able to (re)use the same stuff in iBATIS 3 . The "issue" - if I > can call it like this - is that, since memcached doesn't support > namespaces, when flushing the cache, I don't know which statements > I've to invalidate - in iBATIS2 was quite simple since the group > helped me a lot - and taking inspiration from what you did with > OSCache was more simple. > > BTW, here[1] you can find the Cache implementation I've been using - > nothing complicate - that just wraps the memcached client to > store/retrieve the cached objects. Also in this case, I took > inspiration from your cache decorator implementations to see how to > use the Cache interface. > > Finally, just to give you a tangible sample of the scenario I speak > (already reported on the iBATIS Wiki): I realized the REST-services > layer for this[2] online-radio using iBATIS2 as persistence layer, the > application is replicated on more than 2 servlet (I had to patch > iBATIS2 in way to supply the IBATIS-555 issue and notified on the dev > ML - [3]) container on different servers, using 3 nodes of memcached > server. > > Thanks in advance and thanks for your patience, best regards!!! > Simone > > [1] http://tinyurl.com/yb8vxl4 > [2] http://www.gooomradio.com/ > [3] http://tinyurl.com/ye43gas > > On Wed, Nov 18, 2009 at 7:38 PM, Clinton Begin <clinton.be...@gmail.com> > wrote: >> Maybe I don't understand... >> >> * Are you saying that you have this working in iBATIS 2, but can't get it >> to work with iBATIS 3? >> >> * Or you can't get it to work in either, but understand iB2 better so want >> it described in those terms? >> >> Cheers, >> Clinton >> >> On Wed, Nov 18, 2009 at 2:37 AM, Simone Tripodi <simone.trip...@gmail.com> >> wrote: >>> >>> Hi Clinton, >>> unfortunately the official version of Memcached - the one we've been >>> using on production for years - doesn't support namespaces/tags, there >>> is a patched version called Memcached-tags[1] but isn't officially >>> supported :( >>> Can you provide me please any idea how to supply this lack? Is there >>> any way to obtain the cache group, speaking in iBatis2 therms? >>> Thanks in advance, best regards >>> Simone >>> >>> [1] http://code.google.com/p/memcached-tag/ >>> >>> On Wed, Nov 18, 2009 at 7:49 AM, Simone Tripodi >>> <simone.trip...@gmail.com> wrote: >>> > Hi Clinton, >>> > thanks for your kind reply, I'll let you know ASAP the results of my >>> > tries if you're interested on :) >>> > Best regards, >>> > Simone >>> > >>> > On Wed, Nov 18, 2009 at 12:25 AM, Clinton Begin >>> > <clinton.be...@gmail.com> wrote: >>> >> I'll try to answer in two short statements to see if that helps. I >>> >> won't >>> >> have time to look through the code anytime soon... >>> >> >>> >> * I think you can solve the first problem of flushing the whole cache >>> >> by >>> >> passing the cache's namespace to memcached as a cache domain (I'm not >>> >> sure >>> >> what memcached calls them, but essentially flush only a partition or >>> >> group >>> >> of the cached elements (OSCache calls this a domain I believe). >>> >> >>> >> * The putObject isn't called until the end of the session, or when >>> >> commit >>> >> is called. It's a transactional cache, so if you rollback a >>> >> transaction >>> >> before closing the session or committing... the cache won't be updated >>> >> with >>> >> potentially erroneous or inconsistent data. >>> >> >>> >> Hope that helps, >>> >> Clinton >>> >> >>> >> On Tue, Nov 17, 2009 at 1:23 PM, Simone Tripodi >>> >> <simone.trip...@gmail.com> >>> >> wrote: >>> >>> >>> >>> Hi all guys, >>> >>> I've been doing some experiment using the last beta of iBatis 3 and >>> >>> I've the feeling you happily fixed the inglorious IBATIS-555 issue >>> >>> about the CacheKey unique hashcode generation on different JVMs :) >>> >>> >>> >>> Now I've been porting my old stuff to the new iBatis implementation >>> >>> and everything has worked fine until I plugged-in the cache, I really >>> >>> hope you can help me to understand where I'm wrong: I implemented a >>> >>> Memcached-based Cache class, wrapping the spy memcached client >>> >>> (code.google.com/p/spymemcached/), injecting a singleton instance to >>> >>> the Configuration programmatically using google-guice 2 and finally >>> >>> referenced in the sql-map via the snippet: >>> >>> >>> >>> <cache-ref namespace="memcached"/> >>> >>> >>> >>> What I noticed, reading the logs, is the following: >>> >>> * when flushing the statements defined in the sql map, is called the >>> >>> method org.apache.ibatis.cache.Cache#clear(): that makes me a little >>> >>> worried, because in a memcached context I ideally want to use just one >>> >>> memcached client instance and reference it in the whole application, >>> >>> when performing an insert operation I wouldn't flush the whole cache, >>> >>> but rather remove only the interested statements; since I'm still used >>> >>> to the old iBatis2 cache model, how can I fix it? >>> >>> * no data is cached, the method >>> >>> org.apache.ibatis.cache.Cache#putObject(Object,Object) is never >>> >>> called; >>> >>> >>> >>> All the code I've been producing is public, you can find it on >>> >>> google-code[1], and on the test directory you can find the scenario[2] >>> >>> I described >>> >>> >>> >>> Thanks in advance for your help, any kind of suggestion will be very >>> >>> appreciated!!! >>> >>> Simone >>> >>> >>> >>> >>> >>> [1] http://code.google.com/p/ibaguice/source/browse/#svn/trunk >>> >>> [2] >>> >>> >>> >>> http://code.google.com/p/ibaguice/source/browse/trunk/src/test/java/com/ibaguice/SimpleTestCase.java >>> >>> -- >>> >>> http://www.google.com/profiles/simone.tripodi >>> >>> >>> >>> --------------------------------------------------------------------- >>> >>> To unsubscribe, e-mail: user-java-unsubscr...@ibatis.apache.org >>> >>> For additional commands, e-mail: user-java-h...@ibatis.apache.org >>> >>> >>> >> >>> >> >>> > >>> > >>> > >>> > -- >>> > http://www.google.com/profiles/simone.tripodi >>> > >>> >>> >>> >>> -- >>> http://www.google.com/profiles/simone.tripodi >>> >>> --------------------------------------------------------------------- >>> To unsubscribe, e-mail: user-java-unsubscr...@ibatis.apache.org >>> For additional commands, e-mail: user-java-h...@ibatis.apache.org >>> >> >> > > > > -- > http://www.google.com/profiles/simone.tripodi > -- http://www.google.com/profiles/simone.tripodi --------------------------------------------------------------------- To unsubscribe, e-mail: user-java-unsubscr...@ibatis.apache.org For additional commands, e-mail: user-java-h...@ibatis.apache.org