[Seasar-user:14913] Re: [S2Chronos] タスクプロセスについて
Tetsuya Anzawa
[E-MAIL ADDRESS DELETED]
2008年 7月 3日 (木) 13:30:15 JST
安澤です。
質問内容が不十分だったようで申し訳ありませんでした。
当方では、サーブレットコンテナにTomcatを使用しており、スケジューラにより起動されたバッチタスクも
そのTomcatプロセス内で動作することになるのか、ということでした。
ご回答頂いた内容によると、S2Chronosのスケジューラ、およびスケジューラにより起動されるタスクは
Tomcatプロセス内の(サーブレットスレッドとは別の)スレッドとして動作するということで理解致しました。
ありがとうございました。
----- Original Message -----
From: Junichi Kato
To: [E-MAIL ADDRESS DELETED]
Sent: Thursday, July 03, 2008 1:03 PM
Subject: [Seasar-user:14912] Re:[S2Chronos] タスクプロセスについて
安澤様
S2Chronos コミッタの加藤(j5ik2o)です。
2008/07/03 11:58 株式会社Groony安澤徹也 <[E-MAIL ADDRESS DELETED]>:
安澤と申します。
Teeda + S2Daoプロジェクトにおいて、バッチ処理の実装にS2Chronosの採用を検討しておりますが、
サーブレットコンテナプロセス上のS2Chronos(S2ChronosServlet?)にて起動されたバッチ処理(xxxTaskクラス)も、サーブレットコンテナ上(Webアプリと同一プロセス上)でスレッドとして動くことになるのでしょうか?
ごめんなさい。ちょっと質問が十分にくみ取れてないのですが、、、
タスククラスがどのスレッドが動くのかという話で受け止めました。
まず、S2Chronosのスケジューラは独立したスレッドプールを持っています。これはスケジューラ自身のスレッドや、タスククラスのトリガーを監視したり、タスククラスを起動させたりするためのスレッドが含まれます。(ちなみにスレッドプールはJava5
concurrentパッケージの実装を利用しています。詳しくはそちらを参照してください)
また、タスククラスも独立したスレッドプールが与えられます。(ある複数のタスク同士でスレッドプールを共有することもできます)
タスククラスが起動されるとタスククラス内のメソッド(以下、タスクメソッド)は、タスククラスに割り当てられるスレッドプールでタスクメソッドを実行します。
タスク内で非同期なタスクメソッドを作りたければ、タスクメソッドにアノテーションで指定するだけで非同期処理を実装できます。
なので、タスククラスはサーブレットのスレッドではなく、タスククラス用に新たに生成されたスレッドによって実行されます。
また、現在の最新バージョンは[0.0.1-RC5]となっておりますが、いわゆる安定版的なもの(バージョン1.0?)のリリース予定など
あれば教えていただけますでしょうか。
正式なロードマップは今のところありません。が、できれば次のSeasar Conまでに安定板をリリースできるようにしたいと思っています。
------------------------------------------------------------------------------
_______________________________________________
Seasar-user mailing list
[E-MAIL ADDRESS DELETED]
https://ml.seasar.org/mailman/listinfo/seasar-user
-------------- next part --------------
HTML$B$NE:IU%U%!%$%k$rJ]4I$7$^$7$?(B...
URL: <http://ml.seasar.org/archives/seasar-user/attachments/20080703/2ccc90dc/attachment-0001.html>
Seasar-user メーリングリストの案内