我需要在JBoss EAP 7.2下在Web应用程序上使用缓存系统
我的目的是在应用程序级别配置缓存,因此不需要服务器配置。
缓存提供者是 Infinispan
这是我的pom.xml:
g.V().hasLabel('Country').has('code','IN')
.project('country')
.by(project('code','states')
.by(values('code'))
.by(inE('partOf').has('type','state').outV().has('code')
.project('code','cities')
.by(values('code'))
.by(coalesce(inE('partOf').has('type','city').outV().has('code')
.project('code','malls')
.by(values('code'))
.by(coalesce(
inE('partOf').has('type','malls').outV().valueMap(),
constant([])).fold()),
constant([])).fold())
.fold()))
$ {version.infinispan}是9.3.3.Final,是JBoss EAP 7.2发行的版本(另请参见https://access.redhat.com/articles/112673)
当我尝试启动AS时,出现此错误:
<dependency>
<groupId>org.infinispan</groupId>
<artifactId>infinispan-hibernate-cache-v53</artifactId>
<version>${version.infinispan}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.infinispan</groupId>
<artifactId>infinispan-core</artifactId>
<version>${version.infinispan}</version>
<scope>provided</scope>
</dependency>
猜猜我必须在清单或其他东西上进行配置, 但是我还没有找到方法。
任何帮助将不胜感激
编辑
在RedHat页面上报告了以下句子:
[...] a class it references was not found: org.infinispan.manager.EmbeddedCacheManager
这是否意味着我不能直接使用infinispan缓存?
答案 0 :(得分:2)
如果要为自己的数据向EAP添加缓存,则应使用JBoss Datagrid(下游)或Infinispan(上游)模块,以便完全控制缓存层的版本和功能。请参见this quickstart来做到这一点。
EAP附带的版本是固定的,并且不包含所有Infinispan模块,因此建议您不要直接使用它。