yes,
this is the fail fast feature of unsynchronized maps. It means that if
someone is working on the iterator it must be synch on the underlying map so
that nothing like that can happen.
Will be slower but needed,
marc
|-----Original Message-----
|From: [EMAIL PROTECTED]
|[mailto:[EMAIL PROTECTED]]On Behalf Of Sebastien Alborini
|Sent: Friday, October 13, 2000 4:23 PM
|To: jBoss Developer
|Subject: [jBoss-Dev] minerva & multi-thread
|
|
|Hi,
|
|Has anybody seen that? Apart from this printed exception, everything is
|ok (the client sees no exception and the work is done in the database),
|but I was just curious.
|
|Sebastien
|
|
|[JAWS] java.util.ConcurrentModificationException
|[JAWS] at java.util.HashMap$HashIterator.next(HashMap.java:736)
|[JAWS] at
|java.util.AbstractCollection.addAll(AbstractCollection.java:317)
|[JAWS] at java.util.HashSet.<init>(HashSet.java:86)
|[JAWS] at
|org.jboss.minerva.pools.ObjectPool.getObject(ObjectPool.java:523)
|[JAWS] at
|org.jboss.minerva.datasource.XAPoolDataSource.getConnection(XAPoolD
|ataSource.java:169)
|[JAWS] at
|org.jboss.ejb.plugins.jaws.jdbc.JDBCCommand.getConnection(JDBCComma
|nd.java:573)
|[JAWS] at
|org.jboss.ejb.plugins.jaws.jdbc.JDBCCommand.jdbcExecute(JDBCCommand
|.java:146)
|[JAWS] at
|org.jboss.ejb.plugins.jaws.jdbc.JDBCBeanExistsCommand.execute(JDBCB
eanExistsCommand.java:46)
|[JAWS] at
|org.jboss.ejb.plugins.jaws.jdbc.JDBCCreateEntityCommand.execute(JDB
CCreateEntityCommand.java:126)
|[JAWS] at
|org.jboss.ejb.plugins.jaws.JAWSPersistenceManager.createEntity(JAWS
PersistenceManager.java:122)
|[JAWS] at
|org.jboss.ejb.plugins.CMPPersistenceManager.createEntity(CMPPersist
|enceManager.java:156)
|[JAWS] at
|org.jboss.ejb.EntityContainer.createHome(EntityContainer.java:427)
|[JAWS] at java.lang.reflect.Method.invoke(Native Method)
|[JAWS] at
|org.jboss.ejb.EntityContainer$ContainerInterceptor.invokeHome(Entit
|yContainer.java:585)
|[JAWS] at
|org.jboss.ejb.plugins.EntitySynchronizationInterceptor.invokeHome(E
ntitySynchronizationInterceptor.java:191)
|[JAWS] at
|org.jboss.ejb.plugins.EntityInstanceInterceptor.invokeHome(EntityIn
stanceInterceptor.java:85)
|[JAWS] at
|org.jboss.ejb.plugins.TxInterceptorCMT.invokeNext(TxInterceptorCMT.
|java:135)
|[JAWS] at
|org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterc
|eptorCMT.java:263)
|[JAWS] at
|org.jboss.ejb.plugins.TxInterceptorCMT.invokeHome(TxInterceptorCMT.java:86)
|[JAWS] at
|org.jboss.ejb.plugins.SecurityInterceptor.invokeHome(SecurityInterc
|eptor.java:122)
|[JAWS] at
|org.jboss.ejb.plugins.LogInterceptor.invokeHome(LogInterceptor.java:106)
|[JAWS] at
|org.jboss.ejb.EntityContainer.invokeHome(EntityContainer.java:309)
|[JAWS] at
|org.jboss.ejb.plugins.jrmp.server.JRMPContainerInvoker.invokeHome(J
RMPContainerInvoker.java:207)
|[JAWS] at
|org.jboss.ejb.plugins.jrmp.server.JRMPContainerInvoker.invokeHome(J
RMPContainerInvoker.java:153)
|[JAWS] at java.lang.reflect.Method.invoke(Native Method)
|[JAWS] at
|sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:241)
|[JAWS] at sun.rmi.transport.Transport$1.run(Transport.java:142)
|[JAWS] at
|java.security.AccessController.doPrivileged(Native Method)
|[JAWS] at
|sun.rmi.transport.Transport.serviceCall(Transport.java:139)
|[JAWS] at
|sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:443)
|[JAWS] at
|sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTranspo
|rt.java:643)
|[JAWS] at java.lang.Thread.run(Thread.java:484)
|
|