jboss7.x - JBoss 7下Hibernate搜索JGroups配置

标签 jboss7.x hibernate-search jgroups

我是编写使用 Hibernate Search 的 Web 应用程序的团队的一员,我们最近尝试开始使用 JGroups 来保持不同节点上的 Lucene 索引彼此同步。

但是,我一直无法完成此设置的最基本的第一步,并且文档似乎 quite sparse

<bean class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean" id="myFactory">
<property name="dataSource" ref="myDataSource"/>
<property name="persistenceXmlLocation" value="/WEB-INF/persistence.xml"/>
<property name="persistenceUnitName" value="persistenceUnit"/>
<property name="jpaVendorAdapter" ref="vendorAdapter"/>
<property name="jpaProperties">
    <props>
        <prop key="hibernate.search.worker.backend.jgroups.configurationFile">jgroups-config.xml</prop>
        <prop key="hibernate.search.default.directory_provider">infinispan</prop>
        <prop key="hibernate.search.default.indexBase">indexes</prop>
        <prop key="hibernate.search.default.worker.backend">jgroups</prop>
        <prop key="hibernate.search.services.jgroups.clusterName">MyCluster</prop>
        <prop key="hibernate.search.error_handler">log</prop>
        <prop key="hibernate.search.lucene_version">LUCENE_36</prop>
        <prop key="hibernate.search.generate_statistics">true</prop>
        <prop key="hibernate.search.jmx_enabled">true</prop>
    </props>
</property>

这里的关键属性是 hibernate.search.worker.backend.jgroups.configurationFile它给出了我们最终需要的 jgroups 配置文件的名称。我尝试将此文件放在 WEB-INF 中,并与 JBoss 模块目录结构中的 props 文件一起放置(其他文件位于其中并成功加载),但它只是没有被拾取。

在日志中我可以看到:

16:34:57,609 INFO  [org.hibernate.search.backend.impl.jgroups.JGroupsChannelProvider] (MSC service thread 1-1) HSEARCH000005: Starting JGroups Channel
16:34:57,609 INFO  [org.hibernate.search.backend.impl.jgroups.JGroupsChannelProvider] (MSC service thread 1-1) HSEARCH000011: Unable to use any JGroups configuration mechanisms provided in properties { hibernate.search.default.worker.backend=jgroups, hibernate.search.default.directory_provider=infinispan, hibernate.search.worker.backend.jgroups.configurationFile=jgroups-config.xml}. Using default JGroups configuration file!
16:34:59,427 INFO  [stdout] (MSC service thread 1-1) 
16:34:59,427 INFO  [stdout] (MSC service thread 1-1) -------------------------------------------------------------------
16:34:59,428 INFO  [stdout] (MSC service thread 1-1) GMS: address=LDNLPT1271-PC-17149, cluster=CrisisHubCluster, physical address=172.26.10.169:58147
16:34:59,428 INFO  [stdout] (MSC service thread 1-1) -------------------------------------------------------------------
16:35:02,448 INFO  [org.hibernate.search.backend.impl.jgroups.JGroupsMasterMessageListener] (MSC service thread 1-1) HSEARCH000015: Received new cluster view: [LDNLPT1271-PC-17149|0] [LDNLPT1271-PC-17149]
16:35:02,450 INFO  [org.hibernate.search.backend.impl.jgroups.JGroupsChannelProvider] (MSC service thread 1-1) HSEARCH000006: Connected to cluster [ MyCluster ]. The node address is LDNLPT1271-PC-17149
16:35:02,513 INFO  [org.infinispan.remoting.transport.jgroups.JGroupsTransport] (CacheStartThread,HibernateSearch-Infinispan-cluster,LuceneIndexesMetadata) ISPN000078: Starting JGroups Channel
16:35:02,514 INFO  [org.infinispan.remoting.transport.jgroups.JGroupsTransport] (CacheStartThread,HibernateSearch-Infinispan-cluster,LuceneIndexesMetadata) ISPN000088: Unable to use any JGroups configuration mechanisms provided in properties {}. Using default JGroups configuration!

我已截断 Unable to use any JGroups configuration mechanisms provided in properties 中的属性列表因为它会占用好几页,但是如果您查看该行,您会发现它列出了该属性,同时又说找不到该属性。

因此,它不会获取配置文件位置,而是使用默认值。

这里有人使用过 jgroups 和 Hibernate Search 吗?您是否设法提供自定义 jgroups 配置文件?你是怎么做到的?

最佳答案

对。我必须下载 Hibernate Search 源代码并逐步启动服务器才能找到它。我使用的是 Hibernate 4.2,而我所指的文档版本主要是针对 3.2 的。

在这两个版本之间,有人将该属性从 hibernate.search.worker.backend.jgroups.configurationFile 重命名为 hibernate.search.services.jgroups.configurationFile

关于jboss7.x - JBoss 7下Hibernate搜索JGroups配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17598574/

相关文章:

akka - JGroups 的替代品

java - JGroupsTransport 类型的对象上的 CacheException :Unable to invoke public void org. infinispan.remoting.transport.jgroups.JGroupsTransport.start()

java - hibernate "update"操作后 Lucene 上的索引未更新

java - hibernate 搜索@IndexedEmbedded

java - Hibernate 搜索 - '%like%' 类型查询

linux - Jgroups 使用哪些端口?

java - session 上下文为空 JBOSS 7.1

sql-server-2008 - JBoss 7.1 - SQL Server - 数据源配置 (JTDS)

java - Jboss EAP 6.3 线程与 log4j ConsoleAppender 发生死锁

java - 如何在 Jboss-7 中部署 Axis2.war