JCS CompositeCacheAttributes не может быть приведен к ICompositeCacheAttributes
Я использую JCS, который я использовал ранее таким же образом, без каких-либо проблем.
Когда сервер запускается, я устанавливаю свойства кеша вручную
CompositeCacheManager ccm = CompositeCacheManager.getUnconfiguredInstance();
Properties props = new Properties();
props.put("jcs.default", "");
props.put("jcs.default.cacheattributes", "org.apache.jcs.engine.CompositeCacheAttributes");
props.put("jcs.default.cacheattributes.MaxObjects", "1000");
props.put("jcs.default.cacheattributes.MemoryCacheName", "org.apache.jcs.engine.memory.lru.LRUMemoryCache");
props.put("jcs.default.cacheattributes.UseMemoryShrinker", "true");
props.put("jcs.default.cacheattributes.MaxMemoryIdleTimeSeconds", "3600");
props.put("jcs.default.cacheattributes.ShrinkerIntervalSeconds", "60");
props.put("jcs.default.elementattributes", "org.apache.jcs.engine.ElementAttributes");
props.put("jcs.default.elementattributes.IsEternal", "false");
ccm.configure(props);
При настройке этого способа выдается ошибка
org.apache.jcs.engine.CompositeCacheAttributes cannot be cast to org.apache.commons.jcs.engine.behavior.ICompositeCacheAttributes
Я использовал этот же метод в других проектах без проблем. Почему я получаю это исключение сейчас?
РЕДАКТИРОВАТЬ
Я получаю JAR-файл JCS от
<dependency>
<groupId>org.apache.jcs</groupId>
<artifactId>jcs</artifactId>
<version>1.3</version>
</dependency>
До этого я тоже пытался получить 2.0-бета версию с той же проблемой
РЕДАКТИРОВАТЬ 2
Я открыл билет в Джира, если кто-то еще сталкивается с той же проблемой и хочет следовать.
0 ответов
After a couple of tries, had found that this issue is with the dependencies. Below set of dependencies worked for me
<dependency>
<groupId>org.apache.jcs</groupId>
<artifactId>jcs</artifactId>
<version>1.3</version>
</dependency>
<dependency>
<groupId>concurrent</groupId>
<artifactId>concurrent</artifactId>
<version>1.3.4</version>
</dependency>
INSTEAD OF -
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-jcs-core</artifactId>
<version>2.2</version>
</dependency>
Selecting the right set of dependencies solved the problem for me.