サンプルコード (FileToFileのCamelサンプル) | 2012-03-13 17:34 |
documents (OSC2015沖縄セミナー資料) | 2015-07-09 11:48 |
『3秒に1回、文字を標準出力する』
* Java6(JDK)のインストール http://java.sun.com/javase/ja/6/download.html
* 開発環境Eclipse
* ApacheCamelのZIPダウンロード http://camel.apache.org/download.html
自由なフォルダ(例えばlib)を作って、zipを解凍します。
Eclipseのユーザーライブラリを設定すると簡単に複数のjar(ライブラリ)を使うことができるようになります。 さきほど解凍した次のjarファイルをEclipseのユーザーライブラリに設定します。 多くのjarファイルがCamelに入っていますが下記のjar(ライブラリ)で最低限の動作が可能です。 下記のjarファイルをユーザーライブラリ"camel"という名前で作成します。
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はバージョン番号になります)
詳細は ・・・ ユーザーライブラリの設定
Eclipseでhelloプロジェクトを作成します。
プロジェクトを作成したら先ほど設定した"camel"をビルドパスに設定します。
詳細・・・helloプロジェクトの作成
Camelメイン実装
- 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();
- }
- }
OutputHelloProcess クラスの実装
- package ex.hello;
- import org.apache.camel.Exchange;
- import org.apache.camel.Processor;
- // .process(xxx)の場合は「Processorの実装クラス」を呼び出す事ができる
- public class OutputHelloProcess implements Processor{
- // .process(xxx)が実行されると、このprocessメソッドが呼び出される
- @Override
- public void process(Exchange exchange) throws Exception {
- // 標準出力で"Hello"を出力する
- System.out.println("Hello");
- }
- }
詳細は・・・初めてのCamel実装
実行すると、コンソールには下記のように出力されます。Helloが3秒に1回出力され続けます。
log4j:WARN No appenders could be found for logger (org.apache.camel.main.MainSupport). log4j:WARN Please initialize the log4j system properly. log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info. Hello Hello Hello Hello
詳細・・・helloプロジェクトの起動