В этой теме дамп:
INFO | jvm 3 | 2011/06/08 13:36:12 | "ExecuteThread: '38' for queue: 'default'" id=55 idx=0x78 tid=5316 prio=5 alive, in native, waiting, daemon
INFO | jvm 3 | 2011/06/08 13:36:12 | -- Waiting for notification on: weblogic/ejb20/locks/ExclusiveLockManager$LockWaiter@0x25EF8828[fat lock]
INFO | jvm 3 | 2011/06/08 13:36:12 | at jrockit/vm/Threads.waitForSignal(J)Z(Native Method)
INFO | jvm 3 | 2011/06/08 13:36:12 | at java/lang/Object.wait(J)V(Native Method)[optimized]
INFO | jvm 3 | 2011/06/08 13:36:12 | at weblogic/ejb20/locks/ExclusiveLockManager$LockBucket.lock(Ljava/lang/Object;Ljava/lang/Object;I)Z(ExclusiveLockManager.java:504)[optimized]
INFO | jvm 3 | 2011/06/08 13:36:12 | ^-- Lock released while waiting: weblogic/ejb20/locks/ExclusiveLockManager$LockWaiter@0x25EF8828[fat lock]
INFO | jvm 3 | 2011/06/08 13:36:12 | at weblogic/ejb20/locks/ExclusiveLockManager.lock(Ljava/lang/Object;Ljava/lang/Object;I)Z(ExclusiveLockManager.java:261)[optimized]
INFO | jvm 3 | 2011/06/08 13:36:12 | at weblogic/ejb20/manager/ExclusiveEntityManager.acquireLock(Ljava/lang/Object;Ljavax/transaction/Transaction;I)Z(ExclusiveEntityManager.java:210)[inlined]
INFO | jvm 3 | 2011/06/08 13:36:12 | at weblogic/ejb20/manager/ExclusiveEntityManager.getReadyBean(Ljava/lang/Object;Ljavax/transaction/Transaction;I)Ljavax/ejb/EntityBean;(ExclusiveEntityManager.java:267)[inlined]
INFO | jvm 3 | 2011/06/08 13:36:12 | at weblogic/ejb20/manager/ExclusiveEntityManager.preInvoke(Lweblogic/ejb20/internal/InvocationWrapper;)Ljavax/ejb/EnterpriseBean;(ExclusiveEntityManager.java:242)[optimized]
INFO | jvm 3 | 2011/06/08 13:36:12 | at weblogic/ejb20/internal/BaseEJBObject.preInvoke(Lweblogic/ejb20/internal/InvocationWrapper;Lweblogic/security/service/ContextHandler;)Lweblogic/ejb20/internal/InvocationWrapper;(BaseEJBObject.java:152)[inlined]
INFO | jvm 3 | 2011/06/08 13:36:12 | at weblogic/ejb20/internal/EntityEJBObject.preInvoke(Lweblogic/ejb20/internal/MethodDescriptor;Lweblogic/security/service/ContextHandler;)Lweblogic/ejb20/internal/InvocationWrapper;(EntityEJBObject.java:104)[inlined]
INFO | jvm 3 | 2011/06/08 13:36:12 | at foob/ejb/commodity/ejb_Commodity_etfd4i_EOImpl.getData()Lfoob/ejb/commodity/db/CommodityData;(ejb_Commodity_etfd4i_EOImpl.java:701)[optimized]
INFO | jvm 3 | 2011/06/08 13:36:12 | at foob/ejb/item/OurItem.loadCommodityData()V(OurItem.java:172)[optimized]
INFO | jvm 3 | 2011/06/08 13:36:12 | ^-- Holding lock: java/lang/Class@0x067EA070[fat lock]
INFO | jvm 3 | 2011/06/08 13:36:12 | at foob/ejb/item/OurItem.getCommodityData()Lfoob/ejb/commodity/db/CommodityData;(OurItem.java:251)
INFO | jvm 3 | 2011/06/08 13:36:12 | at foob/ejb/item/OurItem.getTheControlGid()Ljava/lang/String;(OurItem.java:259)
INFO | jvm 3 | 2011/06/08 13:36:12 | at foob/business/shipment/OurThing.getTheControlGid(Lfoob/util/jdbc/OurConnection;)Ljava/lang/String;(OurThing.java:379)
Что значит линия
Lock released while waiting: weblogic/ejb20/locks/ExclusiveLockManager$LockWaiter@0x25EF8828
означает? У нас было заблокировано еще 8 потоков, ожидающих освобождения java/lang/Class@0x067EA070
, которые удерживает этот поток, но я не понимаю, что блокировал этот поток, и что это означает, что блокировка была снята. Я бы подумал, что дамп потока - это событие типа «остановка мира», и поэтому рассматриваемая строка не будет ссылаться на освобождение блокировки во время дампа потока ...
Кроме того, имеет ли место, где оно появляется, какое-либо значение (то есть линия над ним и под ним)?
Очевидно, я не ожидаю Java, поэтому я надеюсь, что это не слишком глупый вопрос. Спасибо за помощь!