我们在JSP Web应用程序上使用java 1.4,并且我们的Web应用程序不时会完全停止。当用户尝试访问主页时,他们无法找到页面。Java堆栈转储 - 等待锁定
发生这种情况时,我们运行一个堆栈转储,并使用武士,我可以看到几个阻塞的线程具有相同的消息
at java.util.Collections$SynchronizedMap.get(Collections.java:1942)
- waiting to lock <0x23e40898> (a
java.util.Collections$SynchronizedMap) at
org.hibernate.tuple.EntityModeToTuplizerMapping.getTuplizerOrNull(EntityModeToTuplizerMapping.java:53) at
org.hibernate.tuple.EntityModeToTuplizerMapping.getTuplizer(EntityModeToTuplizerMapping.java:66) at
org.hibernate.type.ComponentType.getPropertyValues(ComponentType.java:353) at
org.hibernate.type.ComponentType.toLoggableString(ComponentType.java:379) at
org.hibernate.pretty.MessageHelper.infoString(MessageHelper.java:89) at
org.hibernate.loader.Loader.loadFromResultSet(Loader.java:1355) at
org.hibernate.loader.Loader.instanceNotYetLoaded(Loader.java:1308) at org.hibernate.loader.Loader.getRow(Loader.java:1206)
at org.hibernate.loader.Loader.getRowFromResultSet(Loader.java:580) at
org.hibernate.loader.Loader.doQuery(Loader.java:701) at
org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:236) at
org.hibernate.loader.Loader.doList(Loader.java:2220) at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2104)
at org.hibernate.loader.Loader.list(Loader.java:2099) at
org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:378) at
org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:338) at
org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:172) at
org.hibernate.impl.SessionImpl.list(SessionImpl.java:1121) at org.hibernate.impl.QueryImpl.list(QueryImpl.java:79) at
org.springframework.orm.hibernate3.HibernateTemplate$29.doInHibernate(HibernateTemplate.java:849) at
org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:372) at
org.springframework.orm.hibernate3.HibernateTemplate.find(HibernateTemplate.java:840) at
org.springframework.orm.hibernate3.HibernateTemplate.find(HibernateTemplate.java:836)
如何才能辨别哪些是拿着这个线程了。有什么工具可以用来识别吗?
感谢
嗨Mprivat,非常感谢。我将把它带给我们的架构师,看看我们是否可以完成升级。由于这只是每隔一段时间才会发生,因此需要一些时间才能确定这是否是原因。我会在几个月内反馈意见,因为只有时间可以打电话。非常感谢
+1我不确定Java 1.4是否有jstack,它的10岁。 – 2012-07-05 14:00:59
好点。 1.5之前没有jstack – mprivat 2012-07-05 14:08:38