2016-07-15 68 views
0

大家好我面對的問題:在即時通訊無法加載我ehcache.xml中的文件&它給我的錯誤,如下的Ehcache(無法加載類)

Exception in thread "main" net.sf.ehcache.CacheException: Unable to load class net.sf.ehcache.terracotta.ExpressEnterpriseTerracottaClusteredInstanceFactory. Initial cause was org.terracotta.toolkit.ToolkitInstantiationException: java.lang.RuntimeException: Unable to create toolkit. 
    at net.sf.ehcache.util.ClassLoaderUtil.createNewInstance(ClassLoaderUtil.java:90) 
    at net.sf.ehcache.terracotta.TerracottaClusteredInstanceHelper.newClusteredInstanceFactory(TerracottaClusteredInstanceHelper.java:157) 
    at net.sf.ehcache.terracotta.TerracottaClient.createNewClusteredInstanceFactory(TerracottaClient.java:180) 
    at net.sf.ehcache.terracotta.TerracottaClient.createClusteredInstanceFactory(TerracottaClient.java:129) 
    at net.sf.ehcache.CacheManager.doInit(CacheManager.java:463) 
    at net.sf.ehcache.CacheManager.init(CacheManager.java:395) 
    at net.sf.ehcache.CacheManager.<init>(CacheManager.java:270) 
    at net.sf.ehcache.CacheManager.newInstance(CacheManager.java:1116) 
    at net.sf.ehcache.CacheManager.newInstance(CacheManager.java:947) 
    at BigMemoryDemo.main(BigMemoryDemo.java:8) 
Caused by: java.lang.RuntimeException: org.terracotta.toolkit.ToolkitInstantiationException: java.lang.RuntimeException: Unable to create toolkit. 
    at org.terracotta.modules.ehcache.TerracottaToolkitBuilder.createToolkit(TerracottaToolkitBuilder.java:63) 
    at org.terracotta.modules.ehcache.TerracottaToolkitBuilder.buildToolkit(TerracottaToolkitBuilder.java:56) 
    at org.terracotta.modules.ehcache.ToolkitInstanceFactoryImpl.createTerracottaToolkit(ToolkitInstanceFactoryImpl.java:183) 
    at org.terracotta.modules.ehcache.ToolkitInstanceFactoryImpl.<init>(ToolkitInstanceFactoryImpl.java:119) 
    at org.terracotta.modules.ehcache.ToolkitInstanceFactoryImpl.<init>(ToolkitInstanceFactoryImpl.java:129) 
    at org.terracotta.modules.ehcache.EnterpriseToolkitInstanceFactory.<init>(EnterpriseToolkitInstanceFactory.java:23) 
    at org.terracotta.modules.ehcache.store.EnterpriseTerracottaClusteredInstanceFactory.createToolkitInstanceFactory(EnterpriseTerracottaClusteredInstanceFactory.java:21) 
    at org.terracotta.modules.ehcache.store.TerracottaClusteredInstanceFactory.<init>(TerracottaClusteredInstanceFactory.java:65) 
    at org.terracotta.modules.ehcache.store.EnterpriseTerracottaClusteredInstanceFactory.<init>(EnterpriseTerracottaClusteredInstanceFactory.java:15) 
    at net.sf.ehcache.terracotta.ExpressEnterpriseTerracottaClusteredInstanceFactory.<init>(ExpressEnterpriseTerracottaClusteredInstanceFactory.java:11) 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) 
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 
    at java.lang.reflect.Constructor.newInstance(Constructor.java:526) 
    at net.sf.ehcache.util.ClassLoaderUtil.createNewInstance(ClassLoaderUtil.java:73) 
    ... 9 more 
Caused by: org.terracotta.toolkit.ToolkitInstantiationException: java.lang.RuntimeException: Unable to create toolkit. 
    at com.terracotta.toolkit.api.TerracottaToolkitFactoryService.createToolkit(TerracottaToolkitFactoryService.java:49) 
    at org.terracotta.toolkit.ToolkitFactory.create(ToolkitFactory.java:100) 
    at org.terracotta.toolkit.ToolkitFactory.createToolkit(ToolkitFactory.java:84) 
    at org.terracotta.modules.ehcache.TerracottaToolkitBuilder.createToolkit(TerracottaToolkitBuilder.java:61) 
    ... 23 more 
Caused by: java.lang.RuntimeException: Unable to create toolkit. 
    at com.terracotta.toolkit.client.TerracottaToolkitCreator.createToolkit(TerracottaToolkitCreator.java:70) 
    at com.terracotta.toolkit.api.EnterpriseTerracottaToolkitFactoryService.createToolkit(EnterpriseTerracottaToolkitFactoryService.java:17) 
    at com.terracotta.toolkit.api.TerracottaToolkitFactoryService.createToolkit(TerracottaToolkitFactoryService.java:44) 
    ... 26 more 
Caused by: java.lang.RuntimeException: org.terracotta.toolkit.ToolkitRuntimeException: net.sf.ehcache.config.InvalidConfigurationException: The disk path for this cache manager is the default path. You must define a specific unique disk path for this manager in order to use restartable caches. 
    at com.terracotta.toolkit.client.TerracottaToolkitCreator.initializeDefaultCacheManagerProvider(TerracottaToolkitCreator.java:175) 
    at com.terracotta.toolkit.client.TerracottaToolkitCreator.createToolkit(TerracottaToolkitCreator.java:55) 
    ... 28 more 
Caused by: org.terracotta.toolkit.ToolkitRuntimeException: net.sf.ehcache.config.InvalidConfigurationException: The disk path for this cache manager is the default path. You must define a specific unique disk path for this manager in order to use restartable caches. 
    at com.terracotta.toolkit.express.TerracottaInternalClientImpl.instantiate(TerracottaInternalClientImpl.java:159) 
    at com.terracotta.toolkit.client.TerracottaToolkitCreator.initializeDefaultCacheManagerProvider(TerracottaToolkitCreator.java:173) 
    ... 29 more 
Caused by: net.sf.ehcache.config.InvalidConfigurationException: The disk path for this cache manager is the default path. You must define a specific unique disk path for this manager in order to use restartable caches. 
    at net.sf.ehcache.store.restartability.EhcacheRestartability.constructRestartability(EhcacheRestartability.java:189) 
    at net.sf.ehcache.store.restartability.EhcacheRestartability.startup(EhcacheRestartability.java:94) 
    at net.sf.ehcache.EnterpriseFeaturesManager.startup(EnterpriseFeaturesManager.java:102) 
    at net.sf.ehcache.CacheManager.doInit(CacheManager.java:520) 
    at net.sf.ehcache.CacheManager.init(CacheManager.java:395) 
    at net.sf.ehcache.CacheManager.<init>(CacheManager.java:270) 
    at net.sf.ehcache.CacheManager.newInstance(CacheManager.java:1116) 
    at net.sf.ehcache.CacheManager.newInstance(CacheManager.java:1092) 
    at com.terracotta.toolkit.ToolkitCacheManagerProvider.createDefaultToolkitCacheManager(ToolkitCacheManagerProvider.java:19) 
    at com.terracotta.toolkit.ToolkitCacheManagerProvider.<init>(ToolkitCacheManagerProvider.java:14) 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) 
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 
    at java.lang.reflect.Constructor.newInstance(Constructor.java:526) 
    at com.terracotta.toolkit.express.TerracottaInternalClientImpl.instantiate(TerracottaInternalClientImpl.java:156) 
    ... 30 more 

注: - 這是工作的罰款早。我在TSA剛剛做了一個被動節點。 TSA是高達&運行

這是ehcache.xml中文件

<?xml version="1.0" encoding="UTF-8"?> 
<ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xsi:noNamespaceSchemaLocation="ehcache.xsd" 
     name="BigMemoryMax"> 
     <defaultCache   
     maxEntriesLocalHeap="0"/> 
     <cache name="PersonCache" maxEntriesLocalHeap="20"> 

     <searchable/> 

     </cache> 
     <terracottaConfig url="127.0.0.1:9510" /> 
</ehcache> 

回答

0

確切的錯誤是在堆棧跟蹤的底部:

Caused by: net.sf.ehcache.config.InvalidConfigurationException: The disk path for this cache manager is the default path. You must define a specific unique disk path for this manager in order to use restartable caches. 
    at net.sf.ehcache.store.restartability.EhcacheRestartability.constructRestartability(EhcacheRestartability.java:189) 
    at net.sf.ehcache.store.restartability.EhcacheRestartability.startup(EhcacheRestartability.java:94) 
    at net.sf.ehcache.EnterpriseFeaturesManager.startup(EnterpriseFeaturesManager.java:102) 
    at net.sf.ehcache.CacheManager.doInit(CacheManager.java:520) 
    at net.sf.ehcache.CacheManager.init(CacheManager.java:395) 
    at net.sf.ehcache.CacheManager.<init>(CacheManager.java:270) 
    at net.sf.ehcache.CacheManager.newInstance(CacheManager.java:1116) 
    at net.sf.ehcache.CacheManager.newInstance(CacheManager.java:1092) 

這表明配置問題,並給出了您在問題中給出的配置沒有磁盤組件,這意味着您的應用程序正在加載不同的ehcache.xml

通常Ehcache在其日誌中指示加載了哪個配置文件。如果您沒有看到,請在日誌框架中將日誌記錄級別轉換爲DEBUG,日期爲net.sf.ehcache

+0

是@Louis。感謝您的回覆。是的,它加載了一個不同的配置..在我之前使用「java.io.tmpdir」的磁盤路徑中。之後,我從那以後刪除它,即使在給出diff路徑之後它也給出了問題。所以我儘快刪除了機器中的所有臨時文件夾數據..它開始工作正常......非常感謝 –

相關問題