首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Wildfly 12无穷大缓存查找不起作用

Wildfly 12无穷大缓存查找不起作用
EN

Stack Overflow用户
提问于 2018-04-11 11:28:41
回答 3查看 3.3K关注 0票数 3

我正在从通配符10迁移到通配符12,我已经创建了与在通配符10中配置的相同的本地缓存。

独立的-Ful.xml配置:

代码语言:javascript
运行
复制
 <cache-container name="DataCache" default-cache="modelcache" statistics-enabled="false">
            <local-cache name="modelcache" statistics-enabled="false"/>
        </cache-container>

在带有@startup注释的单例ejb中查找代码:

代码语言:javascript
运行
复制
 @Resource(lookup = "java:jboss/infinispan/container/DataCache")
private CacheContainer Container;
@PostConstruct
public void init() {
    Container.start();
    modelCache = Container.getCache("modelcache");

}

我在部署文件时得到了下面的异常

原因如下:

org.infinispan.commons.CacheConfigurationException: ISPN000436:已请求缓存‘模型缓存’,但没有使用该名称的缓存配置,也没有为该容器设置默认缓存。

怎么解决这个问题?

EN

回答 3

Stack Overflow用户

发布于 2018-07-27 08:30:24

代码语言:javascript
运行
复制
<resource-ref>
    <res-ref-name>infinispan/DataCache</res-ref-name>
    <lookup-name>java:jboss/infinispan/cache/DataCache/modelcache</lookup-name>
</resource-ref>

jboss-web.xml中。当请求缓存时,这样做(请注意,name注释属性用于指定资源):

代码语言:javascript
运行
复制
@Resource(name = "infinispan/DataCache")
private Cache<K, V> cache;

有关更多细节,请参见此线程:https://developer.jboss.org/thread/277425

票数 2
EN

Stack Overflow用户

发布于 2018-07-16 20:57:43

将以下条目放入项目描述符文件(web.xml、ejb-jar.xml等)

代码语言:javascript
运行
复制
<resource-ref>
    <res-ref-name>infinispan/DataCache</res-ref-name>
    <lookup-name>java:jboss/infinispan/container/DataCache</lookup-name>
</resource-ref>
票数 1
EN

Stack Overflow用户

发布于 2021-07-10 21:47:09

对于通配符10,您可以通过以下方式查找无穷大缓存或缓存容器

  1. 您需要在以下子系统下的独立-ha.xml(高可用性)中定义缓存
代码语言:javascript
运行
复制
 <cache-container name="myCacheContainer" default-cache="myCache" module="org.wildfly.clustering.ejb.infinispan">
                <transport lock-timeout="60000"/>
              <replicated-cache name="myCache">
                    <expiration lifespan="86400000" max-idle="3600000"/>
                </replicated-cache>
                </cache-container>
  1. 一旦定义了缓存,就可以查找缓存或容器。2.为了查找缓存,您应该在项目描述符文件(web.xml、jboss-web.xml等)中设置一个资源引用元素。 如果要查找缓存容器,则还需要在项目描述符中定义配置查找。因此,资源引用如下所示 java:jboss/infinispan/container/myCacheContainer无限/myCacheContainer org.infinispan.configuration.cache.Configuration java:jboss/infinispan/configuration/myCacheContainer/default /myCacheContainer org.infinispan.configuration.cache.Configuration java:jboss/infinispan/configuration/myCacheContainer/default
  2. 现在,如果使用spring,您可以对缓存执行如下JNDI查找 jndi-name=“无穷大/myCache”/> 3.a或您可以这样查找容器 4.a您可以按以下方式注入容器 @name=“myCacheContainer”私人CacheContainer cacheContainer;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49773927

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档