Weblogic中的阻塞线程

时间:2020-03-16 08:40:46

标签: java

我在这里遇到一种情况,我在weblogic中部署的Java应用程序已关闭,我检查了完整的堆栈转储,发现在weblogic(10.3.6)受管服务器中许多线程被阻塞。

[ACTIVE] ExecuteThread: '31' for queue: 'weblogic.kernel.Default (self-tuning)'" daemon prio=10 tid=0x00002aaac05e6000 nid=0x3c52 waiting for monitor entry [0x000000004475a000]

   java.lang.Thread.State: BLOCKED (on object monitor)

    at java.util.HashSet.<init>(HashSet.java:86)

    at sun.misc.URLClassPath$JarLoader.getResource(URLClassPath.java:764)

    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 java.lang.ClassLoader.loadClass(ClassLoader.java:306)

    - locked <0x0000000700854c68> (a sun.misc.Launcher$AppClassLoader)

    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)

    - locked <0x0000000700854c68> (a sun.misc.Launcher$AppClassLoader)

    at java.lang.ClassLoader.loadClass(ClassLoader.java:295)

    - locked <0x0000000700b80ee8> (a weblogic.utils.classloaders.GenericClassLoader)

    at java.lang.ClassLoader.loadClass(ClassLoader.java:247)

    at weblogic.utils.classloaders.GenericClassLoader.loadClass(GenericClassLoader.java:179)

    at weblogic.utils.classloaders.FilteringClassLoader.findClass(FilteringClassLoader.java:101)

    at weblogic.utils.classloaders.FilteringClassLoader.loadClass(FilteringClassLoader.java:86)

    at java.lang.ClassLoader.loadClass(ClassLoader.java:295)

    - locked <0x0000000700b8e180> (a weblogic.utils.classloaders.GenericClassLoader)

    at java.lang.ClassLoader.loadClass(ClassLoader.java:295)

    - locked <0x0000000700ba3890> (a weblogic.utils.classloaders.ChangeAwareClassLoader)

    at java.lang.ClassLoader.loadClass(ClassLoader.java:247)

    at weblogic.utils.classloaders.GenericClassLoader.loadClass(GenericClassLoader.java:179)

    at weblogic.utils.classloaders.ChangeAwareClassLoader.loadClass(ChangeAwareClassLoader.java:52)

    at org.hibernate.util.ReflectHelper.classForName(ReflectHelper.java:187)

    at org.hibernate.util.ReflectHelper.getConstantValue(ReflectHelper.java:266)

    at org.hibernate.hql.ast.QueryTranslatorImpl$JavaConstantConverter.handleDotStructure(QueryTranslatorImpl.java:599)

    at org.hibernate.hql.ast.QueryTranslatorImpl$JavaConstantConverter.visit(QueryTranslatorImpl.java:594)

    at org.hibernate.hql.ast.util.NodeTraverser.visitDepthFirst(NodeTraverser.java:78)

    at org.hibernate.hql.ast.util.NodeTraverser.traverseDepthFirst(NodeTraverser.java:66)

    at org.hibernate.hql.ast.QueryTranslatorImpl.parse(QueryTranslatorImpl.java:280)

    at org.hibernate.hql.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:182)

    - locked <0x00000007aa447b80> (a org.hibernate.hql.ast.QueryTranslatorImpl)

    at org.hibernate.hql.ast.QueryTranslatorImpl.compile(QueryTranslatorImpl.java:136)

    at org.hibernate.engine.query.HQLQueryPlan.<init>(HQLQueryPlan.java:101)

    at org.hibernate.engine.query.HQLQueryPlan.<init>(HQLQueryPlan.java:80)

    at org.hibernate.engine.query.QueryPlanCache.getHQLQueryPlan(QueryPlanCache.java:124)

    at org.hibernate.impl.AbstractSessionImpl.getHQLQueryPlan(AbstractSessionImpl.java:156)

    at org.hibernate.impl.AbstractSessionImpl.createQuery(AbstractSessionImpl.java:135)

    at org.hibernate.impl.SessionImpl.createQuery(SessionImpl.java:1770)

    at org.hibernate.ejb.AbstractEntityManagerImpl.createQuery(AbstractEntityManagerImpl.java:272)

    at sun.reflect.GeneratedMethodAccessor70.invoke(Unknown Source)

    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

    at java.lang.reflect.Method.invoke(Method.java:597)

    at org.springframework.orm.jpa.JpaTemplate$CloseSuppressingInvocationHandler.invoke(JpaTemplate.java:429)

    at com.sun.proxy.$Proxy253.createQuery(Unknown Source)

    ........

"2SPLIT_DATA" prio=10 tid=0x00002aaab23c2000 nid=0x2499 waiting for monitor entry [0x000000004869a000]
   java.lang.Thread.State: BLOCKED (on object monitor)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:291)
    - waiting to lock <0x0000000700ba3890> (a weblogic.utils.classloaders.ChangeAwareClassLoader)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
    at weblogic.utils.classloaders.GenericClassLoader.loadClass(GenericClassLoader.java:179)
    at weblogic.utils.classloaders.ChangeAwareClassLoader.loadClass(ChangeAwareClassLoader.java:45)
    at org.springframework.util.ClassUtils.isVisible(ClassUtils.java:1129)
    at org.springframework.util.ClassUtils.getAllInterfacesForClassAsSet(ClassUtils.java:1089)
    at org.springframework.util.ClassUtils.getAllInterfacesForClassAsSet(ClassUtils.java:1096)
    at org.springframework.orm.jpa.ExtendedEntityManagerCreator.createProxy(ExtendedEntityManagerCreator.java:258)
    at org.springframework.orm.jpa.ExtendedEntityManagerCreator.createProxy(ExtendedEntityManagerCreator.java:229)
    at org.springframework.orm.jpa.ExtendedEntityManagerCreator.createApplicationManagedEntityManager(ExtendedEntityManagerCreator.java:110)
    at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.invokeProxyMethod(AbstractEntityManagerFactoryBean.java:379)
    at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean$ManagedEntityManagerFactoryInvocationHandler.invoke(AbstractEntityManagerFactoryBean.java:517)
    at com.sun.proxy.$Proxy80.createEntityManager(Unknown Source)
    at org.springframework.orm.jpa.EntityManagerFactoryUtils.doGetTransactionalEntityManager(EntityManagerFactoryUtils.java:199)
    at org.springframework.orm.jpa.EntityManagerFactoryUtils.getTransactionalEntityManager(EntityManagerFactoryUtils.java:146)
    at org.springframework.orm.jpa.EntityManagerFactoryAccessor.getTransactionalEntityManager(EntityManagerFactoryAccessor.java:169)
    at org.springframework.orm.jpa.JpaTemplate.execute(JpaTemplate.java:177)
    at org.springframework.orm.jpa.JpaTemplate.execute(JpaTemplate.java:150)
    at org.springframework.orm.jpa.JpaTemplate.find(JpaTemplate.java:310)
    at .....

由于相同的原因,没有阻塞所有阻塞的线程,但是我们有许多线程在等待锁定相同的锁<0x0000000700ba3890>; 我真的不知道为什么会这样,这是我的Java应用程序死亡的原因吗?

0 个答案:

没有答案
相关问题