Re: IllegalStateException in DataRowStore (thrown by LRUMap)

From: Andrus Adamchik (andru..bjectstyle.org)
Date: Fri Jun 16 2006 - 05:27:14 EDT

  • Next message: Malcolm Edgar: "Re: Cayenne & Flex"

    On Jun 16, 2006, at 1:12 PM, Lothar Krenzien wrote:

    > I did it yesterday and now I'm getting the already known NPE again.
    > And I'm sure that I didn't changed the cayenne version. But what I
    > saw is that in the case of NPE always the same method of me is called.

    Very very strange... so this would confirm a suspicion that there is
    a bug in the LRUMap not related to synchronization.

    > Another question :
    > I have a class which is extended from 'WebApplicationListener'. In
    > the method 'sessionDestroyed' the following code is executed :
    >
    > ObjectStore objectStore = dctx.getObjectStore();
    > objectStore.objectsInvalidated(objectStore.getObjects());
    >
    > It that really neccessary ?

    It may or may not be useful. On the one hand, the ObjectStore is
    about to go out of scope at this point, so it (and all its objects)
    will be garbage collected without any extra help.

    One other thing that invalidate does is throwing away cached
    snapshots from the cache shared by other sessions. On the positive
    side it frees up some memory, on the negative - it removes items from
    cache that could've otherwise speed up object resolution in other
    sessions.

    I'd say keep it if your sessions share just a few objects between
    each other or share no objects at all; throw it away if the object
    sets significantly overlap between individual sessions.

    Andrus



    This archive was generated by hypermail 2.0.0 : Fri Jun 16 2006 - 05:27:41 EDT