Index: tests/src/test/java/org/jboss/test/marshalling/SimpleMarshallerTests.java =================================================================== --- tests/src/test/java/org/jboss/test/marshalling/SimpleMarshallerTests.java (revision 248) +++ tests/src/test/java/org/jboss/test/marshalling/SimpleMarshallerTests.java Mon Aug 17 13:22:25 BST 2009 @@ -56,6 +56,7 @@ import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.util.concurrent.atomic.AtomicInteger; +import java.util.concurrent.ConcurrentHashMap; import java.io.NotSerializableException; import java.io.IOException; import java.io.ObjectStreamException; @@ -932,6 +933,30 @@ }); } + @Test + public void testConcurrentHashMap() throws Throwable { + final Map map = new ConcurrentHashMap(); + map.put("kejlwqewq", "qwejwqioprjweqiorjpofd"); + map.put("34890fdu90uq09rdewq", "wqeioqwdias90ifd0adfw"); + map.put("dsajkljwqej21309ejjfdasfda", "dsajkdqwoid"); + map.put("nczxm,ncoijd0q93wjdwdwq", " dsajkldwqj9edwqu"); + runReadWriteTest(new ReadWriteTest() { + public void runWrite(final Marshaller marshaller) throws Throwable { + marshaller.writeObject(map); + marshaller.writeObject(map); + } + + @SuppressWarnings({"unchecked"}) + public void runRead(final Unmarshaller unmarshaller) throws Throwable { + final Map map2 = (Map) unmarshaller.readObject(); + assertEquals(map, map2); + assertSame(map2, unmarshaller.readObject()); + assertEOF(unmarshaller); + } + }); + } + + private static final class HashMapExternalizer implements Externalizer { private static final long serialVersionUID = 4923778660953773530L;