Created
February 23, 2012 19:44
-
-
Save twicksell/1894670 to your computer and use it in GitHub Desktop.
Test highlighting concurrency performance issue in org.springframeworkcore.covnert.Property
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
2012-02-23 13:39:52 | |
Full thread dump Java HotSpot(TM) 64-Bit Server VM (17.0-b17 mixed mode): | |
"JMX server connection timeout 34" daemon prio=6 tid=0x0000000007625000 nid=0x2c34 in Object.wait() [0x000000000adcf000] | |
java.lang.Thread.State: TIMED_WAITING (on object monitor) | |
at java.lang.Object.wait(Native Method) | |
- waiting on <0x0000000085bf9ba0> (a [I) | |
at com.sun.jmx.remote.internal.ServerCommunicatorAdmin$Timeout.run(ServerCommunicatorAdmin.java:150) | |
- locked <0x0000000085bf9ba0> (a [I) | |
at java.lang.Thread.run(Thread.java:619) | |
Locked ownable synchronizers: | |
- None | |
"RMI Scheduler(0)" daemon prio=6 tid=0x0000000007624000 nid=0x1d70 waiting on condition [0x000000000accf000] | |
java.lang.Thread.State: TIMED_WAITING (parking) | |
at sun.misc.Unsafe.park(Native Method) | |
- parking to wait for <0x0000000085bd2028> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) | |
at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:198) | |
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2025) | |
at java.util.concurrent.DelayQueue.take(DelayQueue.java:164) | |
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:583) | |
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:576) | |
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947) | |
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907) | |
at java.lang.Thread.run(Thread.java:619) | |
Locked ownable synchronizers: | |
- None | |
"RMI TCP Connection(1)-130.18.213.121" daemon prio=6 tid=0x0000000007623800 nid=0x20b4 runnable [0x000000000abcf000] | |
java.lang.Thread.State: RUNNABLE | |
at java.net.SocketInputStream.socketRead0(Native Method) | |
at java.net.SocketInputStream.read(SocketInputStream.java:129) | |
at java.io.BufferedInputStream.fill(BufferedInputStream.java:218) | |
at java.io.BufferedInputStream.read(BufferedInputStream.java:237) | |
- locked <0x0000000085bf9e08> (a java.io.BufferedInputStream) | |
at java.io.FilterInputStream.read(FilterInputStream.java:66) | |
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:517) | |
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:790) | |
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:649) | |
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) | |
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) | |
at java.lang.Thread.run(Thread.java:619) | |
Locked ownable synchronizers: | |
- <0x0000000085bfa3c8> (a java.util.concurrent.locks.ReentrantLock$NonfairSync) | |
"RMI TCP Accept-0" daemon prio=6 tid=0x0000000007622800 nid=0x24f8 runnable [0x000000000a9cf000] | |
java.lang.Thread.State: RUNNABLE | |
at java.net.PlainSocketImpl.socketAccept(Native Method) | |
at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:390) | |
- locked <0x0000000085bd1e18> (a java.net.SocksSocketImpl) | |
at java.net.ServerSocket.implAccept(ServerSocket.java:453) | |
at java.net.ServerSocket.accept(ServerSocket.java:421) | |
at sun.management.jmxremote.LocalRMIServerSocketFactory$1.accept(LocalRMIServerSocketFactory.java:34) | |
at sun.rmi.transport.tcp.TCPTransport$AcceptLoop.executeAcceptLoop(TCPTransport.java:369) | |
at sun.rmi.transport.tcp.TCPTransport$AcceptLoop.run(TCPTransport.java:341) | |
at java.lang.Thread.run(Thread.java:619) | |
Locked ownable synchronizers: | |
- None | |
"pool-1-thread-20" prio=6 tid=0x0000000007622000 nid=0x31e8 waiting for monitor entry [0x0000000008ebf000] | |
java.lang.Thread.State: BLOCKED (on object monitor) | |
at java.lang.reflect.Proxy.getProxyClass(Proxy.java:417) | |
- waiting to lock <0x000000008573c018> (a java.util.HashMap) | |
at java.lang.reflect.Proxy.newProxyInstance(Proxy.java:581) | |
at sun.reflect.annotation.AnnotationParser.annotationForMap(AnnotationParser.java:239) | |
at sun.reflect.annotation.AnnotationParser.parseAnnotation(AnnotationParser.java:229) | |
at sun.reflect.annotation.AnnotationParser.parseAnnotations2(AnnotationParser.java:69) | |
at sun.reflect.annotation.AnnotationParser.parseAnnotations(AnnotationParser.java:52) | |
at java.lang.reflect.Field.declaredAnnotations(Field.java:1014) | |
- locked <0x00000000ebaf22e8> (a java.lang.reflect.Field) | |
at java.lang.reflect.Field.getDeclaredAnnotations(Field.java:1007) | |
at java.lang.reflect.AccessibleObject.getAnnotations(AccessibleObject.java:175) | |
at org.springframework.core.convert.Property.resolveAnnotations(Property.java:189) | |
at org.springframework.core.convert.Property.<init>(Property.java:64) | |
at ThreadedBeanWrapperTest$TestThread.run(ThreadedBeanWrapperTest.java:100) | |
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) | |
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) | |
at java.util.concurrent.FutureTask.run(FutureTask.java:138) | |
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) | |
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) | |
at java.lang.Thread.run(Thread.java:619) | |
Locked ownable synchronizers: | |
- <0x000000008573b6c8> (a java.util.concurrent.locks.ReentrantLock$NonfairSync) | |
"pool-1-thread-19" prio=6 tid=0x0000000007621000 nid=0x3030 waiting for monitor entry [0x0000000008dbf000] | |
java.lang.Thread.State: BLOCKED (on object monitor) | |
at java.lang.reflect.Proxy.getProxyClass(Proxy.java:417) | |
- locked <0x000000008573c018> (a java.util.HashMap) | |
at java.lang.reflect.Proxy.newProxyInstance(Proxy.java:581) | |
at sun.reflect.annotation.AnnotationParser.annotationForMap(AnnotationParser.java:239) | |
at sun.reflect.annotation.AnnotationParser.parseAnnotation(AnnotationParser.java:229) | |
at sun.reflect.annotation.AnnotationParser.parseAnnotations2(AnnotationParser.java:69) | |
at sun.reflect.annotation.AnnotationParser.parseAnnotations(AnnotationParser.java:52) | |
at java.lang.reflect.Field.declaredAnnotations(Field.java:1014) | |
- locked <0x00000000eb9aa6e0> (a java.lang.reflect.Field) | |
at java.lang.reflect.Field.getDeclaredAnnotations(Field.java:1007) | |
at java.lang.reflect.AccessibleObject.getAnnotations(AccessibleObject.java:175) | |
at org.springframework.core.convert.Property.resolveAnnotations(Property.java:189) | |
at org.springframework.core.convert.Property.<init>(Property.java:64) | |
at ThreadedBeanWrapperTest$TestThread.run(ThreadedBeanWrapperTest.java:100) | |
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) | |
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) | |
at java.util.concurrent.FutureTask.run(FutureTask.java:138) | |
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) | |
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) | |
at java.lang.Thread.run(Thread.java:619) | |
Locked ownable synchronizers: | |
- <0x000000008573e448> (a java.util.concurrent.locks.ReentrantLock$NonfairSync) | |
"pool-1-thread-18" prio=6 tid=0x0000000007620800 nid=0xba8 waiting for monitor entry [0x0000000008cbf000] | |
java.lang.Thread.State: BLOCKED (on object monitor) | |
at java.lang.reflect.Proxy.getProxyClass(Proxy.java:417) | |
- waiting to lock <0x000000008573c018> (a java.util.HashMap) | |
at java.lang.reflect.Proxy.newProxyInstance(Proxy.java:581) | |
at sun.reflect.annotation.AnnotationParser.annotationForMap(AnnotationParser.java:239) | |
at sun.reflect.annotation.AnnotationParser.parseAnnotation(AnnotationParser.java:229) | |
at sun.reflect.annotation.AnnotationParser.parseAnnotations2(AnnotationParser.java:69) | |
at sun.reflect.annotation.AnnotationParser.parseAnnotations(AnnotationParser.java:52) | |
at java.lang.reflect.Field.declaredAnnotations(Field.java:1014) | |
- locked <0x00000000df53e358> (a java.lang.reflect.Field) | |
at java.lang.reflect.Field.getDeclaredAnnotations(Field.java:1007) | |
at java.lang.reflect.AccessibleObject.getAnnotations(AccessibleObject.java:175) | |
at org.springframework.core.convert.Property.resolveAnnotations(Property.java:189) | |
at org.springframework.core.convert.Property.<init>(Property.java:64) | |
at ThreadedBeanWrapperTest$TestThread.run(ThreadedBeanWrapperTest.java:100) | |
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) | |
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) | |
at java.util.concurrent.FutureTask.run(FutureTask.java:138) | |
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) | |
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) | |
at java.lang.Thread.run(Thread.java:619) | |
Locked ownable synchronizers: | |
- <0x000000008574aed0> (a java.util.concurrent.locks.ReentrantLock$NonfairSync) | |
"pool-1-thread-17" prio=6 tid=0x000000000761f000 nid=0x2604 waiting for monitor entry [0x0000000008bbf000] | |
java.lang.Thread.State: BLOCKED (on object monitor) | |
at java.lang.reflect.Proxy.getProxyClass(Proxy.java:417) | |
- waiting to lock <0x000000008573c018> (a java.util.HashMap) | |
at java.lang.reflect.Proxy.newProxyInstance(Proxy.java:581) | |
at sun.reflect.annotation.AnnotationParser.annotationForMap(AnnotationParser.java:239) | |
at sun.reflect.annotation.AnnotationParser.parseAnnotation(AnnotationParser.java:229) | |
at sun.reflect.annotation.AnnotationParser.parseAnnotations2(AnnotationParser.java:69) | |
at sun.reflect.annotation.AnnotationParser.parseAnnotations(AnnotationParser.java:52) | |
at java.lang.reflect.Field.declaredAnnotations(Field.java:1014) | |
- locked <0x00000000e1be7db8> (a java.lang.reflect.Field) | |
at java.lang.reflect.Field.getDeclaredAnnotations(Field.java:1007) | |
at java.lang.reflect.AccessibleObject.getAnnotations(AccessibleObject.java:175) | |
at org.springframework.core.convert.Property.resolveAnnotations(Property.java:189) | |
at org.springframework.core.convert.Property.<init>(Property.java:64) | |
at ThreadedBeanWrapperTest$TestThread.run(ThreadedBeanWrapperTest.java:100) | |
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) | |
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) | |
at java.util.concurrent.FutureTask.run(FutureTask.java:138) | |
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) | |
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) | |
at java.lang.Thread.run(Thread.java:619) | |
Locked ownable synchronizers: | |
- <0x000000008574b878> (a java.util.concurrent.locks.ReentrantLock$NonfairSync) | |
"pool-1-thread-16" prio=6 tid=0x000000000761f800 nid=0x312c waiting for monitor entry [0x0000000008abf000] | |
java.lang.Thread.State: BLOCKED (on object monitor) | |
at java.lang.reflect.Proxy.getProxyClass(Proxy.java:417) | |
- locked <0x000000008573c018> (a java.util.HashMap) | |
at java.lang.reflect.Proxy.newProxyInstance(Proxy.java:581) | |
at sun.reflect.annotation.AnnotationParser.annotationForMap(AnnotationParser.java:239) | |
at sun.reflect.annotation.AnnotationParser.parseAnnotation(AnnotationParser.java:229) | |
at sun.reflect.annotation.AnnotationParser.parseAnnotations2(AnnotationParser.java:69) | |
at sun.reflect.annotation.AnnotationParser.parseAnnotations(AnnotationParser.java:52) | |
at java.lang.reflect.Field.declaredAnnotations(Field.java:1014) | |
- locked <0x00000000e9ca7590> (a java.lang.reflect.Field) | |
at java.lang.reflect.Field.getDeclaredAnnotations(Field.java:1007) | |
at java.lang.reflect.AccessibleObject.getAnnotations(AccessibleObject.java:175) | |
at org.springframework.core.convert.Property.resolveAnnotations(Property.java:189) | |
at org.springframework.core.convert.Property.<init>(Property.java:64) | |
at ThreadedBeanWrapperTest$TestThread.run(ThreadedBeanWrapperTest.java:100) | |
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) | |
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) | |
at java.util.concurrent.FutureTask.run(FutureTask.java:138) | |
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) | |
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) | |
at java.lang.Thread.run(Thread.java:619) | |
Locked ownable synchronizers: | |
- <0x000000008574c220> (a java.util.concurrent.locks.ReentrantLock$NonfairSync) | |
"pool-1-thread-15" prio=6 tid=0x000000000761e800 nid=0x3268 waiting for monitor entry [0x00000000089bf000] | |
java.lang.Thread.State: BLOCKED (on object monitor) | |
at java.lang.reflect.Proxy.getProxyClass(Proxy.java:417) | |
- waiting to lock <0x000000008573c018> (a java.util.HashMap) | |
at java.lang.reflect.Proxy.newProxyInstance(Proxy.java:581) | |
at sun.reflect.annotation.AnnotationParser.annotationForMap(AnnotationParser.java:239) | |
at sun.reflect.annotation.AnnotationParser.parseAnnotation(AnnotationParser.java:229) | |
at sun.reflect.annotation.AnnotationParser.parseAnnotations2(AnnotationParser.java:69) | |
at sun.reflect.annotation.AnnotationParser.parseAnnotations(AnnotationParser.java:52) | |
at java.lang.reflect.Field.declaredAnnotations(Field.java:1014) | |
- locked <0x00000001050403a0> (a java.lang.reflect.Field) | |
at java.lang.reflect.Field.getDeclaredAnnotations(Field.java:1007) | |
at java.lang.reflect.AccessibleObject.getAnnotations(AccessibleObject.java:175) | |
at org.springframework.core.convert.Property.resolveAnnotations(Property.java:189) | |
at org.springframework.core.convert.Property.<init>(Property.java:64) | |
at ThreadedBeanWrapperTest$TestThread.run(ThreadedBeanWrapperTest.java:100) | |
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) | |
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) | |
at java.util.concurrent.FutureTask.run(FutureTask.java:138) | |
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) | |
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) | |
at java.lang.Thread.run(Thread.java:619) | |
Locked ownable synchronizers: | |
- <0x000000008574cbc8> (a java.util.concurrent.locks.ReentrantLock$NonfairSync) | |
"pool-1-thread-14" prio=6 tid=0x000000000761d800 nid=0x26a0 waiting for monitor entry [0x00000000088bf000] | |
java.lang.Thread.State: BLOCKED (on object monitor) | |
at java.lang.reflect.Proxy.getProxyClass(Proxy.java:417) | |
- waiting to lock <0x000000008573c018> (a java.util.HashMap) | |
at java.lang.reflect.Proxy.newProxyInstance(Proxy.java:581) | |
at sun.reflect.annotation.AnnotationParser.annotationForMap(AnnotationParser.java:239) | |
at sun.reflect.annotation.AnnotationParser.parseAnnotation(AnnotationParser.java:229) | |
at sun.reflect.annotation.AnnotationParser.parseAnnotations2(AnnotationParser.java:69) | |
at sun.reflect.annotation.AnnotationParser.parseAnnotations(AnnotationParser.java:52) | |
at java.lang.reflect.Field.declaredAnnotations(Field.java:1014) | |
- locked <0x00000000e37a33f0> (a java.lang.reflect.Field) | |
at java.lang.reflect.Field.getDeclaredAnnotations(Field.java:1007) | |
at java.lang.reflect.AccessibleObject.getAnnotations(AccessibleObject.java:175) | |
at org.springframework.core.convert.Property.resolveAnnotations(Property.java:189) | |
at org.springframework.core.convert.Property.<init>(Property.java:64) | |
at ThreadedBeanWrapperTest$TestThread.run(ThreadedBeanWrapperTest.java:100) | |
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) | |
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) | |
at java.util.concurrent.FutureTask.run(FutureTask.java:138) | |
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) | |
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) | |
at java.lang.Thread.run(Thread.java:619) | |
Locked ownable synchronizers: | |
- <0x0000000085757648> (a java.util.concurrent.locks.ReentrantLock$NonfairSync) | |
"pool-1-thread-13" prio=6 tid=0x000000000761d000 nid=0x32d0 waiting for monitor entry [0x00000000087bf000] | |
java.lang.Thread.State: BLOCKED (on object monitor) | |
at java.lang.reflect.Proxy.getProxyClass(Proxy.java:417) | |
- waiting to lock <0x000000008573c018> (a java.util.HashMap) | |
at java.lang.reflect.Proxy.newProxyInstance(Proxy.java:581) | |
at sun.reflect.annotation.AnnotationParser.annotationForMap(AnnotationParser.java:239) | |
at sun.reflect.annotation.AnnotationParser.parseAnnotation(AnnotationParser.java:229) | |
at sun.reflect.annotation.AnnotationParser.parseAnnotations2(AnnotationParser.java:69) | |
at sun.reflect.annotation.AnnotationParser.parseAnnotations(AnnotationParser.java:52) | |
at java.lang.reflect.Field.declaredAnnotations(Field.java:1014) | |
- locked <0x00000000e9cee8a8> (a java.lang.reflect.Field) | |
at java.lang.reflect.Field.getDeclaredAnnotations(Field.java:1007) | |
at java.lang.reflect.AccessibleObject.getAnnotations(AccessibleObject.java:175) | |
at org.springframework.core.convert.Property.resolveAnnotations(Property.java:189) | |
at org.springframework.core.convert.Property.<init>(Property.java:64) | |
at ThreadedBeanWrapperTest$TestThread.run(ThreadedBeanWrapperTest.java:100) | |
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) | |
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) | |
at java.util.concurrent.FutureTask.run(FutureTask.java:138) | |
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) | |
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) | |
at java.lang.Thread.run(Thread.java:619) | |
Locked ownable synchronizers: | |
- <0x0000000085757a20> (a java.util.concurrent.locks.ReentrantLock$NonfairSync) | |
"pool-1-thread-12" prio=6 tid=0x000000000761c000 nid=0x2260 waiting for monitor entry [0x00000000086bf000] | |
java.lang.Thread.State: BLOCKED (on object monitor) | |
at java.lang.reflect.Proxy.getProxyClass(Proxy.java:417) | |
- waiting to lock <0x000000008573c018> (a java.util.HashMap) | |
at java.lang.reflect.Proxy.newProxyInstance(Proxy.java:581) | |
at sun.reflect.annotation.AnnotationParser.annotationForMap(AnnotationParser.java:239) | |
at sun.reflect.annotation.AnnotationParser.parseAnnotation(AnnotationParser.java:229) | |
at sun.reflect.annotation.AnnotationParser.parseAnnotations2(AnnotationParser.java:69) | |
at sun.reflect.annotation.AnnotationParser.parseAnnotations(AnnotationParser.java:52) | |
at java.lang.reflect.Field.declaredAnnotations(Field.java:1014) | |
- locked <0x00000000e370ad50> (a java.lang.reflect.Field) | |
at java.lang.reflect.Field.getDeclaredAnnotations(Field.java:1007) | |
at java.lang.reflect.AccessibleObject.getAnnotations(AccessibleObject.java:175) | |
at org.springframework.core.convert.Property.resolveAnnotations(Property.java:189) | |
at org.springframework.core.convert.Property.<init>(Property.java:64) | |
at ThreadedBeanWrapperTest$TestThread.run(ThreadedBeanWrapperTest.java:100) | |
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) | |
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) | |
at java.util.concurrent.FutureTask.run(FutureTask.java:138) | |
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) | |
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) | |
at java.lang.Thread.run(Thread.java:619) | |
Locked ownable synchronizers: | |
- <0x0000000085757df8> (a java.util.concurrent.locks.ReentrantLock$NonfairSync) | |
"pool-1-thread-11" prio=6 tid=0x000000000761b800 nid=0x3024 waiting for monitor entry [0x00000000085bf000] | |
java.lang.Thread.State: BLOCKED (on object monitor) | |
at java.lang.reflect.Proxy.getProxyClass(Proxy.java:417) | |
- waiting to lock <0x000000008573c018> (a java.util.HashMap) | |
at java.lang.reflect.Proxy.newProxyInstance(Proxy.java:581) | |
at sun.reflect.annotation.AnnotationParser.annotationForMap(AnnotationParser.java:239) | |
at sun.reflect.annotation.AnnotationParser.parseAnnotation(AnnotationParser.java:229) | |
at sun.reflect.annotation.AnnotationParser.parseAnnotations2(AnnotationParser.java:69) | |
at sun.reflect.annotation.AnnotationParser.parseAnnotations(AnnotationParser.java:52) | |
at java.lang.reflect.Field.declaredAnnotations(Field.java:1014) | |
- locked <0x00000000e1b085c8> (a java.lang.reflect.Field) | |
at java.lang.reflect.Field.getDeclaredAnnotations(Field.java:1007) | |
at java.lang.reflect.AccessibleObject.getAnnotations(AccessibleObject.java:175) | |
at org.springframework.core.convert.Property.resolveAnnotations(Property.java:189) | |
at org.springframework.core.convert.Property.<init>(Property.java:64) | |
at ThreadedBeanWrapperTest$TestThread.run(ThreadedBeanWrapperTest.java:100) | |
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) | |
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) | |
at java.util.concurrent.FutureTask.run(FutureTask.java:138) | |
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) | |
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) | |
at java.lang.Thread.run(Thread.java:619) | |
Locked ownable synchronizers: | |
- <0x00000000857587a0> (a java.util.concurrent.locks.ReentrantLock$NonfairSync) | |
"pool-1-thread-10" prio=6 tid=0x000000000761a800 nid=0x2d7c waiting for monitor entry [0x00000000084bf000] | |
java.lang.Thread.State: BLOCKED (on object monitor) | |
at java.lang.reflect.Proxy.getProxyClass(Proxy.java:417) | |
- waiting to lock <0x000000008573c018> (a java.util.HashMap) | |
at java.lang.reflect.Proxy.newProxyInstance(Proxy.java:581) | |
at sun.reflect.annotation.AnnotationParser.annotationForMap(AnnotationParser.java:239) | |
at sun.reflect.annotation.AnnotationParser.parseAnnotation(AnnotationParser.java:229) | |
at sun.reflect.annotation.AnnotationParser.parseAnnotations2(AnnotationParser.java:69) | |
at sun.reflect.annotation.AnnotationParser.parseAnnotations(AnnotationParser.java:52) | |
at java.lang.reflect.Field.declaredAnnotations(Field.java:1014) | |
- locked <0x00000000e3813908> (a java.lang.reflect.Field) | |
at java.lang.reflect.Field.getDeclaredAnnotations(Field.java:1007) | |
at java.lang.reflect.AccessibleObject.getAnnotations(AccessibleObject.java:175) | |
at org.springframework.core.convert.Property.resolveAnnotations(Property.java:189) | |
at org.springframework.core.convert.Property.<init>(Property.java:64) | |
at ThreadedBeanWrapperTest$TestThread.run(ThreadedBeanWrapperTest.java:100) | |
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) | |
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) | |
at java.util.concurrent.FutureTask.run(FutureTask.java:138) | |
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) | |
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) | |
at java.lang.Thread.run(Thread.java:619) | |
Locked ownable synchronizers: | |
- <0x0000000085769160> (a java.util.concurrent.locks.ReentrantLock$NonfairSync) | |
"pool-1-thread-9" prio=6 tid=0x0000000007883800 nid=0x3164 waiting for monitor entry [0x00000000083bf000] | |
java.lang.Thread.State: BLOCKED (on object monitor) | |
at java.lang.reflect.Proxy.getProxyClass(Proxy.java:417) | |
- waiting to lock <0x000000008573c018> (a java.util.HashMap) | |
at java.lang.reflect.Proxy.newProxyInstance(Proxy.java:581) | |
at sun.reflect.annotation.AnnotationParser.annotationForMap(AnnotationParser.java:239) | |
at sun.reflect.annotation.AnnotationParser.parseAnnotation(AnnotationParser.java:229) | |
at sun.reflect.annotation.AnnotationParser.parseAnnotations2(AnnotationParser.java:69) | |
at sun.reflect.annotation.AnnotationParser.parseAnnotations(AnnotationParser.java:52) | |
at java.lang.reflect.Field.declaredAnnotations(Field.java:1014) | |
- locked <0x00000000eba92580> (a java.lang.reflect.Field) | |
at java.lang.reflect.Field.getDeclaredAnnotations(Field.java:1007) | |
at java.lang.reflect.AccessibleObject.getAnnotations(AccessibleObject.java:175) | |
at org.springframework.core.convert.Property.resolveAnnotations(Property.java:189) | |
at org.springframework.core.convert.Property.<init>(Property.java:64) | |
at ThreadedBeanWrapperTest$TestThread.run(ThreadedBeanWrapperTest.java:100) | |
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) | |
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) | |
at java.util.concurrent.FutureTask.run(FutureTask.java:138) | |
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) | |
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) | |
at java.lang.Thread.run(Thread.java:619) | |
Locked ownable synchronizers: | |
- <0x0000000085769b08> (a java.util.concurrent.locks.ReentrantLock$NonfairSync) | |
"pool-1-thread-8" prio=6 tid=0x0000000007883000 nid=0x3058 waiting for monitor entry [0x00000000082bf000] | |
java.lang.Thread.State: BLOCKED (on object monitor) | |
at java.lang.reflect.Proxy.getProxyClass(Proxy.java:417) | |
- waiting to lock <0x000000008573c018> (a java.util.HashMap) | |
at java.lang.reflect.Proxy.newProxyInstance(Proxy.java:581) | |
at sun.reflect.annotation.AnnotationParser.annotationForMap(AnnotationParser.java:239) | |
at sun.reflect.annotation.AnnotationParser.parseAnnotation(AnnotationParser.java:229) | |
at sun.reflect.annotation.AnnotationParser.parseAnnotations2(AnnotationParser.java:69) | |
at sun.reflect.annotation.AnnotationParser.parseAnnotations(AnnotationParser.java:52) | |
at java.lang.reflect.Field.declaredAnnotations(Field.java:1014) | |
- locked <0x0000000105040ae8> (a java.lang.reflect.Field) | |
at java.lang.reflect.Field.getDeclaredAnnotations(Field.java:1007) | |
at java.lang.reflect.AccessibleObject.getAnnotations(AccessibleObject.java:175) | |
at org.springframework.core.convert.Property.resolveAnnotations(Property.java:189) | |
at org.springframework.core.convert.Property.<init>(Property.java:64) | |
at ThreadedBeanWrapperTest$TestThread.run(ThreadedBeanWrapperTest.java:100) | |
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) | |
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) | |
at java.util.concurrent.FutureTask.run(FutureTask.java:138) | |
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) | |
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) | |
at java.lang.Thread.run(Thread.java:619) | |
Locked ownable synchronizers: | |
- <0x000000008576a4c0> (a java.util.concurrent.locks.ReentrantLock$NonfairSync) | |
"pool-1-thread-7" prio=6 tid=0x000000000787a000 nid=0x2f14 waiting for monitor entry [0x00000000081bf000] | |
java.lang.Thread.State: BLOCKED (on object monitor) | |
at java.lang.reflect.Proxy.getProxyClass(Proxy.java:417) | |
- waiting to lock <0x000000008573c018> (a java.util.HashMap) | |
at java.lang.reflect.Proxy.newProxyInstance(Proxy.java:581) | |
at sun.reflect.annotation.AnnotationParser.annotationForMap(AnnotationParser.java:239) | |
at sun.reflect.annotation.AnnotationParser.parseAnnotation(AnnotationParser.java:229) | |
at sun.reflect.annotation.AnnotationParser.parseAnnotations2(AnnotationParser.java:69) | |
at sun.reflect.annotation.AnnotationParser.parseAnnotations(AnnotationParser.java:52) | |
at java.lang.reflect.Field.declaredAnnotations(Field.java:1014) | |
- locked <0x00000000da9c0198> (a java.lang.reflect.Field) | |
at java.lang.reflect.Field.getDeclaredAnnotations(Field.java:1007) | |
at java.lang.reflect.AccessibleObject.getAnnotations(AccessibleObject.java:175) | |
at org.springframework.core.convert.Property.resolveAnnotations(Property.java:189) | |
at org.springframework.core.convert.Property.<init>(Property.java:64) | |
at ThreadedBeanWrapperTest$TestThread.run(ThreadedBeanWrapperTest.java:100) | |
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) | |
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) | |
at java.util.concurrent.FutureTask.run(FutureTask.java:138) | |
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) | |
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) | |
at java.lang.Thread.run(Thread.java:619) | |
Locked ownable synchronizers: | |
- <0x000000008577ae80> (a java.util.concurrent.locks.ReentrantLock$NonfairSync) | |
"pool-1-thread-6" prio=6 tid=0x0000000007879800 nid=0x2948 runnable [0x00000000080be000] | |
java.lang.Thread.State: RUNNABLE | |
at java.util.AbstractList.hashCode(AbstractList.java:527) | |
at java.util.HashMap.get(HashMap.java:300) | |
at java.lang.reflect.Proxy.getProxyClass(Proxy.java:426) | |
- locked <0x000000008573c018> (a java.util.HashMap) | |
at java.lang.reflect.Proxy.newProxyInstance(Proxy.java:581) | |
at sun.reflect.annotation.AnnotationParser.annotationForMap(AnnotationParser.java:239) | |
at sun.reflect.annotation.AnnotationParser.parseAnnotation(AnnotationParser.java:229) | |
at sun.reflect.annotation.AnnotationParser.parseAnnotations2(AnnotationParser.java:69) | |
at sun.reflect.annotation.AnnotationParser.parseAnnotations(AnnotationParser.java:52) | |
at java.lang.reflect.Field.declaredAnnotations(Field.java:1014) | |
- locked <0x00000000ebb1c408> (a java.lang.reflect.Field) | |
at java.lang.reflect.Field.getDeclaredAnnotations(Field.java:1007) | |
at java.lang.reflect.AccessibleObject.getAnnotations(AccessibleObject.java:175) | |
at org.springframework.core.convert.Property.resolveAnnotations(Property.java:189) | |
at org.springframework.core.convert.Property.<init>(Property.java:64) | |
at ThreadedBeanWrapperTest$TestThread.run(ThreadedBeanWrapperTest.java:100) | |
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) | |
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) | |
at java.util.concurrent.FutureTask.run(FutureTask.java:138) | |
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) | |
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) | |
at java.lang.Thread.run(Thread.java:619) | |
Locked ownable synchronizers: | |
- <0x000000008577b258> (a java.util.concurrent.locks.ReentrantLock$NonfairSync) | |
"pool-1-thread-5" prio=6 tid=0x00000000078ac000 nid=0xe10 waiting for monitor entry [0x0000000007fbf000] | |
java.lang.Thread.State: BLOCKED (on object monitor) | |
at java.lang.reflect.Proxy.getProxyClass(Proxy.java:417) | |
- waiting to lock <0x000000008573c018> (a java.util.HashMap) | |
at java.lang.reflect.Proxy.newProxyInstance(Proxy.java:581) | |
at sun.reflect.annotation.AnnotationParser.annotationForMap(AnnotationParser.java:239) | |
at sun.reflect.annotation.AnnotationParser.parseAnnotation(AnnotationParser.java:229) | |
at sun.reflect.annotation.AnnotationParser.parseAnnotations2(AnnotationParser.java:69) | |
at sun.reflect.annotation.AnnotationParser.parseAnnotations(AnnotationParser.java:52) | |
at java.lang.reflect.Field.declaredAnnotations(Field.java:1014) | |
- locked <0x00000000dda6e968> (a java.lang.reflect.Field) | |
at java.lang.reflect.Field.getDeclaredAnnotations(Field.java:1007) | |
at java.lang.reflect.AccessibleObject.getAnnotations(AccessibleObject.java:175) | |
at org.springframework.core.convert.Property.resolveAnnotations(Property.java:189) | |
at org.springframework.core.convert.Property.<init>(Property.java:64) | |
at ThreadedBeanWrapperTest$TestThread.run(ThreadedBeanWrapperTest.java:100) | |
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) | |
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) | |
at java.util.concurrent.FutureTask.run(FutureTask.java:138) | |
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) | |
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) | |
at java.lang.Thread.run(Thread.java:619) | |
Locked ownable synchronizers: | |
- <0x000000008577bc00> (a java.util.concurrent.locks.ReentrantLock$NonfairSync) | |
"pool-1-thread-4" prio=6 tid=0x0000000007707000 nid=0x3234 waiting for monitor entry [0x0000000007ebf000] | |
java.lang.Thread.State: BLOCKED (on object monitor) | |
at java.lang.reflect.Proxy.getProxyClass(Proxy.java:417) | |
- waiting to lock <0x000000008573c018> (a java.util.HashMap) | |
at java.lang.reflect.Proxy.newProxyInstance(Proxy.java:581) | |
at sun.reflect.annotation.AnnotationParser.annotationForMap(AnnotationParser.java:239) | |
at sun.reflect.annotation.AnnotationParser.parseAnnotation(AnnotationParser.java:229) | |
at sun.reflect.annotation.AnnotationParser.parseAnnotations2(AnnotationParser.java:69) | |
at sun.reflect.annotation.AnnotationParser.parseAnnotations(AnnotationParser.java:52) | |
at java.lang.reflect.Field.declaredAnnotations(Field.java:1014) | |
- locked <0x00000000e5e9dcd8> (a java.lang.reflect.Field) | |
at java.lang.reflect.Field.getDeclaredAnnotations(Field.java:1007) | |
at java.lang.reflect.AccessibleObject.getAnnotations(AccessibleObject.java:175) | |
at org.springframework.core.convert.Property.resolveAnnotations(Property.java:189) | |
at org.springframework.core.convert.Property.<init>(Property.java:64) | |
at ThreadedBeanWrapperTest$TestThread.run(ThreadedBeanWrapperTest.java:100) | |
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) | |
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) | |
at java.util.concurrent.FutureTask.run(FutureTask.java:138) | |
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) | |
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) | |
at java.lang.Thread.run(Thread.java:619) | |
Locked ownable synchronizers: | |
- <0x000000008577c5a8> (a java.util.concurrent.locks.ReentrantLock$NonfairSync) | |
"pool-1-thread-3" prio=6 tid=0x000000000766c800 nid=0x2a80 runnable [0x0000000007dbf000] | |
java.lang.Thread.State: RUNNABLE | |
at java.lang.Class.forName0(Native Method) | |
at java.lang.Class.forName(Class.java:247) | |
at java.lang.reflect.Proxy.getProxyClass(Proxy.java:349) | |
at java.lang.reflect.Proxy.newProxyInstance(Proxy.java:581) | |
at sun.reflect.annotation.AnnotationParser.annotationForMap(AnnotationParser.java:239) | |
at sun.reflect.annotation.AnnotationParser.parseAnnotation(AnnotationParser.java:229) | |
at sun.reflect.annotation.AnnotationParser.parseAnnotations2(AnnotationParser.java:69) | |
at sun.reflect.annotation.AnnotationParser.parseAnnotations(AnnotationParser.java:52) | |
at java.lang.reflect.Field.declaredAnnotations(Field.java:1014) | |
- locked <0x00000000e7c86228> (a java.lang.reflect.Field) | |
at java.lang.reflect.Field.getDeclaredAnnotations(Field.java:1007) | |
at java.lang.reflect.AccessibleObject.getAnnotations(AccessibleObject.java:175) | |
at org.springframework.core.convert.Property.resolveAnnotations(Property.java:189) | |
at org.springframework.core.convert.Property.<init>(Property.java:64) | |
at ThreadedBeanWrapperTest$TestThread.run(ThreadedBeanWrapperTest.java:100) | |
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) | |
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) | |
at java.util.concurrent.FutureTask.run(FutureTask.java:138) | |
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) | |
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) | |
at java.lang.Thread.run(Thread.java:619) | |
Locked ownable synchronizers: | |
- <0x00000000857a8f88> (a java.util.concurrent.locks.ReentrantLock$NonfairSync) | |
"pool-1-thread-2" prio=6 tid=0x000000000766b000 nid=0x2d34 runnable [0x0000000007cbe000] | |
java.lang.Thread.State: RUNNABLE | |
at sun.reflect.generics.parser.SignatureParser.parseIdentifier(SignatureParser.java:221) | |
at sun.reflect.generics.parser.SignatureParser.parseSimpleClassTypeSignature(SignatureParser.java:253) | |
at sun.reflect.generics.parser.SignatureParser.parseClassTypeSignature(SignatureParser.java:243) | |
at sun.reflect.generics.parser.SignatureParser.parseFieldTypeSignature(SignatureParser.java:228) | |
at sun.reflect.generics.parser.SignatureParser.parseTypeSignature(SignatureParser.java:359) | |
at sun.reflect.generics.parser.SignatureParser.parseTypeSig(SignatureParser.java:157) | |
at sun.reflect.annotation.AnnotationParser.parseSig(AnnotationParser.java:367) | |
at sun.reflect.annotation.AnnotationParser.parseAnnotation(AnnotationParser.java:181) | |
at sun.reflect.annotation.AnnotationParser.parseAnnotations2(AnnotationParser.java:69) | |
at sun.reflect.annotation.AnnotationParser.parseAnnotations(AnnotationParser.java:52) | |
at java.lang.reflect.Field.declaredAnnotations(Field.java:1014) | |
- locked <0x00000000e7cb8d90> (a java.lang.reflect.Field) | |
at java.lang.reflect.Field.getDeclaredAnnotations(Field.java:1007) | |
at java.lang.reflect.AccessibleObject.getAnnotations(AccessibleObject.java:175) | |
at org.springframework.core.convert.Property.resolveAnnotations(Property.java:189) | |
at org.springframework.core.convert.Property.<init>(Property.java:64) | |
at ThreadedBeanWrapperTest$TestThread.run(ThreadedBeanWrapperTest.java:100) | |
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) | |
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) | |
at java.util.concurrent.FutureTask.run(FutureTask.java:138) | |
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) | |
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) | |
at java.lang.Thread.run(Thread.java:619) | |
Locked ownable synchronizers: | |
- <0x00000000857a9930> (a java.util.concurrent.locks.ReentrantLock$NonfairSync) | |
"pool-1-thread-1" prio=6 tid=0x000000000770a000 nid=0x303c waiting for monitor entry [0x0000000007bbf000] | |
java.lang.Thread.State: BLOCKED (on object monitor) | |
at java.lang.reflect.Proxy.getProxyClass(Proxy.java:417) | |
- waiting to lock <0x000000008573c018> (a java.util.HashMap) | |
at java.lang.reflect.Proxy.newProxyInstance(Proxy.java:581) | |
at sun.reflect.annotation.AnnotationParser.annotationForMap(AnnotationParser.java:239) | |
at sun.reflect.annotation.AnnotationParser.parseAnnotation(AnnotationParser.java:229) | |
at sun.reflect.annotation.AnnotationParser.parseAnnotations2(AnnotationParser.java:69) | |
at sun.reflect.annotation.AnnotationParser.parseAnnotations(AnnotationParser.java:52) | |
at java.lang.reflect.Field.declaredAnnotations(Field.java:1014) | |
- locked <0x00000000e376ccf0> (a java.lang.reflect.Field) | |
at java.lang.reflect.Field.getDeclaredAnnotations(Field.java:1007) | |
at java.lang.reflect.AccessibleObject.getAnnotations(AccessibleObject.java:175) | |
at org.springframework.core.convert.Property.resolveAnnotations(Property.java:189) | |
at org.springframework.core.convert.Property.<init>(Property.java:64) | |
at ThreadedBeanWrapperTest$TestThread.run(ThreadedBeanWrapperTest.java:100) | |
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) | |
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) | |
at java.util.concurrent.FutureTask.run(FutureTask.java:138) | |
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) | |
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) | |
at java.lang.Thread.run(Thread.java:619) | |
Locked ownable synchronizers: | |
- <0x00000000857aa2d8> (a java.util.concurrent.locks.ReentrantLock$NonfairSync) | |
"ReaderThread" prio=6 tid=0x00000000078a1800 nid=0x33b8 runnable [0x00000000079cf000] | |
java.lang.Thread.State: RUNNABLE | |
at java.net.SocketInputStream.socketRead0(Native Method) | |
at java.net.SocketInputStream.read(SocketInputStream.java:129) | |
at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:264) | |
at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:306) | |
at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:158) | |
- locked <0x00000000857c4eb0> (a java.io.InputStreamReader) | |
at java.io.InputStreamReader.read(InputStreamReader.java:167) | |
at java.io.BufferedReader.fill(BufferedReader.java:136) | |
at java.io.BufferedReader.readLine(BufferedReader.java:299) | |
- locked <0x00000000857c4eb0> (a java.io.InputStreamReader) | |
at java.io.BufferedReader.readLine(BufferedReader.java:362) | |
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner$ReaderThread.run(RemoteTestRunner.java:140) | |
Locked ownable synchronizers: | |
- None | |
"Low Memory Detector" daemon prio=6 tid=0x0000000006d3a800 nid=0x3064 runnable [0x0000000000000000] | |
java.lang.Thread.State: RUNNABLE | |
Locked ownable synchronizers: | |
- None | |
"CompilerThread1" daemon prio=10 tid=0x0000000006d32000 nid=0x3250 waiting on condition [0x0000000000000000] | |
java.lang.Thread.State: RUNNABLE | |
Locked ownable synchronizers: | |
- None | |
"CompilerThread0" daemon prio=10 tid=0x0000000006d26800 nid=0x5e4 waiting on condition [0x0000000000000000] | |
java.lang.Thread.State: RUNNABLE | |
Locked ownable synchronizers: | |
- None | |
"Attach Listener" daemon prio=10 tid=0x0000000006d23000 nid=0x15f4 waiting on condition [0x0000000000000000] | |
java.lang.Thread.State: RUNNABLE | |
Locked ownable synchronizers: | |
- None | |
"Signal Dispatcher" daemon prio=10 tid=0x0000000006d1e000 nid=0x31cc runnable [0x0000000000000000] | |
java.lang.Thread.State: RUNNABLE | |
Locked ownable synchronizers: | |
- None | |
"Finalizer" daemon prio=8 tid=0x000000000052a800 nid=0x19e0 in Object.wait() [0x0000000006ccf000] | |
java.lang.Thread.State: WAITING (on object monitor) | |
at java.lang.Object.wait(Native Method) | |
- waiting on <0x00000000857c6c50> (a java.lang.ref.ReferenceQueue$Lock) | |
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118) | |
- locked <0x00000000857c6c50> (a java.lang.ref.ReferenceQueue$Lock) | |
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:134) | |
at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159) | |
Locked ownable synchronizers: | |
- None | |
"Reference Handler" daemon prio=10 tid=0x0000000000523800 nid=0x2f78 in Object.wait() [0x0000000006bcf000] | |
java.lang.Thread.State: WAITING (on object monitor) | |
at java.lang.Object.wait(Native Method) | |
- waiting on <0x000000008576a3a8> (a java.lang.ref.Reference$Lock) | |
at java.lang.Object.wait(Object.java:485) | |
at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116) | |
- locked <0x000000008576a3a8> (a java.lang.ref.Reference$Lock) | |
Locked ownable synchronizers: | |
- None | |
"main" prio=6 tid=0x000000000057d000 nid=0xee8 runnable [0x00000000028de000] | |
java.lang.Thread.State: RUNNABLE | |
at java.util.ArrayList.size(ArrayList.java:177) | |
at java.util.AbstractList$Itr.hasNext(AbstractList.java:339) | |
at ThreadedBeanWrapperTest.executeTestWithThreads(ThreadedBeanWrapperTest.java:61) | |
at ThreadedBeanWrapperTest.testBeanWrapperWithThreads(ThreadedBeanWrapperTest.java:31) | |
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) | |
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) | |
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) | |
at java.lang.reflect.Method.invoke(Method.java:597) | |
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44) | |
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15) | |
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41) | |
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20) | |
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76) | |
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) | |
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193) | |
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52) | |
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191) | |
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42) | |
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184) | |
at org.junit.runners.ParentRunner.run(ParentRunner.java:236) | |
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:49) | |
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) | |
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467) | |
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683) | |
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390) | |
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197) | |
Locked ownable synchronizers: | |
- None | |
"VM Thread" prio=10 tid=0x000000000051e800 nid=0x2d0c runnable | |
"GC task thread#0 (ParallelGC)" prio=6 tid=0x0000000000478800 nid=0x2f40 runnable | |
"GC task thread#1 (ParallelGC)" prio=6 tid=0x000000000047a800 nid=0x3158 runnable | |
"GC task thread#2 (ParallelGC)" prio=6 tid=0x000000000047c000 nid=0x278 runnable | |
"GC task thread#3 (ParallelGC)" prio=6 tid=0x000000000047e000 nid=0x2214 runnable | |
"VM Periodic Task Thread" prio=10 tid=0x0000000006d46000 nid=0x25e8 waiting on condition | |
JNI global references: 1633 | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import java.lang.reflect.Method; | |
import java.util.ArrayList; | |
import java.util.Iterator; | |
import java.util.List; | |
import java.util.concurrent.ExecutionException; | |
import java.util.concurrent.ExecutorService; | |
import java.util.concurrent.Executors; | |
import java.util.concurrent.Future; | |
import javax.xml.bind.annotation.XmlElement; | |
import javax.xml.bind.annotation.XmlTransient; | |
import org.apache.commons.logging.Log; | |
import org.apache.commons.logging.LogFactory; | |
import org.junit.Test; | |
import org.springframework.core.convert.Property; | |
public class ThreadedPropertyPerformanceTest { | |
Log log = LogFactory.getLog(ThreadedPropertyPerformanceTest.class); | |
@Test | |
public void testBeanWrapperWithThreads() throws Exception | |
{ | |
// executeTestWithThreads(1); | |
// executeTestWithThreads(10); | |
executeTestWithThreads(10); | |
executeTestWithThreads(50); | |
// executeTestWithThreads(50); | |
// executeTestWithThreads(100); | |
// executeTestWithThreads(500); | |
} | |
private void executeTestWithThreads(int numThreads) throws InterruptedException, ExecutionException | |
{ | |
ExecutorService threadPool = Executors.newFixedThreadPool(numThreads); | |
List<Future<Monitor>> futures = new ArrayList<Future<Monitor>>(); | |
for(long i=0; i < 10000; i++) | |
{ | |
Monitor monitor = new Monitor(); | |
futures.add(threadPool.submit(new TestThread(monitor), monitor)); | |
} | |
long average = 0; | |
while (!futures.isEmpty()) | |
{ | |
Iterator<Future<Monitor>> taskIterator = futures.iterator(); | |
while(taskIterator.hasNext()) | |
{ | |
Future<Monitor> future = taskIterator.next(); | |
if(future.isDone() || future.isCancelled()) | |
{ | |
Monitor monitor = future.get(); | |
average += (monitor.endTime - monitor.startTime); | |
// log.info((monitor.endTime - monitor.startTime)/1000000); | |
taskIterator.remove(); | |
} | |
} | |
} | |
log.info("Finished with " + numThreads + " thread(s). Average time: " + ((average/numThreads)/1000000) + "ms"); | |
} | |
private class TestThread implements Runnable | |
{ | |
Method getter; | |
Method setter; | |
Monitor monitor; | |
public TestThread(Monitor monitor) | |
{ | |
try | |
{ | |
this.monitor = monitor; | |
this.getter = SomeClass.class.getMethod("getSomeProperty"); | |
this.setter = SomeClass.class.getMethod("setSomeProperty", String.class); | |
} | |
catch(Exception e) | |
{ | |
log.error(e); | |
} | |
} | |
@Override | |
public void run() { | |
try | |
{ | |
monitor.startTime=System.nanoTime(); | |
for(long i=0; i < 1000; i++) | |
{ | |
new Property(SomeClass.class, this.getter, this.setter); | |
} | |
monitor.endTime=System.nanoTime(); | |
} | |
catch(Exception e) | |
{ | |
log.error(e); | |
} | |
} | |
} | |
private class Monitor | |
{ | |
long startTime; | |
long endTime; | |
} | |
//Some class with some properties which have annotations (using JAXB since they are convenient) | |
private class SomeClass | |
{ | |
@XmlElement | |
private | |
String someProperty; | |
@SuppressWarnings("unused") | |
@XmlTransient | |
public void setSomeProperty(String someProperty) { | |
this.someProperty = someProperty; | |
} | |
@SuppressWarnings("unused") | |
@XmlTransient | |
public String getSomeProperty() { | |
return someProperty; | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment