cayenne-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Lothar Krenzien <>
Subject Re: NullPointerException in LRUMap.reuseMapping (was DataRowStore.processUpdatedSnapshots)
Date Tue, 13 Jun 2006 15:38:02 GMT
Thanks for answer.

I've synchronized all acces to the member fields "snapshots" and "snapshotLists" (which are
of type LRUMap) ) in the class "DataRowStore" and the problem went away. Additionally I changed
the visibility for this two fields from "protected" to "private" and created a (synchronized)
getter for both.  In the class "DataDomainQueryAction"  in method "interceptOIDQuery"  I changed
the line 187 from "cache.snapshots" to "cache.getSnapshots()"  so that I use the new created
getter instead of direct access to the field.

If it helps you I could send you the changed sources or check in it in subversion.

Hope that helps

> On Jun 9, 2006, at 3:26 PM, Lothar Krenzien wrote:
> > Hi there ,
> >
> > I'm using the recent Cayenne version with Tomcat 5.5 and Java 5.  
> > Since a few days I get very often a NullPointerException from  
> > cayenne. Analysing the stack trace it seems that the exception is  
> > thrown by Apache's commons collection class LRUMap. I've found a  
> > possible solution at BugZilla:
> >
> >
> > There it is saied that it could be a synchronising problem. And I'm  
> > getting the exeption only after a while the server is running and  
> > lots of users are connected. Would it be possible to try the  
> > suggestions from BugZilla? There's another post of the same  
> > excption in this group a few days ago. So it seems to be a very  
> > serious problem.
> > 
> > 2006/06/0017.html
> Since you and Bryan are seeing the same issue independently, I'd say  
> this is a real bug. There are mixed reports under the LRUMap Bugzilla  
> ticket above on whether synchronizing the LRUMap fixes it. In any  
> event we'll have to deal with it in Cayenne in some way, so I opened  
> a Jira ticket [1] and will investigate.
> > What I've just realized that cayenne comes with it's own copy of  
> > common collections packed in the cayenne.jar. For me that seems not  
> > be very usefull. Instead of it I would prefer a link on the cayenne  
> > download page. That way I could independently update cayenne and/  
> > or commons collection.
> It is up to you whether to use bundled commons-collections or not.  
> There are cayenne.jar and cayenne-nodeps.jar [2].
> [1]
> [2] 
> +Dependencies
> Andrus

Verschicken Sie romantische, coole und witzige Bilder per SMS!
Jetzt bei WEB.DE FreeMail:

View raw message