タスクの手動登録
.NETだけやっておりましたが、Javaも触る機会ができましたので、その中での情報なども書いていくことにします。
今回の案件でJavaでタスクジョブのスケジューリングを管理する必要が出てきてしまい購入した「Seasar2徹底入門」に紹介されているS2Chronosが今回の案件に使えそうなので機能の確認を行いました。
サーバー起動時にタスクが登録され実行されることは確認できたのですが、使用者が手動でタスクの登録、停止などを行いたいと思い、kzk-yさんの記事 id:kzk-y:20090312を参考に試したのですが、(2008-09-08 s2chronos-core-1.0.0)では、コンパイルエラーになってしまいました。どうもタスク登録を行う時のAddTaskの仕様が変わったようです。
Actionの方はこんな感じに記述したら動作しました。
public class SampleAction { public Scheduler scheduler; public String doClick() { // タスク登録 scheduler.addTask(TestTask.class); } }
public 変数のschedulerはインジェクションされるので
元の記事の通り privateにして、setterメソッドを書いても同じです。
S2Chronosのセットアップにはgungnir_odinさんの以下の記事を参考にしました。
id:gungnir_odin:20100421:1271856739
ただし、
- 必要なファイルをダウンロード
- ビルドパスに追加
については
Maven2環境にて構築しましたのでpom.xmlに
<dependency> <groupId>org.seasar.chronos</groupId> <artifactId>s2chronos-core</artifactId> <version>1.0.0</version> </dependency> <dependency> <groupId>org.seasar.chronos</groupId> <artifactId>s2chronos-extension</artifactId> <version>1.0.0</version> </dependency>
を追加した後 mvn eclipse:eclipseをコマンドラインで実行し、必要なjarをダウンロードしました。
Seasar 2 徹底入門 SAStruts/S2JDBC 対応
- 作者: 竹添直樹
- 出版社/メーカー: 翔泳社
- 発売日: 2010/04/20
- メディア: 大型本
- 購入: 10人 クリック: 260回
- この商品を含むブログ (33件) を見る