我有一个Java Spring 3.0应用程序,它通过myBatis 3.1在数据库中插入数据,并使用DataImportHandler(DIH)使Solr 3.6.1索引数据库数据以及索引二进制文件附件。所以,如果以下任何一个失败,我希望有回滚更改的事务:
1)使用myBatis
将3个插入数据库2)3个插入物的solr DIH指数
3)二进制文件的solr索引
我猜我需要使用JTA,因为我有多个数据源,但我不知道如何在混合中配置Solr。如何才能做到这一点?任何演示如何实现这一目标的在线参考文献也会很棒。感谢。
答案 0 :(得分:1)
答案 1 :(得分:0)
您还可以尝试使用HttpSolrServer
将DIH更新替换为索引,以便您可以使用弹簧TransactionSynchronizationManager
if (TransactionSynchronizationManager.isSynchronizationActive()) {
TransactionSynchronizationManager.registerSynchronization(new TransactionSynchronizationAdapter() {
//...
});
}