0

spring+hibernate を使用するアプリケーションで作業しています。1 つのテーブル (ステータス フラグ 0) から一連のレコードをフェッチし、それぞれを処理し (他のテーブルのデータを生成します)、ステータス フラグを 1 に設定する必要がある状況があります。

問題は、これらすべてが 1 つのスレッドによって実行されており、非常に遅いことです。達成したいのは、10個のスレッドを作成したとしましょう。それぞれが 1 つのレコードを取得し、処理、保存、完了します。その後、プロセスは10倍高速化されます。写真をご覧ください。これを行う方法について何かアドバイスはありますか?

----現状---- http://imgur.com/DSgIy

------ 望ましい状況 ------ http://imgur.com/Myz5J

4

1 に答える 1

0

プロセスメソッドをでラップし、Runnableを使用して実行しTaskExecutorます。必要に応じて、Springタスクの名前空間やアノテーションを使用してスレッドプールサイズなどのTaskExecutorパラメーターを操作できます。

http://static.springsource.org/spring/docs/current/spring-framework-reference/html/scheduling.htmlを参照してください

于 2013-01-18T11:56:31.107 に答える