私はTomCat.7で実行されているSpring Webアプリケーションを書いています。機能の1つは、java.concurrencyを使用してdbからデータを処理することです。
db 処理は計算が必要なため非常に時間がかかると予想され、この処理には高いパフォーマンスが必要です。
私の質問は、TomCat コンテナーでそのスレッドを実行するのが良い考え (またはおそらく唯一の可能性) であるかどうかです。
@RequestMapping(value = "run_process", method = RequestMethod.GET)
public RequestWrapper runProcess(ModelMap model) {
Runnable runCrawler = new Crawler();
runCrawler.run();
System.out.println("##run_process!");
return new RequestWrapper();
}
私のプロジェクト構造は次のようなものです:
-src
-com.scanner.batchprocess
-com.scanner.crawler
-com.scanner.webapp.controllers
私は計算的に難しいプログラムを作成した経験がないので、ユーザーが BatchProcess を実行するたびに webapp から呼び出されるメイン クラスを使用して、新しいきれいな Java プロジェクトを作成する必要があるのではないかと心配しています。Tomcat からのアプリケーションの実行時間は、真の Java アプリケーションよりも大幅な時間差になる可能性がありますか?