【问题标题】:How to configure Infinispan 8.0.1 in Dynamic Web Project using Eclipse IDE如何使用 Eclipse IDE 在动态 Web 项目中配置 Infinispan 8.0.1
【发布时间】:2015-10-29 16:55:48
【问题描述】:

我是 Infinispan 和 JBOSS Cache 的新手,我正在尝试使用 infinispan 文档来学习这些概念。但未能成功配置缓存的自定义 xml 配置。你能帮我吗??

我有以下 Java 类(Infinispan jar 文件添加到构建路径)

CustomCacheBean.java

package com.jboss.cache;
import java.io.IOException;
import org.infinispan.Cache;
import org.infinispan.configuration.cache.ConfigurationBuilder;
import org.infinispan.eviction.EvictionStrategy;
import org.infinispan.manager.DefaultCacheManager;
import org.infinispan.manager.EmbeddedCacheManager;
public class CustomCacheBean {
public static void main(String[] args) {
  EmbeddedCacheManager manager = 
           new DefaultCacheManager();
           manager.defineConfiguration("custom-cache",new ConfigurationBuilder().build());
           Cache<Object, Object> c = manager.getCache("custom-cache");
   try {
        c = new DefaultCacheManager("infinispan.xml").getCache("xml-configured-cache");
   } catch (IOException e) {
        e.printStackTrace();
   }
 }
}

下面是我的xml

infinispan.xml(放在 web_Content 文件夹下)

<infinispan xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="urn:infinispan:config:8.0.1 http://www.infinispan.org/schemas/infinispan-config-8.0.1.xsd"
    xmlns="urn:infinispan:config:8.0.1">
    <namedCache name="xml-configured-cache">
            <eviction strategy="LIRS" maxEntries="10" />
    </namedCache>
</infinispan>

当我尝试执行 CustomCacheBean java 类时,出现以下错误

控制台:

log4j:WARN No appenders could be found for logger (infinispan.org.jboss.logging).
log4j:WARN Please initialize the log4j system properly.
Exception in thread "main" org.infinispan.commons.CacheConfigurationException: ISPN000327: Cannot find a parser for element 'infinispan' in namespace 
'urn:infinispan:config:8.0.1'. Check that your configuration is up-to date for this version of Infinispan.
at org.infinispan.configuration.parsing.ParserRegistry.parseElement(ParserRegistry.java:147)
at org.infinispan.configuration.parsing.ParserRegistry.parse(ParserRegistry.java:131)
at org.infinispan.configuration.parsing.ParserRegistry.parse(ParserRegistry.java:118)
at org.infinispan.configuration.parsing.ParserRegistry.parse(ParserRegistry.java:105)
at org.infinispan.manager.DefaultCacheManager.<init>(DefaultCacheManager.java:271)
at org.infinispan.manager.DefaultCacheManager.<init>(DefaultCacheManager.java:244)
at org.infinispan.manager.DefaultCacheManager.<init>(DefaultCacheManager.java:231)
at com.jboss.cache.CustomCacheBean.main(CustomCacheBean.java:19)

【问题讨论】:

    标签: eclipse jboss xml-parsing infinispan jboss-eap-6


    【解决方案1】:

    我建议使用基于 Java 的配置而不是 XML。你可以看看教程:

    请注意,页面底部有一个 Github 按钮(它将导航到 Github 存储库)。

    【讨论】:

    • 是的,我可以设法使用默认和自定义缓存进行简单的编程缓存。如果我也可以学习使用 xml 文件进行配置,那将非常有帮助。
    【解决方案2】:

    您可能在 XML 配置中使用了错误的命名空间 - 命名空间不使用微型版本,因此,请使用:

    xsi:schemaLocation="urn:infinispan:config:8.0 http://www.infinispan.org/schemas/infinispan-config-8.0.xsd" xmlns="urn:infinispan:config:8.0"
    

    而不是

    xsi:schemaLocation="urn:infinispan:config:8.0.1 http://www.infinispan.org/schemas/infinispan-config-8.0.1.xsd" xmlns="urn:infinispan:config:8.0.1"
    

    请确保您的 IDE 针对 XSD 验证您的配置;这可以为您省去很多麻烦(不仅是 Infinispan)。

    【讨论】:

      猜你喜欢
      • 2012-05-15
      • 2011-06-25
      • 2021-01-15
      • 2013-06-19
      • 1970-01-01
      • 2012-10-05
      • 1970-01-01
      • 1970-01-01
      • 2011-06-02
      相关资源
      最近更新 更多