=== 作成するもの === 『3秒に1回、文字を標準出力する』 === 準備 === * Java6(JDK)のインストール [http://java.sun.com/javase/ja/6/download.html][[BR]] * 開発環境Eclipse [[BR]] * ApacheCamelのZIPダウンロード [http://camel.apache.org/download.html][[BR]] === ApacheCamelの解凍 === 自由なフォルダ(例えばlib)を作って、zipを解凍します。 === ライブラリをユーザーライブラリに設定 === Eclipseのユーザーライブラリを設定すると簡単に複数のjar(ライブラリ)を使うことができるようになります。 さきほど解凍した次のjarファイルをEclipseのユーザーライブラリに設定します。 多くのjarファイルがCamelに入っていますが下記のjar(ライブラリ)で最低限の動作が可能です。 ||camel-core-2.10.1.jar|| ||log4j-x.x.x.jar|| ||slf4j-api-x.x.x.jar|| ||slf4j-log4j12-x.x.x.jar|| (x.x.xはバージョン番号になります) 詳細は ・・・ [ユーザーライブラリの設定] === 実装 === Camelメイン実装 {{{ code java package ex.hello; import org.apache.camel.builder.RouteBuilder; import org.apache.camel.main.Main; public class HelloCamelMain { public static void main(String args[]) throws Exception { // Camel本体 Main main = new Main(); // Camelに「ルート」を登録 main.addRouteBuilder(new RouteBuilder() { @Override public void configure() throws Exception { from("timer:timerName?period=3000") // タイマートリガー .process(new OutputHelloProcess()); // Processorクラスを呼び出す } }); // Camelの起動 main.run(); } } }}} SysoutProcessクラスの実装 {{{ code java package ex.hello; import org.apache.camel.Exchange; import org.apache.camel.Processor; // .process(xxx)の場合は「Processorの実装クラス」を呼び出す事ができる public class SysoutProcess implements Processor{ // .process(xxx)が実行されると、このprocessメソッドが呼び出される @Override public void process(Exchange exchange) throws Exception { // 標準出力で"Hello"を出力する System.out.println("Hello"); } } }}}