You are viewing a plain text version of this content. The canonical link for it is here.
Posted to ojb-user@db.apache.org by "DiCorpo, Phillip" <ph...@vontu.com> on 2006/02/09 21:09:45 UTC

ArrayIndexOutOfBoundsException in PersistenceBrokerAbstractImpl

I'm using ODMG and OJB 1.0.4.  Any reason why I would be seeing the
following exception?  Looking at the code I could only see this possibly
happening if more than one thread is accessing the array of
temporateStateListeners.  Thanks in advance for the help,

--Phil

2006-02-09 03:14:48 StandardContext[/Example]Thread: 15 SEVERE
[org.apache.ojb.broker.accesslayer.RsIterator] Error when try to remove
RsIterator resource listener
Cause:
java.lang.ArrayIndexOutOfBoundsException: 0
java.lang.ArrayIndexOutOfBoundsException: 0
	at
org.apache.ojb.broker.core.PersistenceBrokerAbstractImpl.removeListener(
PersistenceBrokerAbstractImpl.java:205)
	at
org.apache.ojb.broker.accesslayer.RsIterator.release(RsIterator.java:836
)
	at
org.apache.ojb.broker.accesslayer.RsIterator.releaseDbResources(RsIterat
or.java:817)
	at
org.apache.ojb.broker.accesslayer.RsIterator.autoReleaseDbResources(RsIt
erator.java:862)
	at
org.apache.ojb.broker.accesslayer.RsIterator.hasNext(RsIterator.java:236
)
	at
org.apache.ojb.broker.accesslayer.BasePrefetcher.prefetchRelationship(Ba
sePrefetcher.java:111)
	at
org.apache.ojb.broker.core.QueryReferenceBroker.performRetrievalTasks(Qu
eryReferenceBroker.java:381)
	at
org.apache.ojb.broker.core.QueryReferenceBroker.getCollectionByQuery(Que
ryReferenceBroker.java:176)
	at
org.apache.ojb.broker.core.QueryReferenceBroker.getCollectionByQuery(Que
ryReferenceBroker.java:263)
	at
org.apache.ojb.broker.core.PersistenceBrokerImpl.getCollectionByQuery(Pe
rsistenceBrokerImpl.java:1476)
	at
org.apache.ojb.broker.core.DelegatingPersistenceBroker.getCollectionByQu
ery(DelegatingPersistenceBroker.java:373)
	at
org.apache.ojb.broker.core.DelegatingPersistenceBroker.getCollectionByQu
ery(DelegatingPersistenceBroker.java:373)
	at
org.apache.ojb.broker.core.proxy.CollectionProxyDefaultImpl.loadData(Col
lectionProxyDefaultImpl.java:193)
	at
org.apache.ojb.broker.core.proxy.ListProxyDefaultImpl.loadData(ListProxy
DefaultImpl.java:148)
	at
org.apache.ojb.broker.core.proxy.CollectionProxyDefaultImpl.getData(Coll
ectionProxyDefaultImpl.java:513)
	at
org.apache.ojb.broker.core.proxy.CollectionProxyDefaultImpl.iterator(Col
lectionProxyDefaultImpl.java:291)

---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-user-help@db.apache.org


Re: ArrayIndexOutOfBoundsException in PersistenceBrokerAbstractImpl

Posted by Armin Waibel <ar...@apache.org>.
Hi Phil,

DiCorpo, Phillip wrote:
> I'm using ODMG and OJB 1.0.4.  Any reason why I would be seeing the
> following exception?  Looking at the code I could only see this possibly
> happening if more than one thread is accessing the array of
> temporateStateListeners.  Thanks in advance for the help,
> 

I agree with you, this seems to be a concurrency problem. 
PersistenceBroker instances are not thread safe, each thread have to use 
its own instance.
If this isn't the cause of your problem, please describe more detailed 
what's happen before the exception occur.

regards,
Armin



> --Phil
> 
> 2006-02-09 03:14:48 StandardContext[/Example]Thread: 15 SEVERE
> [org.apache.ojb.broker.accesslayer.RsIterator] Error when try to remove
> RsIterator resource listener
> Cause:
> java.lang.ArrayIndexOutOfBoundsException: 0
> java.lang.ArrayIndexOutOfBoundsException: 0
> 	at
> org.apache.ojb.broker.core.PersistenceBrokerAbstractImpl.removeListener(
> PersistenceBrokerAbstractImpl.java:205)
> 	at
> org.apache.ojb.broker.accesslayer.RsIterator.release(RsIterator.java:836
> )
> 	at
> org.apache.ojb.broker.accesslayer.RsIterator.releaseDbResources(RsIterat
> or.java:817)
> 	at
> org.apache.ojb.broker.accesslayer.RsIterator.autoReleaseDbResources(RsIt
> erator.java:862)
> 	at
> org.apache.ojb.broker.accesslayer.RsIterator.hasNext(RsIterator.java:236
> )
> 	at
> org.apache.ojb.broker.accesslayer.BasePrefetcher.prefetchRelationship(Ba
> sePrefetcher.java:111)
> 	at
> org.apache.ojb.broker.core.QueryReferenceBroker.performRetrievalTasks(Qu
> eryReferenceBroker.java:381)
> 	at
> org.apache.ojb.broker.core.QueryReferenceBroker.getCollectionByQuery(Que
> ryReferenceBroker.java:176)
> 	at
> org.apache.ojb.broker.core.QueryReferenceBroker.getCollectionByQuery(Que
> ryReferenceBroker.java:263)
> 	at
> org.apache.ojb.broker.core.PersistenceBrokerImpl.getCollectionByQuery(Pe
> rsistenceBrokerImpl.java:1476)
> 	at
> org.apache.ojb.broker.core.DelegatingPersistenceBroker.getCollectionByQu
> ery(DelegatingPersistenceBroker.java:373)
> 	at
> org.apache.ojb.broker.core.DelegatingPersistenceBroker.getCollectionByQu
> ery(DelegatingPersistenceBroker.java:373)
> 	at
> org.apache.ojb.broker.core.proxy.CollectionProxyDefaultImpl.loadData(Col
> lectionProxyDefaultImpl.java:193)
> 	at
> org.apache.ojb.broker.core.proxy.ListProxyDefaultImpl.loadData(ListProxy
> DefaultImpl.java:148)
> 	at
> org.apache.ojb.broker.core.proxy.CollectionProxyDefaultImpl.getData(Coll
> ectionProxyDefaultImpl.java:513)
> 	at
> org.apache.ojb.broker.core.proxy.CollectionProxyDefaultImpl.iterator(Col
> lectionProxyDefaultImpl.java:291)
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
> For additional commands, e-mail: ojb-user-help@db.apache.org
> 
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-user-help@db.apache.org