Solrにアクセスし、いくつかのドキュメントを順番に書き込んでコミットする複数のJavaタスクがあります。多くの場合、これらのタスクは同じドキュメントを変更します。私の問題は、あるタスクがコミットをトリガーし、終了し、コントロールを他のタスクに渡し、別のコミットを発行する可能性があることです。2 番目のタスクが開始される前に最初のコミットが完了していないと、solr ロック タイムアウト例外が発生します。
私が調査していた解決策の 1 つは、これらの各タスクで単純に更新を行い、コミットしないようにすることです。ただし、問題は、初期のタスクによる変更が後のタスクに表示されないことです。したがって、後のタスクは、前のタスクによって行われた変更の一部を上書きすることになります。
現在、次のタスクをトリガーする前に、各コミットの終了を検出できるかどうかを調査しています。何か案が?
皆さんなら、この問題をどのように解決しますか?
これらのタスクは、実際には変更できない既製の重要なコンポーネントです。
ありがとう、マックス