Filipchik,
Is there any possibility that you are accidentally using your EntityManagers
in multiple threads?  A simple test would be to turn on the
openjpa.Multithreaded property to true (it's false by default).  If your
test succeeds with this property set, then you are probably accessing your
EntityManagers via multiple threads.  Whether this is by accident or on
purpose would still be a question to answer...

Kevin

On 10/10/07, Filipchik Alexandr <[EMAIL PROTECTED]> wrote:
>
> Hello.
>
>
>
> I'm trying to use OpenJPA in my project. I use Liferay based on Toncat
> as front-end.
>
>
>
> I use OpenJPA 1.0.0
>
> Today I have got strange exception -
>
> 10:35:55,785 ERROR ConcurrentModificationException at
> java.util.HashMap$HashIterator.nextEntry(HashMap.java:787)  at
> java.util.HashMap$KeyIterator.next(HashMap.java:823) at
> org.apache.openjpa.kernel.BrokerImpl$ManagedCache.dirtyCheck(BrokerImpl.
> java:4612)
>
>         at
> org.apache.openjpa.kernel.BrokerImpl$ManagedCache.access$000(BrokerImpl.
> java:4352) at
> org.apache.openjpa.kernel.BrokerImpl.hasTransactionalObjects(BrokerImpl.
> java:3731)
>
>         at
> org.apache.openjpa.kernel.BrokerImpl.setDirty(BrokerImpl.java:3848) at
> org.apache.openjpa.kernel.StateManagerImpl.setPCState(StateManagerImpl.j
> ava:207)
>
>         at
> org.apache.openjpa.kernel.StateManagerImpl.dirty(StateManagerImpl.java:1
> 532) at
> org.apache.openjpa.kernel.StateManagerImpl.dirty(StateManagerImpl.java:1
> 471)
>
>         at
> org.apache.openjpa.kernel.StateManagerImpl.dirtyCheck(StateManagerImpl.j
> ava:808) at
> org.apache.openjpa.kernel.BrokerImpl$ManagedCache.dirtyCheck(BrokerImpl.
> java:4612)
>
>         at
> org.apache.openjpa.kernel.BrokerImpl$ManagedCache.access$000(BrokerImpl.
> java:4352) at
> org.apache.openjpa.kernel.BrokerImpl.hasTransactionalObjects(BrokerImpl.
> java:3731)
>
>         at
> org.apache.openjpa.kernel.BrokerImpl.setDirty(BrokerImpl.java:3848) at
> org.apache.openjpa.kernel.StateManagerImpl.setPCState(StateManagerImpl.j
> ava:207)
>
>         at
> org.apache.openjpa.kernel.StateManagerImpl.dirty(StateManagerImpl.java:1
> 532) at
> org.apache.openjpa.kernel.StateManagerImpl.dirty(StateManagerImpl.java:1
> 471)
>
>         at
> org.apache.openjpa.kernel.StateManagerImpl.dirtyCheck(StateManagerImpl.j
> ava:808) at
> org.apache.openjpa.kernel.BrokerImpl$ManagedCache.dirtyCheck(BrokerImpl.
> java:4612)
>
>         at
> org.apache.openjpa.kernel.BrokerImpl$ManagedCache.access$000(BrokerImpl.
> java:4352)
>
>
>
>
>
> It happens only, when I deploy application on portal, and only when
> service is first-time accessed.
>
> All tests work fine.
>
>
>
> Exception throws in get method
>
>
>
> Alexander Filipchik
>
> Lead Developer
>
>
>
>

Reply via email to