yeah it is teh same see below
|OK, ran with -Xdebug, and here are the two threads again:
|
|"main" prio=5 tid=0xc7dd80 nid=0x10b waiting for monitor entry
|[0x93fc000..0x93ffdc0]
| at java.lang.ClassLoader.loadClass(ClassLoader.java:286)
| - waiting to lock <32ff5d8> (a
|org.jboss.mx.loading.UnifiedClassLoader)
| at
|org.jboss.mx.loading.UnifiedClassLoader.loadClassLocally(UnifiedCla
|ssLoader.
|java:180)
| at
|org.jboss.mx.loading.UnifiedLoaderRepository.loadClass(UnifiedLoade
|rReposito
|ry.java:178)
Goes through ULR, locks "monoThread". <32ff5d8> will unlock by other thread
| at
|org.jboss.mx.loading.UnifiedClassLoader.loadClass(UnifiedClassLoade
|r.java:21
|7)
|
snip
at java.lang.Thread.run(Thread.java:484)
|
|"Thread-35" prio=5 tid=0xb6c2800 nid=0x13e waiting for monitor entry
|[0xb7ef000..0xb7efdc0]
| at java.lang.ClassLoader.loadClass(ClassLoader.java:286)
| - waiting to lock <30e4010> (a
|org.jboss.mx.loading.UnifiedClassLoader)
| at
|org.jboss.mx.loading.UnifiedClassLoader.loadClassLocally(UnifiedCla
|ssLoader.
|java:180)
| at
|org.jboss.mx.loading.UnifiedLoaderRepository.loadClass(UnifiedLoade
|rReposito
|ry.java:178)
Thread 2 reaches here sees the ULR under usage by thread one so thread 2
goes to sleep on the UCL which it comes from (we know it) so it realeases
... (see below)
| at
|org.jboss.mx.loading.UnifiedClassLoader.loadClass(UnifiedClassLoade
|r.java:21
|7)
| at java.lang.ClassLoader.loadClass(ClassLoader.java:253)
| at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:313)
| - locked <32ff5d8> (a org.jboss.mx.loading.UnifiedClassLoader)
... this lock on the unified classloader <32ff5d8> which thread one is
waiting on..
done
marcf
PS: I am trying to get the code done but I have 3 things on my plate today,
will get around to it
_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development