これは私の最初のマルチスレッドアプリケーションであれば開発できます。だから私は始めるためにいくつかの助けが必要です。Javaでマルチスレッドアプリケーションを開発する
私は現在、完璧に
の作品次のJavaプログラム- を持って
- (POJOの)ソース・データベースからデータを取得し、オブジェクトに変換(ターゲット・データベースからデータを取得し、オブジェクトに変換POJO)。
- ソースオブジェクトとターゲットオブジェクトの両方を比較し、差異がある場合は、ソースデータベースの情報でターゲットデータベースを更新します。
私の要件が変更され、3つの異なるターゲットデータベース(TargetDB1、TargetDB2、TargetDB3)を使用する必要があります。それぞれに異なる接続情報があります。
私の質問は、私たちはこの
スレッド1で(スレッド1から得られた)ソースオブジェクトと比較し、TargetDB1オブジェクトを取得するソースオブジェクト
スレッド2を取得するマルチスレッドのアプリケーションにすることができていますソースオブジェクトとの相違の場合に
(スレッド1から得られた)ソースオブジェクトと比較し、TargetDB2オブジェクトを取得する糸3をTargetDB1を更新し、ソースオブジェクトとの相違の場合にTargetDB2を更新
スレッド4はTargetDB2オブジェクトを取得し、ソースオブジェクト(スレッド1から取得)と比較し、ソースオブジェクトとの違いがある場合はTargetDB2を更新します
これはマルチスレッドアプリケーションとして開発できる場合、それについて。
本当にアプリケーションレイヤーでこれを行いますか?大量の場合は、データベースユーティリティを使用する方が速くなります。単純にいくつかのSQL文と.csvを使用するだけで、おそらくもっと速くなります。 –
これがdbsを同期させる最良の方法かどうかはわかりません。DB1がマスタDBの場合、私の意見では他のDBのアップグレードスクリプトを書く方が良いでしょう。 – FourOfAKind
私は複数のスレッドを使用しませんが、私は一貫性を心配しています。例えばDB1,2,3が異なっていると言います。一度に2つだけを比較する場合、3つのデータベースがすべて同じ値になるようにする必要があります。 –