2017-02-21 10 views
0

@Asyncアノテーションを使用して非同期メソッドを有効にしました。時々私はSimpleAsyncTaskExecutorスレッド数が指数関数的に増加するのを見ています。この行動に関するアイデアは?Springブート非同期メソッドの問題

+0

CustomThreadPoolを設定しましたか? – user121290

+0

いいえ私はCustomThreadPoolを設定していません – Suraj

+0

customThreadPoolを設定すると良いでしょう。これを確認してください。 http://stackoverflow.com/questions/13206792/sp​​ring-async-limit-number-of-threads – user121290

答えて

0

文字通り指数関数的に増加する場合は、非同期メソッドがおそらく自分自身を呼び出すように聞こえますか?

0

デフォルトでは、SpringはSimpleAsyncTaskExecutorを使用してメソッドを非同期に実行します。 SimpleAsyncTaskExecutorは各タスクで新しいスレッドを生成し、スレッドプールとタスクのキューイングをサポートしません。 したがって、asyncメソッドが短時間で複数回呼び出された場合は、タスクごとに複数のスレッドが開きます。 独自のエグゼキュータを定義する必要があります。次のリンクを参照してください http://www.baeldung.com/spring-async

関連する問題