I haven't profiled L2 caching done by database, if someone has I'd 
really be interested in results.

Anyway, I wouldn't use WeakReference for caching, SoftReference seems to 
be better alternative.

-Matej

Geoff hendrey wrote:
> No doubt L2 caching can speed up apps. Most databases
> implement caching already. With L2 cache comes another
> set of problems, and when you get deep enough into
> them, you may wish you had not used the L2 cache, but
> simply relied on effective caching in the database. On
> the other hand, many L2 caching layers are out there,
> and can be easily used with a pojo, whether the pojo
> was retrieved by shades or not.
> 
> WeakHashMap will discard your key/val pair during the
> first garbage collection cycle after your program
> holds no references to the key."An entry in a
> WeakHashMap will automatically be removed when its key
> is no longer in ordinary use"...from the javadoc.
> 
> 
> 
> --- Matej Knopp <[EMAIL PROTECTED]> wrote:
> 
>> I was more concerned about second level cache. When
>> using loadable 
>> detachable models it is possible to hold only object
>> id in session, 
>> loading the entire object on the beginning on
>> request. In this scenario 
>> second level cache really helps. I think this is
>> feature that lot of 
>> people would be missing.
>>
>>  > If your application does not keep a reference
>>> to the pojo, the pojo doesn't stay in the cache.
>> What
>>> kind of cache is that? :-)
>> I think using soft references, the objects would be
>> evicted only if out 
>> of memory is about to happen.
>>
>> -Matej
>>
>>> --- Matej Knopp <[EMAIL PROTECTED]> wrote:
>>>
>>>> And how is caching done if you can't query
>> objects
>>>> by identity? Or does 
>>>> this question make even sense?
>>>>
>>>> -Matej
>>>>
>>>> Geoff hendrey wrote:
>>>>> Ohh my god yes!!!!
>>>>>
>>>>> I ran into all these problems in JDOMax, and
>> they
>>>> are
>>>>> all solved in Shades.
>>>>>
>>>>> I won't drop the name, but some very influential
>>>>> person on EJB and JDO specs now believe that
>>>> exposing
>>>>> object identity in the form of API's was a
>>>> mistake.
>>>>> I agree -- you will notice shades has no methods
>>>> to
>>>>> retrieve an object by identity. Shades only has
>>>>> queries.
>>>>>
>>>>> -geoff
>>>>>
>>>>>
>>>>>
>>>>> --- Igor Vaynberg <[EMAIL PROTECTED]>
>> wrote:
>>>>>> another interesting problem i find with
>> identity
>>>> in
>>>>>> full blown orms is that
>>>>>> it can cause a nasty cascade of loading object
>>>> graph
>>>>>> when using "business"
>>>>>> identity instead of db identity.
>>>>>>
>>>>>> if you have school->semester->class
>> relationships
>>>>>> and you do not want to
>>>>>> depend on db identity which is the
>> "recommended"
>>>> way
>>>>>> most likely you will
>>>>>> have
>>>>>>
>>>>>> class.equals(class other) {
>>>>>> this.name.equals(other.name
>>>>>> )&&this.semester.equals(other.semster); }
>>>>>> semester.equals(semester other) {
>>>>>> this.code.equals(other.code
>>>>>> )&&this.school.equals(other.school); }
>>>>>>
>>>>>> so now every time you equals/hashcode a class
>> you
>>>>>> load the semester and the
>>>>>> school. given they they are loaded-by-id and
>>>> might
>>>>>> be in 2nd level
>>>>>> cache....but still. this is the kind of
>> troubles
>>>> you
>>>>>> always have when
>>>>>> working on such a highly abstracted level that
>>>>>> doesnt always map properly to
>>>>>> the bare metal.
>>>>>>
>>>>>> -Igor
>>>>>>
>>>>>>
>>>>>> On 8/26/06, Geoff hendrey
>>>> <[EMAIL PROTECTED]>
>>>>>> wrote:
>>>>>>> Sure - but honestly I don't want to convince
>>>>>> anyone
>>>>>>> they need Shades.
>>>>>>>
>>>>>>> One problem I found with JDO was that the
>>>>>>> PersistenceManager was not serializable.
>> Another
>>>>>> is
>>>>>>> that detachment had to be handled explicitely.
>>>>>>>
>>>>>>> In Shades all pojo's are inherently detached.
>>>>>> Change
>>>>>>> tracking is automagic. The DatabaseSession is
>>>>>>> ultra-leightweight and totally appropriate for
>>>>>> keeping
>>>>>>> in a Session.
>>>>>>>
>>>>>>> A big innovation in Shades is how identity is
>>>>>> handled
>>>>>>> - that really solved a lot of problems for me
>>>>>> related
>>>>>>> to change of identity within transactions.
>>>>>> Identity is
>>>>>>> a much more fluid concept in Shades, due to
>> the
>>>>>>> dynamic ORMapping interface, which you can
>> even
>>>>>>> implement on the fly as an anonynmous inner
>>>> class.
>>>>>>> To be clear, I found ways to make JDO work
>> just
>>>>>> fine
>>>>>>> with Wicket. Certainly JDO was a huge step
>>>> forward
>>>>>> in
>>>>>>> making it easier to use Pojo-based frameworks
>>>> like
>>>>>>> Wicket.
>>>>>>>
>>>>>>> I blogged a bit on my motivation for Shades:
>>>>>>> http://notskateboarding.blogspot.com/
>>>>>>>
>>>>>>> -geoff
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --- Igor Vaynberg <[EMAIL PROTECTED]>
>>>> wrote:
>>>>>>>> i glanced over the code - but i dont get it
>>>>>> after
>>>>>>>> the first glance. perhaps
>>>>>>>> you can explain what difficulties you hit
>> when
>>>>>> using
>>>>>>>> wicket and an orm to
>>>>>>>> help us better understand.
>>>>>>>>
>>>>>>>> seems to me like you are trying to work with
>> a
>>>>>> ui
>>>>>>>> connected to a persistence
>>>>>>>> layer - without a service layer in between.
>>>> have
>>>>>> you
>>>>>>>> seen databinder which
>>>>>>>> glues wicket and hibernate together?
>>>>>>>>
>>>>>>>> also your point about wicket and tapestry -
>>>>>> wicket
>>>>>>>> is much more flexible
>>>>>>>> because it has IModel which gives you an
>> extra
>>>>>> layer
>>>>>>>> of indirection that can
>>>>>>>> hide a lot of orm logic and make the code
>>>>>>>> cleaner/easier.
>>>>>>>>
>>>>>>>> -Igor
>>>>>>>>
>>>>>>>>
>>>>>>>> On 8/26/06, Geoff hendrey
>>>>>> <[EMAIL PROTECTED]>
>>>>>>>> wrote:
>>>>>>>>> Hi All,
>>>>>>>>>
>>>>>>>>> I was one of the early users of Wicket
>> before
>>>>>> 1.0.
>>>>>>>> I
>>>>>>>>> did a lot of work to use Wicket with my JDO
>>>>>>>>> implementation JDOMax (no longer supported).
>>>>>> In
>>>>>>>> the
>>>>>>>>> process I learned a lot about why it is
>> harder
>>>>>>>> than it
>>>>>>>>> has to be to use many ORM frameworks with
>>>>>> Wicket
>>>>>>>> and
>>>>>>>>> Tapestry.
> === message truncated ===
> 
> 
> -------------------------------------------------------------------------
> Using Tomcat but need to do more? Need to support web services, security?
> Get stuff done quickly with pre-integrated technology to make your job easier
> Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
> http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
> _______________________________________________
> Wicket-user mailing list
> Wicket-user@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/wicket-user
> 


-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user

Reply via email to