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:
http://issues.apache.org/bugzilla/show_bug.cgi?id=32573
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.
http://www.objectstyle.org/cayenne/lists/cayenne-user/2006/06/0017.html
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.
Here's the full stack trace:
java.lang.NullPointerException
at org.apache.commons.collections.map.LRUMap.reuseMapping(LRUMap.java:272)
at org.apache.commons.collections.map.LRUMap.addMapping(LRUMap.java:243)
at org.apache.commons.collections.map.AbstractHashedMap.put(AbstractHashedMap.java:282)
at org.objectstyle.cayenne.access.DataRowStore.processUpdatedSnapshots(DataRowStore.java:612)
at org.objectstyle.cayenne.access.DataRowStore.processSnapshotChanges(DataRowStore.java:571)
at org.objectstyle.cayenne.access.DataRowStore.snapshotsUpdatedForObjects(DataRowStore.java:313)
at org.objectstyle.cayenne.access.ObjectResolver.objectsFromDataRows(ObjectResolver.java:159)
at org.objectstyle.cayenne.access.ObjectResolver.synchronizedObjectsFromDataRows(ObjectResolver.java:134)
at org.objectstyle.cayenne.access.DataDomainQueryAction.interceptObjectConversion(DataDomainQueryAction.java:373)
at org.objectstyle.cayenne.access.DataDomainQueryAction.execute(DataDomainQueryAction.java:151)
at org.objectstyle.cayenne.access.DataDomain.onQuery(DataDomain.java:765)
at org.objectstyle.cayenne.util.ObjectContextQueryAction.runQuery(ObjectContextQueryAction.java:253)
at org.objectstyle.cayenne.access.DataContextQueryAction.execute(DataContextQueryAction.java:90)
at org.objectstyle.cayenne.access.DataContext.onQuery(DataContext.java:1422)
at org.objectstyle.cayenne.access.DataContext.performQuery(DataContext.java:1411)
at com.sunreader.sr2.back.dao.ProductDAO.isLoggerAlreadyAvailable(Unknown Source)
Thanks for any help.
Lothar
______________________________________________________________
Verschicken Sie romantische, coole und witzige Bilder per SMS!
Jetzt bei WEB.DE FreeMail: http://f.web.de/?mc=021193
This archive was generated by hypermail 2.0.0 : Fri Jun 09 2006 - 07:27:15 EDT