在我们的生产环境中,weblogic服务器挂起半小时,看起来它有死锁线程.但在调查线程转储后,3个线程被阻塞用于同一个锁,但没有其他线程拥有此锁..这是堆栈跟踪 ..
你对这种侮辱有什么合理的解释吗?
这是被阻止的线程;
"pool-1013-thread-5"prio = 7 tid = 600000000842be00 nid = 17280 lwp_id = 518677正在等待监视器条目[9fffffffe6aff000..9fffffffe6b00bd0] java.lang.Thread.State:在org.apache上的BLOCKED(在对象监视器上). log4j.Category.callAppenders(Category.java:201) - 等待在org.apache.log4j.Category.forcedLog(Category.java:388)的org上锁定<9ffffffde1e7ec88>(一个org.apache.log4j.spi.RootLogger)位于org.hibernate.jdbc.AbstractBatcher.logOpenResults(AbstractBatcher.java:426)的org.slf4j.impl.Log4jLoggerAdapter.debug(Log4jLoggerAdapter.java:173)中的.apache.log4j.Category.log(Category.java:853) org.hibernate.jdbc.AbstractBatcher.getResultSet(AbstractBatcher.java:210)org.hibernate.loader.Loader.getResultSet(Loader.java:1808)
"pool-1013-thread-4"prio = 7 tid = 6000000008413400 nid = 17279 lwp_id = 518676等待监视器条目[9fffffffe6eff000..9fffffffe6f00b50] java.lang.Thread.State:在org.apache上的BLOCKED(在对象监视器上). log4j.Category.callAppenders(Category.java:201) - 等待在org.apache.log4j.Category.forcedLog(Category.java:388)的org上锁定<9ffffffde1e7ec88>(一个org.apache.log4j.spi.RootLogger)位于org.hibernate.loader.Loader.getRow(Loader.java:1197)的org.slf4j.impl.Log4jLoggerAdapter.debug(Log4jLoggerAdapter.java:173)的.apache.log4j.Category.log(Category.java:853) Org.hibernate.loader.adQuery.Lad前面的org.hibernate.loader.oQuery(Loader.java:724)中的org.hibernate.loader.Loader.getRowFromResultSet(Loader.java:603)(Loader.java:259) org.hibernate.loader.Loader.loadEntity(Loader.java:1881)org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:71)org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader) .jav a:65)atg.hibernate.persister.entity.AbstractEntityPersister.load(AbstractEntityPersister.java:3072)org.hibernate.event.def上的org.hibernate.event.def.DefaultLoadEventListener.loadFromDatasource(DefaultLoadEventListener.java:434) .DefaultLoadEventListener.doLoad(DefaultLoadEventListener.java:415)在org.hibernate.event.def.DefaultLoadEventListener.load(DefaultLoadEventListener.java:165)在org.hibernate.event.def.DefaultLoadEventListener.proxyOrLoad(DefaultLoadEventListener.java:223)在org.hibernate.event.DefaultLo文件中的org.hibernate.event.def.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:126)(SessionImpl.java:905)
"pool-1013-thread-3"prio = 7 tid = 6000000008411c00 nid = 17278 lwp_id = 518675等待监视器输入[9fffffffe70ff000..9fffffffe7100ad0] java.lang.Thread.State:org.apache中的BLOCKED(在对象监视器上). log4j.Category.callAppenders(Category.java:201) - 等待在org.apache.log4j.Category.forcedLog(Category.java:388)的org上锁定<9ffffffde1e7ec88>(一个org.apache.log4j.spi.RootLogger)位于org.hibernate.jdbc.AbstractBatcher.logOpenResults(AbstractBatcher.java:426)的org.slf4j.impl.Log4jLoggerAdapter.debug(Log4jLoggerAdapter.java:173)中的.apache.log4j.Category.log(Category.java:853) org.hibernate.jdbc.AbstractBatcher.getResultSet(AbstractBatcher.java:210)org.hibernate.loader.getResultSet(Loader.java:1808)atg.hibernate.loader.Loader.doQuery(Loader.java:697)