2013-08-08 20 views
5

私たちはparticuarタスクを完了するために、上記のTaskExecutorを使用している方法を、持っているコード私の場合、ThreadPoolTask​​ExecutorまたはSimpleAsyncTaskExecutorを選択する理由は何ですか?

<bean id="taskExecutor" class="org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor"> 
     <property name="corePoolSize" value="50" /> 
     <property name="maxPoolSize" value="200" /> 
     <property name="queueCapacity" value="250" /> 
    </bean> 

のこの作品を持っている既存のアプリケーションに取り組んでいます。 (このタスクは完了する必要がありますが、asycnchronslyで完了できます)

この特定のタスクは、実際には100個のドキュメントをデータベースに挿入する責任があります。

だから私はの代わりにThreadPoolTaskExecutorを使用する予定でした。

これはパフォーマンスに影響を与えるか

我々のアプリケーションがマルチスレッド一つであり、任意の時点でおよそ10mlの液体フッ化水素を圧入700のユーザが存在することになるすべての問題を作成する場合は私に知らせてください。

だから私はそれが私の知る限りは、あなたには、いくつかの長い時間を実行する場合SimpleAsyncTaskExecutorの使用量は、場合によっては意味を成さない知っているよう

答えて

0

(開発中細でもよい)生産環境の下でどのように動作するかを知りません実行タスク、例えばあなたが1日の終わりにログファイルを圧縮したい場合。それ以外の場合、短時間実行タスクをn秒または分単位で実行する場合は、システムリソースの再利用のためにThreadPoolTask​​Executorを使用する必要があります。

技術的には両方のバリエーションが有効です。しかし、あなたのタスクにはThreadPoolTask​​Executorを使用します。

関連する問題