第3章 例
以下の表に記載されているクイックスタートの例は、Git リポジトリーの Camel Quarkus Examples からクローンまたはダウンロードできます。
例の数: 2
例 | 説明 |
---|---|
CSV ファイルを消費する方法、データのマーシャリングおよびアンマーシャリング、FTP 経由で送信する方法を示しています。 | |
Kafka の例 | Strimzi Operator を使用して Kafka トピックでメッセージを生成および消費する方法を示しています。 |
3.1. ファイルコンシューマークイックスタートの例の使用
クイックスタートは、Git リポジトリーの Camel Quarkus Examples からダウンロードまたはクローンできます。この例は file-bindy-ftp
ディレクトリーにあります。
zip ファイルの内容を抽出するか、リポジトリーのクローンをローカルディレクトリー (例: quickstarts
) に展開します。
このサンプルは、ローカルマシンのコマンドラインで実行できます。開発モードを使用すると、開発段階にてインテグレーションで繰り返しを迅速に行うことができ、コードに関するフィードバックを即座に受け取ることができます。詳細は、Camel Quarkus User Guide の Development mode セクションを参照してください。
コンテナーのリソース制限を設定したり、Quarkus Kubernetes クライアントが自己署名証明書を信頼できるようにする必要がある場合は、これらの設定オプションを src/main/resources/application.properties
ファイルで確認できます。
前提条件
-
OpenShift クラスターにアクセス可能な
cluster admin
権限が必要です。 -
SFTP サーバーにアクセスでき、アプリケーションプロパティー設定ファイル
src/main/resources/application.properties
のサーバープロパティー (ftp
が最初に付けられる) が設定されている。
手順
Maven を使用して、開発モードでサンプルアプリケーションをビルドします。
cd quickstarts/file-bindy-ftp mvn clean compile quarkus:dev
$ cd quickstarts/file-bindy-ftp $ mvn clean compile quarkus:dev
Copy to Clipboard Copied! アプリケーションは 10 秒ごとにタイマーコンポーネントをトリガーし、無作為にブックデータを生成し、一時ディレクトリーにエントリーを 100 個含めて CSV ファイルを作成します。コンソールに以下のメッセージが表示されます。
[route1] (Camel (camel-1) thread #3 - timer://generateBooks) Generating randomized books CSV data
[route1] (Camel (camel-1) thread #3 - timer://generateBooks) Generating randomized books CSV data
Copy to Clipboard Copied! 次に、CSV ファイルはファイルコンシューマーによって読み取られ、Bindy は個別のデータ行を使用して Book オブジェクトにマーシャリングします。
[route2] (Camel (camel-1) thread #1 - file:///tmp/books) Reading books CSV data from 89A0EE24CB03A69-0000000000000000
[route2] (Camel (camel-1) thread #1 - file:///tmp/books) Reading books CSV data from 89A0EE24CB03A69-0000000000000000
Copy to Clipboard Copied! 次に、Book オブジェクトのコレクションが個別の項目に分割され、genre プロパティーに基づいて集約されます。
[route3] (Camel (camel-1) thread #0 - AggregateTimeoutChecker) Processed 34 books for genre 'Action' [route3] (Camel (camel-1) thread #0 - AggregateTimeoutChecker) Processed 31 books for genre 'Crime' [route3] (Camel (camel-1) thread #0 - AggregateTimeoutChecker) Processed 35 books for genre 'Horror'
[route3] (Camel (camel-1) thread #0 - AggregateTimeoutChecker) Processed 34 books for genre 'Action' [route3] (Camel (camel-1) thread #0 - AggregateTimeoutChecker) Processed 31 books for genre 'Crime' [route3] (Camel (camel-1) thread #0 - AggregateTimeoutChecker) Processed 35 books for genre 'Horror'
Copy to Clipboard Copied! 最後に、集約されたブックコレクションは CSV 形式に戻され、テスト FTP サーバーにアップロードされます。
[route4] (Camel (camel-1) thread #2 - seda://processed) Uploaded books-Action-89A0EE24CB03A69-0000000000000069.csv [route4] (Camel (camel-1) thread #2 - seda://processed) Uploaded books-Crime-89A0EE24CB03A69-0000000000000069.csv [route4] (Camel (camel-1) thread #2 - seda://processed) Uploaded books-Horror-89A0EE24CB03A69-0000000000000069.csv
[route4] (Camel (camel-1) thread #2 - seda://processed) Uploaded books-Action-89A0EE24CB03A69-0000000000000069.csv [route4] (Camel (camel-1) thread #2 - seda://processed) Uploaded books-Crime-89A0EE24CB03A69-0000000000000069.csv [route4] (Camel (camel-1) thread #2 - seda://processed) Uploaded books-Horror-89A0EE24CB03A69-0000000000000069.csv
Copy to Clipboard Copied! JVM モードでアプリケーションを実行するには、以下のコマンドを入力します。
mvn clean package -DskipTests java -jar target/*-runner.jar
$ mvn clean package -DskipTests $ java -jar target/*-runner.jar
Copy to Clipboard Copied! 以下のコマンドを入力して、サンプルアプリケーションをビルドして OpenShift にデプロイできます。
mvn clean package -DskipTests -Dquarkus.kubernetes.deploy=true
$ mvn clean package -DskipTests -Dquarkus.kubernetes.deploy=true
Copy to Clipboard Copied! Pod が実行されていることを確認します。
$oc get pods NAME READY STATUS RESTARTS AGE camel-quarkus-examples-file-bindy-ftp-1-d72mb 1/1 Running 0 5m15s ssh-server-deployment-5f6f685658-jtr9n 1/1 Running 0 5m28s
$oc get pods NAME READY STATUS RESTARTS AGE camel-quarkus-examples-file-bindy-ftp-1-d72mb 1/1 Running 0 5m15s ssh-server-deployment-5f6f685658-jtr9n 1/1 Running 0 5m28s
Copy to Clipboard Copied! オプション: 以下のコマンドを入力してアプリケーションログを監視します。
oc logs -f camel-quarkus-examples-file-bindy-ftp-5d48f4d85c-sjl8k
oc logs -f camel-quarkus-examples-file-bindy-ftp-5d48f4d85c-sjl8k
Copy to Clipboard Copied!