我有Weblogic 9
,JRockit
和应用程序在WebLogic的两个节点上运行
应用程序编译,部署并成功运行几个小时后,我收到以下错误:
java.lang.NoClassDefFoundError: net/sf/ehcache/concurrent/LockType
at net.sf.ehcache.store.FrontEndCacheTier.readLock(FrontEndCacheTier.java:632)
at net.sf.ehcache.store.FrontEndCacheTier.getKeys(FrontEndCacheTier.java:485)
at net.sf.ehcache.Cache.getKeys(Cache.java:1913)
at org.terracotta.modules.ehcache.store.servermap.OnlineEhcacheSMLocalStore.getKeys(OnlineEhcacheSMLocalStore.java:44)
at org.terracotta.modules.ehcache.store.servermap.EhcacheSMLocalStore.getKeys(EhcacheSMLocalStore.java:82)
at com.terracotta.toolkit.collections.servermap.L1ServerMapLocalCacheStoreImpl.getKeys(L1ServerMapLocalCacheStoreImpl.java:51)
at com.tc.object.servermap.localcache.impl.ServerMapLocalCacheImpl.clear(ServerMapLocalCacheImpl.java:247)
at com.tc.object.TCObjectServerMapImpl.clearLocalCache(TCObjectServerMapImpl.java:600)
at com.terracotta.toolkit.collections.ConcurrentDistributedServerMapDsoApplicator.hydrate(ConcurrentDistributedServerMapDsoApplicator.java:145)
at com.tc.object.TCClassImpl.hydrate(TCClassImpl.java:199)
at com.tc.object.TCObjectImpl.hydrate(TCObjectImpl.java:113)
at com.tc.object.tx.ClientTransactionManagerImpl.basicApply(ClientTransactionManagerImpl.java:350)
at com.tc.object.tx.ClientTransactionManagerImpl.apply(ClientTransactionManagerImpl.java:378)
at com.tc.object.handler.ReceiveTransactionHandler.handleEvent(ReceiveTransactionHandler.java:100)
at com.tc.async.impl.StageImpl$WorkerThread.run(StageImpl.java:145)
<04.07.2012 13:28:54 MSD> Notice WebLogicServer BEA-000388 JVM called WLS shutdown hook. The server will force shutdown now
<04.07.2012 13:28:54 MSD> Alert WebLogicServer BEA-000396 Server shutdown has been requested by WLS Kernel
Exception in thread "Thread-42" java.lang.NoClassDefFoundError: net/sf/ehcache/concurrent/LockType
at net.sf.ehcache.store.FrontEndCacheTier.writeLock(FrontEndCacheTier.java:644)
at net.sf.ehcache.store.FrontEndCacheTier.removeAll(FrontEndCacheTier.java:503)
at net.sf.ehcache.Cache.removeAll(Cache.java:2461)
at net.sf.ehcache.Cache.removeAll(Cache.java:2446)
at org.terracotta.modules.ehcache.store.servermap.OnlineEhcacheSMLocalStore.clear(OnlineEhcacheSMLocalStore.java:13
正如您所看到的,WebLogic在收到此错误后决定关闭两个节点
运行期间NoClassDefFoundError
的原因是什么?我想在这个错误之前应该使用这个类LockType
,这意味着它必须在运行时卸载,对吧?