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

---------------------------------------------------------------------
To unsubscribe, e-mail: user-java-unsubscr...@ibatis.apache.org
For additional commands, e-mail: user-java-h...@ibatis.apache.org

Reply via email to