如何使用EclipseIDE在动态Web项目中配置Infinispan 8.0.1

如何使用EclipseIDE在动态Web项目中配置Infinispan 8.0.1,eclipse,jboss,xml-parsing,infinispan,jboss-eap-6,Eclipse,Jboss,Xml Parsing,Infinispan,Jboss Eap 6,我是Infinispan和JBOSS缓存的新手,正在尝试使用Infinispan文档学习这些概念。但未能成功配置缓存的自定义xml配置。你能帮帮我吗 我有以下Java类(Infinispan jar文件添加到构建路径) CustomCacheBean.java package com.jboss.cache; import java.io.IOException; import org.infinispan.Cache; import org.infinispan.configuration.c

我是Infinispan和JBOSS缓存的新手,正在尝试使用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();
   }
 }
}
package com.jboss.cache;
导入java.io.IOException;
导入org.infinispan.Cache;
导入org.infinispan.configuration.cache.ConfigurationBuilder;
导入org.infinispan.execution.executionstrategy;
导入org.infinispan.manager.DefaultCacheManager;
导入org.infinispan.manager.EmbeddedCacheManager;
公共类CustomCacheBean{
公共静态void main(字符串[]args){
EmbeddedCacheManager管理器=
新建DefaultCacheManager();
manager.defineConfiguration(“自定义缓存”,新的ConfigurationBuilder().build());
Cache c=manager.getCache(“自定义缓存”);
试一试{
c=新的DefaultCacheManager(“infinispan.xml”).getCache(“xml配置的缓存”);
}捕获(IOE异常){
e、 printStackTrace();
}
}
}
下面是我的xml

infinispan.xml(放在web_内容文件夹下)


当我尝试执行CustomCacheBeanJava类时,我得到以下错误

控制台:

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)
log4j:WARN找不到记录器的附加器(infinispan.org.jboss.logging)。
log4j:警告请正确初始化log4j系统。
线程“main”org.infinispan.commons.CacheConfigurationException中的异常:ISPN000327:在命名空间中找不到元素“infinispan”的解析器
'urn:infinispan:config:8.0.1'。检查您的配置是否是此版本Infinispan的最新配置。
位于org.infinispan.configuration.parsing.ParserRegistry.parseElement(ParserRegistry.java:147)
位于org.infinispan.configuration.parsing.ParserRegistry.parse(ParserRegistry.java:131)
位于org.infinispan.configuration.parsing.ParserRegistry.parse(ParserRegistry.java:118)
位于org.infinispan.configuration.parsing.ParserRegistry.parse(ParserRegistry.java:105)
位于org.infinispan.manager.DefaultCacheManager。(DefaultCacheManager.java:271)
位于org.infinispan.manager.DefaultCacheManager。(DefaultCacheManager.java:244)
位于org.infinispan.manager.DefaultCacheManager。(DefaultCacheManager.java:231)
位于com.jboss.cache.CustomCacheBean.main(CustomCacheBean.java:19)

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


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

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

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)。

是的,我可以使用默认缓存和自定义缓存进行简单的编程缓存。如果我还可以学习使用xml文件进行配置,这将非常有帮助。
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"