2016-01-13 48 views
0

問題: 嘗試使用jpa-store和hibernate OGM配置infinspan緩存。我能夠通過的Hotrod客戶端訪問服務器的Infinispan緩存,簡單的緩存存儲,配置如下,jpa-store和hibernate OGM

我已經配置繼.. \ Infinispan的服務器,8.1.0.CR1 \獨立\配置\獨立。 xml和運行由命令的服務器../bin>standalone.bat

   <subsystem xmlns="urn:infinispan:server:core:8.1"> 
           <cache-container name="local" default-cache="default" statistics="true"> 
           ... 
               <local-cache name="testCache"> 
                   <compatibility/>    
               </local-cache> 
           </<cache-container> 
       <subsystem> 

In client side, accessing the cache sucessfully using hotrod client like below code. 
       Configuration config = new ConfigurationBuilder().addServer().host("127.0.0.1").port(11222).build(); 
       RemoteCacheManager cacheManager = new RemoteCacheManager(config); 
       RemoteCache<Integer, TestEntity> cache = cacheManager.getCache("testCache"); 

1. How to configure jpa-store (with load from database and write into database) in standalone.xml? 
I have tried with below code in standalone.xml. 

<persistence passivation="false"> 
<jpa-store xmlns="urn:infinispan:config:store:jpa:8.0" 
            shared="true" preload="true" 
            persistence-unit="CachePersistenceUnit" 
            entity-class="TestEntity" 
            singleton="false" 
            batch-size="1"> 
    </jpa-store> 
</persistence> 

所致:javax.xml.stream.XMLStreamException:WFLYCTL0198:意外元素「{甕:Infinispan的:服務器:核心:8.1}的持久性'遇到 at org.jboss.as.controller.parsing.ParseUtils.unexpectedElement(ParseUtils.java:89) at org.jboss.as.clustering.infinispan.subsystem.InfinispanSubsystemXMLReader.parseCacheEleme NT(InfinispanSubsystemXMLReader.java:971) 在org.jboss.as.clustering.infinispan.subsystem.InfinispanSubsystemXMLReader.parseLocalCache(InfinispanSubsystemXMLReader.java:706) 在org.jboss.as.clustering.infinispan.subsystem.InfinispanSubsystemXMLReader.parseContainer( InfinispanSubsystemXMLReader.java:247) 在org.jboss.as.clustering.infinispan.subsystem.InfinispanSubsystemXMLReader.readElement(InfinispanSubsystemXMLReader.java:97) 在org.jboss.as.clustering.infinispan.subsystem.InfinispanSubsystemXMLReader.readElement(InfinispanSubsystemXMLReader。的java:70) 在org.jboss.staxmapper.XMLMapperImpl.processNested(XMLMapperImpl.java:110) 在org.jboss.staxmapper.XMLExtendedStreamReaderImpl.handleAny(XMLExtendedStreamReaderImpl.java:69) 在org.jboss.a s.server.parsing.StandaloneXml_4.parseServerProfile(StandaloneXml_4.java:547) at org.jboss.as.server.parsing.StandaloneXml_4.readServerElement(StandaloneXml_4.java:244) at org.jboss.as.server.parsing。 StandaloneXml_4.readElement(StandaloneXml_4.java:143) at org.jboss.as.server.parsing.StandaloneXml.readElement(StandaloneXml.java:69) at org.jboss.as.server.parsing.StandaloneXml.readElement(StandaloneXml。的java:47) 在org.jboss.staxmapper.XMLMapperImpl.processNested(XMLMapperImpl.java:110) 在org.jboss.staxmapper.XMLMapperImpl.parseDocument(XMLMapperImpl.java:69) 在org.jboss.as.controller。 persistence.XmlConfigurationPersister.load(XmlConfigurationPersister.java:123) ... 3更多

  1. 如何在infinispan服務器(Jboss)中自動部署項目(定製的infinispan管理器類(java類),persistence.xml和infinispan-config.xml)?

回答

0

這兩個問題實際上是相關的:

Infinispan的服務器被設計爲一個後端數據存儲,因此它不是設計有上部署的應用程序。

考慮到這一點,由於無法在其上部署應用程序,因此無法部署JPA實體,因此無法在服務器模式下配置JPA緩存存儲。

您能夠在Wildfly/EAP或類似的環境中,有可能部署一個基於Infinispan的應用程序部署JPA實體(見tutorials here)並配置JPA店。

乾杯, 蓋爾德

相關問題