Hibernate Search 版本 5.4.0.CR1
现已可用!它使用 Hibernate ORM 5.0.0.CR2
构建,基本上已经准备好适配 ORM 5,我们只需等待它被标记为 最终版
。
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-search-orm</artifactId>
<version>5.4.0.CR1</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>5.0.0.CR2</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
<version>5.0.0.CR2</version>
</dependency>
在容器中使用 MassIndexer 时不再出现超时
现在您可以为 MassIndexer
设置不同的超时时间,以便它将启动内部事务,因此如果您在 WildFly 等容器中运行 Hibernate Search,您不再需要在 5 分钟的截止日期和更改整个容器的默认超时时间之间做出选择。
fullTextSession
.createIndexer( User.class )
.transactionTimeout( 1800 ) //seconds
.startAndWait();
JMS 后端有重大改进
事务性 JMS 后端
如上周的博客中更详细地解释的那样,Hibernate Search 现在提供了一个选项,可以将其索引操作包含在与 RDBMS 相同的事务中。
请参阅 JMS 架构文档 和 JMS 从节点配置属性。
简而言之,可以通过设置此属性来启用它
hibernate.search.worker.enlist_in_transaction=true
但请注意:这是一个全局设置!如果您想使用它,所有后端都必须设置为使用启用 XA 的、事务性的 JMS 队列。
请告诉我们,如果您有需要我们允许某种混合模式的优秀用例,我们将不胜感激。