运行时NoClassDefFoundError的可能原因

时间:2012-07-06 09:49:26

标签: java weblogic

我有Weblogic 9JRockit和应用程序在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,这意味着它必须在运行时卸载,对吧?

0 个答案:

没有答案