Hibernate Search,Infinispan,jgroups,Wildfly集群集成配置

时间:2017-12-11 15:08:30

标签: java wildfly hibernate-search infinispan jgroups

我正在尝试在wildfly上配置jgroups,infinispan,hibernate搜索集群。我在Netbeans中有两个独立的档案,一个战争和一个ejb jar。因此,我将ejb作为战争中的依赖,然后将战争推入wildfly 10.0.0。问题是,jndi方式没有用,所以幸运的是我看到了这个问题。现在我尝试使用xml配置文件进行配置,但我仍然总是陷入 com.ctc.wstx.exc.WstxIOException:Stream closed 。我试图将xml配置文件放在src,WEB-INF,META-INF中,但是我遇到了同样的异常。

我已经检查了这些(Configuring Infinispan CacheProvider in Seam 2.3"experimental" status of JGroups Master/Slave backend for hibernate search and infinispanInfinispanDirectoryProvider with Wildfly 10.1)但没有结果。

这是我在persistence.xml中声明属性的方法

property name="hibernate.search.infinispan.configuration_resourcename" value="infinispan-config.xml"

  

[服务器:服务器一]导致:   org.infinispan.commons.CacheConfigurationException:   com.ctc.wstx.exc.WstxIOException:Stream关闭[Server:server-one]
  在   org.infinispan.configuration.parsing.ParserRegistry.parse(ParserRegistry.java:110)   [服务器:服务器一]在   org.infinispan.hibernate.search.impl.InfinispanConfigurationParser.parseFile(InfinispanConfigurationParser.java:57)   [服务器:服务器一]在   org.infinispan.hibernate.search.impl.InfinispanConfigurationParser.parseFile(InfinispanConfigurationParser.java:42)   [服务器:服务器一]在   org.infinispan.hibernate.search.impl.DefaultCacheManagerService.start(DefaultCacheManagerService.java:79)   [服务器:服务器一]在   org.hibernate.search.engine.service.impl.StandardServiceManager $ ServiceWrapper.startService(StandardServiceManager.java:303)   [服务器:服务器一]在   org.hibernate.search.engine.service.impl.StandardServiceManager $ ServiceWrapper.startVirtual(StandardServiceManager.java:268)   [服务器:服务器一]在   org.hibernate.search.engine.service.impl.StandardServiceManager.createAndCacheWrapper(StandardServiceManager.java:205)   [服务器:服务器一]在   org.hibernate.search.engine.service.impl.StandardServiceManager.requestService(StandardServiceManager.java:87)   [服务器:服务器一]在   org.infinispan.hibernate.search.spi.InfinispanDirectoryProvider.initialize(InfinispanDirectoryProvider.java:66)   [服务器:服务器一]在   org.hibernate.search.store.spi.BaseDirectoryProviderService.initialize(BaseDirectoryProviderService.java:64)   [服务器:服务器一] ... 28多[服务器:服务器一]引起:   com.ctc.wstx.exc.WstxIOException:Stream关闭[Server:server-one]
  在   com.ctc.wstx.stax.WstxInputFactory.doCreateSR(WstxInputFactory.java:550)   [服务器:服务器一]在   com.ctc.wstx.stax.WstxInputFactory.createSR(WstxInputFactory.java:605)   [服务器:服务器一]在   com.ctc.wstx.stax.WstxInputFactory.createSR(WstxInputFactory.java:618)   [服务器:服务器一]在   com.ctc.wstx.stax.WstxInputFactory.createXMLStreamReader(WstxInputFactory.java:324)   [服务器:服务器一]在       __redirected .__ XMLInputFactory.createXMLStreamReader(__ XMLInputFactory.java:134)   [服务器:服务器一]在   org.infinispan.configuration.parsing.ParserRegistry.parse(ParserRegistry.java:116)   [服务器:服务器一]在   org.infinispan.configuration.parsing.ParserRegistry.parse(ParserRegistry.java:105)   [服务器:服务器一] ... 37多[服务器:服务器一]引起:   java.io.IOException:流关闭[服务器:服务器一]   java.io.BufferedInputStream.getInIfOpen(未知来源)   java.io.BufferedInputStream.fill中的[Server:server-one](未知   来源)[服务器:服务器一]   java.io.BufferedInputStream.read1(未知来源)[服务器:服务器一]   在java.io.BufferedInputStream.read(未知来源)   [服务器:服务器一]在   com.ctc.wstx.io.StreamBootstrapper.ensureLoaded(StreamBootstrapper.java:478)   [服务器:服务器一]在   com.ctc.wstx.io.StreamBootstrapper.resolveStreamEncoding(StreamBootstrapper.java:302)   [服务器:服务器一]在   com.ctc.wstx.io.StreamBootstrapper.bootstrapInput(StreamBootstrapper.java:166)   [服务器:服务器一]在   com.ctc.wstx.stax.WstxInputFactory.doCreateSR(WstxInputFactory.java:545)   [服务器:服务器一] [43更多

有什么新想法吗?

Infinispan 8.2.4,Hibernate Search 5.6.4,Wildfly 10.0.0,Hibernate OGM 5.1.0

1 个答案:

答案 0 :(得分:2)

此类错误是由捆绑不兼容的版本引起的;既然你提到的Hibernate Search 5.6.4不是WildFly 10中包含的版本,我想你是在你的应用程序中捆绑了一个库的副本。

您可以更新库,但这需要专家组装自定义模块;最好采用一个现有的模块集,因为它们将由相应的发布团队(Hibernate / WildFly / Infinispan)进行测试。

最简单的方法是使用WildFly中包含的Hibernate Search版本,如Hibernate Search documentation中所述。

对于WildFly 10,您可以在the tagged sources中看到Hibernate Search版本5.5.1

接下来获取Infinispan版本,该版本旨在与此特定版本的应用服务器兼容;你需要" WildFly / EAP模块"来自Infinispan downloads

或者使用section 3.10.2中所述的任何Hibernate Search版本中包含的模块,但这些模块不包含Infinispan,您必须从Infinispan获取兼容版本。