jpa-store和hibernate OGM

时间:2016-01-13 03:30:46

标签: infinispan hibernate-ogm

问题: 尝试使用jpa-store和hibernate OGM配置infinspan缓存。我可以通过带有简单缓存存储的hotrod客户端访问infinispan服务器缓存,配置如下,

我在.. \ infinispan-server-8.1.0.CR1 \ standalone \ configuration \ standalone.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:意外元素&#39; {urn:infinispan:server:core:8.1}持久性&#39;遇到                 在org.jboss.as.controller.parsing.ParseUtils.unexpectedElement(ParseUtils.java:89)                 在org.jboss.as.clustering.infinispan.subsystem.InfinispanSubsystemXMLReader.parseCacheElement(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)                 at org.jboss.as.clustering.infinispan.subsystem.InfinispanSubsystemXMLReader.readElement(InfinispanSubsystemXMLReader.java:97)                 at org.jboss.as.clustering.infinispan.subsystem.InfinispanSubsystemXMLReader.readElement(InfinispanSubsystemXMLReader.java:70)                 在org.jboss.staxmapper.XMLMapperImpl.processNested(XMLMapperImpl.java:110)                 at org.jboss.staxmapper.XMLExtendedStreamReaderImpl.handleAny(XMLExtendedStreamReaderImpl.java:69)                 在org.jboss.as.server.parsing.StandaloneXml_4.parseServerProfile(StandaloneXml_4.java:547)                 在org.jboss.as.server.parsing.StandaloneXml_4.readServerElement(StandaloneXml_4.java:244)                 在org.jboss.as.server.parsing.StandaloneXml_4.readElement(StandaloneXml_4.java:143)                 在org.jboss.as.server.parsing.StandaloneXml.readElement(StandaloneXml.java:69)                 在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)?

1 个答案:

答案 0 :(得分:0)

这两个问题实际上是相关的:

Infinispan Server被设计为后端数据存储,因此它不会设计为部署应用程序。

考虑到这一点,由于您无法在其上部署应用程序,因此您无法部署JPA实体,因此在服务器模式下配置JPA缓存存储没有意义。 / p>

您可以在Wildfly / EAP或类似环境中部署JPA实体,从而可以部署基于Infinispan的应用程序(请参阅tutorials here)并配置JPA存储。

干杯, 盖尔德