【问题标题】:How do I configure transactions with Solr and myBatis in Spring (Java)?如何在 Spring (Java) 中使用 Solr 和 myBatis 配置事务?
【发布时间】:2012-12-06 20:53:15
【问题描述】:

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

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

2) 3 个插入的 solr DIH 索引

3) 二进制文件的solr索引

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

【问题讨论】:

    标签: solr transactions mybatis jta


    【解决方案1】:

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

    solr transaction management using solrj

    SolrJ Thread Safety

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-08-01
        • 2020-03-16
        • 2011-10-10
        • 1970-01-01
        • 1970-01-01
        • 2014-03-27
        • 1970-01-01
        相关资源
        最近更新 更多