Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Caching infinispan xml解析器中的多个配置文件错误_Caching_W3c_Infinispan_Jcache - Fatal编程技术网

Caching infinispan xml解析器中的多个配置文件错误

Caching infinispan xml解析器中的多个配置文件错误,caching,w3c,infinispan,jcache,Caching,W3c,Infinispan,Jcache,您好,我正在尝试使用infinispan中的多个配置文件,如 问题是当我运行我的应用程序时,我得到了这个异常 Caused by: java.lang.NullPointerException at org.infinispan.configuration.parsing.XMLExtendedStreamReaderImpl.include(XMLExtendedStreamReaderImpl.java:439) at org.infinispan.configuration

您好,我正在尝试使用infinispan中的多个配置文件,如

问题是当我运行我的应用程序时,我得到了这个异常

Caused by: java.lang.NullPointerException
    at org.infinispan.configuration.parsing.XMLExtendedStreamReaderImpl.include(XMLExtendedStreamReaderImpl.java:439)
    at org.infinispan.configuration.parsing.XMLExtendedStreamReaderImpl.nextTag(XMLExtendedStreamReaderImpl.java:135)
    at org.infinispan.configuration.parsing.Parser.parseContainer(Parser.java:680)
    at org.infinispan.configuration.parsing.Parser.readElement(Parser.java:113)
    at org.infinispan.configuration.parsing.ParserRegistry.parseElement(ParserRegistry.java:224)
    at org.infinispan.configuration.parsing.ParserRegistry.parse(ParserRegistry.java:194)
    at org.infinispan.configuration.parsing.ParserRegistry.parse(ParserRegistry.java:180)
    at org.infinispan.configuration.parsing.ParserRegistry.parse(ParserRegistry.java:151)
    ... 60 more
infinispan.xml

<infinispan
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="urn:infinispan:config:11.0 https://www.infinispan.org/schemas/infinispan-config-11.0.xsd"
    xmlns="urn:infinispan:config:11.0"
    xmlns:xi="http://www.w3.org/2001/XInclude">

 <cache-container name="CacheManger"> 
      <xi:include href="classpath:infinispan-2.xml" /> 
      <local-cache name="testcache2"/>
   </cache-container>
    
</infinispan>
<local-cache name="testcache"/>
当我在infinispan类中调试时,我找到了将解析xi include节点(XMLExtendedStreamReaderImpl)的方法,但resourceResolver变量始终为null!!:

 private void include() throws XMLStreamException {
      String href = getAttributeValue(null, "href");
      try {
         URL url = resourceResolver.resolveResource(href);
         InputStream inputStream = url.openStream();
         XMLStreamReader subReader = factory.createXMLStreamReader(inputStream);
         includeStack.push(new Included(inputStream, streamReader));
         streamReader = new XMLExtendedStreamReaderImpl(factory, new URLXMLResourceResolver(url), parser, subReader, properties, stack);
      } catch (IOException e) {
         throw new XMLStreamException(e);
      }
   }


您是否尝试过不使用类路径:
是的,我已经尝试过了,但仍然存在相同的问题我想知道您是如何获得空resourceResolver的:据我所知,该字段是最终字段,应该已初始化。在任何情况下,我们都使用JDK URL类来解析资源,但它不支持
类路径
协议,因为默认情况下没有为其安装URL处理程序。我不知道我的代码中有什么问题,但resourceResolver始终为空,因此代码甚至没有尝试查找我的第二个文件(屏幕截图:说明中)我猜问题出在getConfigurationBuilderHolder中的JCacheManager类中,它将null传递给解析(屏幕截图:在描述中)
 private void include() throws XMLStreamException {
      String href = getAttributeValue(null, "href");
      try {
         URL url = resourceResolver.resolveResource(href);
         InputStream inputStream = url.openStream();
         XMLStreamReader subReader = factory.createXMLStreamReader(inputStream);
         includeStack.push(new Included(inputStream, streamReader));
         streamReader = new XMLExtendedStreamReaderImpl(factory, new URLXMLResourceResolver(url), parser, subReader, properties, stack);
      } catch (IOException e) {
         throw new XMLStreamException(e);
      }
   }