Hi this is a windows issue. You surely have something (IDE? Console? ...) locking the file the classloader is trying to access. Tomcat has antiJARLocking option btw, not sure it would help that much but was originally intended for it (I can't recall if they removed it in last version or not but was under discussion if I'm not mistaken).
BTW which windows do you use? XP? Romain Manni-Bucau Twitter: @rmannibucau Blog: http://rmannibucau.wordpress.com/ LinkedIn: http://fr.linkedin.com/in/rmannibucau Github: https://github.com/rmannibucau 2014-02-04 tschuler <[email protected]>: > Hi! > > We use TomEE 1.6.0. > We are facing a serious problem in URLClassLoaderFirst as threads get > blocked: > > > Blocking thread: > --------------- > > "http-bio-28080-exec-3" - Thread t@795 > java.lang.Thread.State: RUNNABLE > at java.io.WinNTFileSystem.getBooleanAttributes(Native Method) > at java.io.File.exists(File.java:733) > at sun.misc.URLClassPath$FileLoader.getResource(URLClassPath.java:999) > at sun.misc.URLClassPath.getResource(URLClassPath.java:169) > at java.net.URLClassLoader$1.run(URLClassLoader.java:194) > at java.security.AccessController.doPrivileged(Native Method) > at java.net.URLClassLoader.findClass(URLClassLoader.java:190) > at > org.apache.openejb.util.classloader.URLClassLoaderFirst.loadInternal(URLClassLoaderFirst.java:164) > at > org.apache.openejb.util.classloader.URLClassLoaderFirst.loadClass(URLClassLoaderFirst.java:117) > at java.lang.ClassLoader.loadClass(ClassLoader.java:247) > at java.lang.Class.forName0(Native Method) > at java.lang.Class.forName(Class.java:247) > at serp.util.Strings.toClass(Strings.java:162) > at serp.util.Strings.toClass(Strings.java:108) > at org.apache.openjpa.kernel.QueryImpl.toClass(QueryImpl.java:1691) > at > org.apache.openjpa.kernel.QueryImpl.classForName(QueryImpl.java:1650) > [...] > at > org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1041) > at > org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:603) > at > org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312) > - locked <a0759a6> (a org.apache.tomcat.util.net.SocketWrapper) > 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:662) > JNI locked monitors: > - locked <3916386e> (a > org.apache.openejb.util.classloader.URLClassLoaderFirst) > > > One of the blocked threads: > --------------------------- > > "http-bio-28080-exec-21" - Thread t@4374 > java.lang.Thread.State: BLOCKED > at java.lang.Class.forName0(Native Method) > - waiting to lock <3916386e> (a > org.apache.openejb.util.classloader.URLClassLoaderFirst) owned by > "http-bio-28080-exec-42" t@8262 > at java.lang.Class.forName(Class.java:247) > at serp.util.Strings.toClass(Strings.java:162) > at serp.util.Strings.toClass(Strings.java:108) > at org.apache.openjpa.kernel.QueryImpl.toClass(QueryImpl.java:1691) > at > org.apache.openjpa.kernel.QueryImpl.classForName(QueryImpl.java:1633) > at > org.apache.openjpa.kernel.ExpressionStoreQuery$1.classForName(ExpressionStoreQuery.java:113) > [...] > at > org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1041) > at > org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:603) > at > org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312) > - locked <5eb38f30> (a org.apache.tomcat.util.net.SocketWrapper) > 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:662) > > > What can be done to avoid the blocking? > > Best regards, > T > > > > -- > View this message in context: > http://openejb.979440.n4.nabble.com/Blocked-threads-in-URLClassLoaderFirst-tp4667476.html > Sent from the OpenEJB User mailing list archive at Nabble.com.
