конфигурация хранилища infinispan jdbc

#jdbc #infinispan

#jdbc #infinispan

Вопрос:

Я пытаюсь настроить хранилище jdbc в приложении погоды пример руководства infinispan. Я настраиваю его так :

     <?xml version="1.0" encoding="UTF-8"?>
<infinispan
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="urn:infinispan:config:8.2 http://www.infinispan.org/schemas/infinispan-config-8.2.xsd
                        urn:infinispan:config:jdbc:8.0 http://www.infinispan.org/schemas/infinispan-cachestore-jdbc-config-8.0.xsd"
      xmlns="urn:infinispan:config:8.2"
      xmlns:jdbc="urn:infinispan:config:jdbc:8.0">

  <jgroups>
     <stack-file name="external-file" path="jgroups2.xml"/>
  </jgroups>


      <cache-container default-cache="default">
         <transport cluster="WeatherApp" stack="external-file" />



          <distributed-cache name="default" mode="SYNC">
            <expiration lifespan="5000"/>
            <groups enabled="true">
              <grouper class="org.infinispan.tutorial.embedded.LocationWeather$LocationGrouper"/>
            </groups>


            <persistence>
              <jdbc:string-keyed-jdbc-store  fetch-state="false" read-only="false" purge="false">
                 <jdbc:connection-pool connection-url="jdbc:h2:mem:infinispan_string_based;DB_CLOSE_DELAY=-1" username="sa" driver="org.h2.Driver"/>
                 <jdbc:string-keyed-table drop-on-exit="true" create-on-start="true" prefix="ISPN_STRING_TABLE">
                    <jdbc:id-column name="ID_COLUMN" type="VARCHAR(255)" />
                    <jdbc:data-column name="DATA_COLUMN" type="BINARY" />
                    <jdbc:timestamp-column name="TIMESTAMP_COLUMN" type="BIGINT" />
                 </jdbc:string-keyed-table>
              </jdbc:string-keyed-jdbc-store>
           </persistence>

          </distributed-cache>


      </cache-container>

</infinispan>
  

но всегда получаю следующую ошибку, что бы я ни пытался :

 Exception in thread "main" org.infinispan.commons.CacheConfigurationException: ISPN000327: Cannot find a parser for element 'string-keyed-jdbc-store' in namespace 'urn:infinispan:config:jdbc:8.0'. Check that your configuration is up-to date for this version of Infinispan.
  

Я думаю, что мне не хватает чего-то очевидного, но я не могу найти это самостоятельно.
В чем моя ошибка?

Спасибо,

Ответ №1:

Похоже на версию руководства infinispan, и ваши библиотеки infinispan не совпадают, пожалуйста, убедитесь, что версии xsd вашей библиотеки и файла конфигурации совпадают

Ответ №2:

У меня была такая же проблема. Это проблема с целевым пространством имен, вместо использования:

 urn:infinispan:config:jdbc:8.0
  

Использование:

 urn:infinispan:config:store:jdbc:8.0
  

Например:

 <infinispan xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="urn:infinispan:config:8.0" xmlns:jdbc="urn:infinispan:config:store:jdbc:8.0"
xsi:schemaLocation="urn:infinispan:config:8.0 http://www.infinispan.org/schemas/infinispan-config-8.0.xsd
                    urn:infinispan:config:store:jdbc:8.0 http://www.infinispan.org/schemas/infinispan-cachestore-jdbc-config-8.0.xsd">