0

myBatis 3.1 を介してデータベースにデータを挿入する Java Spring 3.0 アプリケーションがあり、DataImportHandler (DIH) を使用して、Solr 3.6.1 にそのデータベース データのインデックスを作成し、バイナリ ファイルの添付ファイルのインデックスを作成します。したがって、次のいずれかが失敗した場合に変更をロールバックするトランザクションが必要です。

1) myBatis を使用してデータベースに 3 回挿入

2) 3 つのインサートの solr DIH インデックス

3) バイナリ ファイルの solr インデックス

複数のデータソースがあるため、JTA を使用する必要があると推測していますが、Solr を組み合わせて構成する方法がわかりません。これはどのように行うことができますか?これを達成する方法を示すオンライン参照も素晴らしいでしょう。ありがとう。

4

2 に答える 2

1

以前、Solr トランザクション管理について同様の質問をしたことがあります。以下のリンクが役に立ちます。

solrj を使用した solr トランザクション管理

SolrJ スレッド セーフ

お役に立てれば。幸運を!

于 2012-12-08T13:46:36.233 に答える
0

HttpSolrServerスプリングを利用できるように、インデックスへの DIH 更新を置き換えることもできます。TransactionSynchronizationManager

if (TransactionSynchronizationManager.isSynchronizationActive()) {
  TransactionSynchronizationManager.registerSynchronization(new TransactionSynchronizationAdapter() {
    //... 
  });
}
于 2012-12-13T08:44:45.753 に答える