0
如果CompassGps镜像与Hibernate一起使用,那么如果数据库事务回滚会发生什么?对索引所做的更改是否会回滚(假定文件存储为索引)?如果事务回滚,CompassGps会回滚吗?
看来,如果Lucene索引存储在磁盘上,它将不会自动回滚,除非Compass足够聪明来为您处理。
FWIW,我在使用Grails的Searchable插件。
如果CompassGps镜像与Hibernate一起使用,那么如果数据库事务回滚会发生什么?对索引所做的更改是否会回滚(假定文件存储为索引)?如果事务回滚,CompassGps会回滚吗?
看来,如果Lucene索引存储在磁盘上,它将不会自动回滚,除非Compass足够聪明来为您处理。
FWIW,我在使用Grails的Searchable插件。
在Compass/Lucene结尾处不会有任何回滚事件。 Compass注册事件监听器并对插入,删除和更新操作以更新Lucene索引。如果事务回滚,那么Compass将不会获得这些事件。
因此,只有在事务成功提交时才会通知Compass? – 2010-07-19 15:46:49
这里没有太多技术细节,但是这部分文档描述了集成:http://www.compass-project.org/docs/2.1.4/reference/html/gps-hibernate.html – 2010-07-19 22:54:00