我用到了TERRACOTTA3。1。0版本的TCDistributedCache。TCDistributedCache难道只能用于DSO的环境下吗?在附件的示例中,如果直接运行TCCacheRunOne的main方法(run as java application),会报下面的Exception。如果run as terracotta dso application,则没有问题。记得TCDistributedCache用在单机的环境下不是相当于一个本地的数据结构吗?为什么不可以呢
Could not find cache [album];
Exception in thread "main" java.lang.NoClassDefFoundError: com/tc/object/bytecode/NotClearable
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:621)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
at java.net.URLClassLoader.access$000(URLClassLoader.java:56)
at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
at org.terracotta.modules.tccache.StoreImpl.<init>(StoreImpl.java:37)
at org.terracotta.modules.tccache.TCDistributedCacheImpl.<init>(TCDistributedCacheImpl.java:41)
at albums.TCCacheFactory.createCache(TCCacheFactory.java:45)
at albums.TCCacheFactory.getCache(TCCacheFactory.java:32)
at albums.TCCacheRunOne.main(TCCacheRunOne.java:13)
Caused by: java.lang.ClassNotFoundException: com.tc.object.bytecode.NotClearable
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
... 17 more