> Every now and then (it really is random!) accessing a collection fails with
> a null pointer exception.
I assume you run this test in a multithreaded environment? If yes, your problem could be caused by object materialization in rc5. Before objects will be full materialized they have been put to cache, so another thread could find partial materialized objects, is fixed in rc6 and CVS head.
It's only speculation (maybe it's only a simple prefetching problem).
Do the same problem occur when a per broker cache was used (ObjectCachePerBrokerImpl)?
regards, Armin
Daniel Perry wrote:
Our large project is now reaching maturity, and is being trialed with some users finally! Despite quite large object trees, it is performing well (our strategy is proxying collections only). But we are having a few problems with collection proxies.
Every now and then (it really is random!) accessing a collection fails with a null pointer exception.
I will point out now that it is using RC5, not 6 (although the dev version is using 6). If this is likely to not occur with RC6 then please let me know!
A stack trace is shown below.
The code that caused this failure is:
List pdps = e.getPdps(); pdps.add(pdp); e.setPdps(pdps);
e is a persisted object, and pdps is a List (inverse-primary-key based collection)
Note that when this collapsed, pdps was an empty list. But normally this code works fine! And it's not only here that the problem occurs.
Daniel.
org.apache.ojb.broker.PersistenceBrokerException: java.lang.NullPointerException at org.apache.ojb.broker.accesslayer.CollectionProxy.loadData(Unknown Source) at org.apache.ojb.broker.accesslayer.ListProxy.loadData(Unknown Source) at org.apache.ojb.broker.accesslayer.CollectionProxy.getData(Unknown Source) at org.apache.ojb.broker.accesslayer.CollectionProxy.add(Unknown Source) at com.netcase.pdp.service.PDPDataService.createNewAppraisal(PDPDataService.jav a:386) ...
Caused by: java.lang.NullPointerException at org.apache.ojb.broker.accesslayer.BasePrefetcher.<init>(Unknown Source) at org.apache.ojb.broker.accesslayer.RelationshipPrefetcherImpl.<init>(Unknown Source) at org.apache.ojb.broker.accesslayer.CollectionPrefetcher.<init>(Unknown Source) at org.apache.ojb.broker.accesslayer.RelationshipPrefetcherFactory.createRelati onshipPrefetcher(Unknown Source) at org.apache.ojb.broker.core.QueryReferenceBroker$PBCollectionProxyListener.ge tPrefetcher(Unknown Source) at org.apache.ojb.broker.core.QueryReferenceBroker$PBPrefetchingListener.prefet ch(Unknown Source) at org.apache.ojb.broker.core.QueryReferenceBroker$PBCollectionProxyListener.be foreLoading(Unknown Source) at org.apache.ojb.broker.accesslayer.CollectionProxy.beforeLoading(Unknown Source) ... 41 more
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
