2016-01-13 46 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店。

干杯, 盖尔德

相关问题