如何在 Spring 中配置 Solr 和 myBatis 的事务 (Java)



我有一个Java Spring 3.0应用程序,它通过myBatis 3.1将数据插入数据库,并且还使用DataImportHandler(DIH)使Solr 3.6.1索引数据库数据以及索引二进制文件附件。因此,我希望在以下任何一项失败时让回滚更改的事务:

1) 使用 myBatis 插入数据库 3 次

2) 溶胶 DIH 指数的 3 个插入件

3) 二进制文件的 solr 索引

我猜我需要使用 JTA,因为我有多个数据源,但我不知道如何在混合中使用 Solr 进行配置。如何做到这一点?任何演示如何实现这一目标的在线参考资料也很棒。谢谢。

我之前问过一个类似的Solr事务管理问题。 以下链接将有所帮助。

使用 Solrj 进行 SOLR 事务管理

SolrJ 线程安全

希望这有帮助。 祝你好运!

您也可以

尝试使用HttpSolrServer替换索引的DIH更新,以便可以使用弹簧TransactionSynchronizationManager

if (TransactionSynchronizationManager.isSynchronizationActive()) {
  TransactionSynchronizationManager.registerSynchronization(new TransactionSynchronizationAdapter() {
    //... 
  });
}

最新更新