2012-03-13 16 views
0

基本的に私は春のJavaプログラムでいくつかのマルチスレッドを行いたいと思います。新しいスレッドを作成するために私のサーバーのスプリングリソースを使用する方法がわかりません。どのように非同期バッチタスクを起動するにはspringを使用できますか?

私はAny good Spring threading with a TaskExecutor examples?を見ましたが、元のTaskExecutorがどこから来たのか分かりませんでした。どのようにそれをクラスに渡すのでしょうか?

TaskExecutor私のプログラムで別のスレッドを作成するのに最適なのは?

+0

あなたはSpringとServerについて言及しています...これはどのような種類のアプリケーションですか?それはウェブアプリですか?デスクトップアプリですか?他の種類のWebサービスアプリですか?コマンドラインアプリケーションの行に沿ってUIをあまり持っていない一般的な処理アプリケーションですか? – cdeszaq

+0

@cdeszaqそのweb-app – Grammin

答えて

0

TaskExecutorは、xml spring beans定義で定義され、コンストラクタの引数としてユーティリティクラスに渡されます。

<constructor-arg type="org.springframework.core.task.TaskExecutor" ref="taskExecutor" /> 

選択肢がある場合は、以前の方法でスレッドを管理するのではなく、TaskExecutorとThreadpoolで作業する必要があります。

+0

しかし、私はそれに渡すTaskExecutorを持っていないとき私が持っている新しいクラスを実際に呼び出すのですか? – Grammin

+0

TaskExecutorとsomethingThatShouldHappenInAThreadの両方がSpringによって作成された場合、somethingThatShouldHappenInAThreadのref(クラスの注入など)とclassWithMethodToFire.run()を取得するだけです。 –

0

あなたが言いたい投稿は、あなたがしたいことの良い例です。 taskExecutorは、コンストラクタを介して注入されます。その郵便で与えられた春の豆の構成を点検しなさい。私はそれがTaskExecutorを使うのが良い習慣だと思う。

関連する問題