2010-07-19 61 views
0

如果CompassGps镜像与Hibernate一起使用,那么如果数据库事务回滚会发生什么?对索引所做的更改是否会回滚(假定文件存储为索引)?如果事务回滚,CompassGps会回滚吗?

看来,如果Lucene索引存储在磁盘上,它将不会自动回滚,除非Compass足够聪明来为您处理。

FWIW,我在使用Grails的Searchable插件。

回答

1

在Compass/Lucene结尾处不会有任何回滚事件。 Compass注册事件监听器并对插入,删除和更新操作以更新Lucene索引。如果事务回滚,那么Compass将不会获得这些事件。

+0

因此,只有在事务成功提交时才会通知Compass? – 2010-07-19 15:46:49

+0

这里没有太多技术细节,但是这部分文档描述了集成:http://www.compass-project.org/docs/2.1.4/reference/html/gps-hibernate.html – 2010-07-19 22:54:00