Hi All
It seems OJB has a multi thread unsafe behaviour when handling M:N
relations:
java.util.ConcurrentModificationException
at java.util.HashMap$HashIterator.nextEntry(HashMap.java:762)
at java.util.HashMap$KeyIterator.next(HashMap.java:798)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.deleteMtoNImplementor(P
ersistenceBrokerImpl.java:970)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.storeCollections(Persis
tenceBrokerImpl.java:785)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.storeToDb(PersistenceBr
okerImpl.java:2007)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.store(PersistenceBroker
Impl.java:1889)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.store(PersistenceBroker
Impl.java:665)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.storeReferences(Persist
enceBrokerImpl.java:692)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.storeToDb(PersistenceBr
okerImpl.java:1954)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.store(PersistenceBroker
Impl.java:1889)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.store(PersistenceBroker
Impl.java:665)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.storeReferences(Persist
enceBrokerImpl.java:692)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.storeToDb(PersistenceBr
okerImpl.java:1954)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.store(PersistenceBroker
Impl.java:1889)
at
org.apache.ojb.broker.core.PersistenceBrokerImpl.store(PersistenceBroker
Impl.java:665)
at
org.apache.ojb.broker.core.DelegatingPersistenceBroker.store(DelegatingP
ersistenceBroker.java:160)
at
org.apache.ojb.broker.core.DelegatingPersistenceBroker.store(DelegatingP
ersistenceBroker.java:160)
Replacing the use of an HashMap -unsynchro- with an Hashtable
-synchronized- would solve the problem, wouldn't it?
This is a trouble that happens on a production system and i'm looking
foward to hear about your response!
Thanks in advance!
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]