7.8. Camel Spring Boot へのエクスポート
Camel CLI 統合を Spring Boot や Quarkus などの従来の Java ベースのプロジェクトに export できます。Camel CLI を使用してプロトタイプをビルドした後、Java コーディングがさらに必要な従来の Java ベースのプロジェクトが必要な場合、または Spring Boot、Quarkus、もしくは vanilla Camel Main の強力なランタイムを使用する場合に、これを実行するとよいでしょう。
7.8.1. Camel Spring Boot へのエクスポート リンクのコピーリンクがクリップボードにコピーされました!
コマンド export --runtime=spring-boot は、現在の Camel CLI ファイルを、src/main/ フォルダー構造で編成されたファイルとともに Maven ベースの Spring Boot プロジェクトにエクスポートします。
たとえば、Maven の groupId com.foo と artifactId acme を使用し、バージョン 1.0-SNAPSHOT を使用して Spring Boot にエクスポートするには、次のコマンドを実行します。
camel export --runtime=spring-boot --gav=com.foo:acme:1.0-SNAPSHOT
camel export --runtime=spring-boot --gav=com.foo:acme:1.0-SNAPSHOT
これにより、current ディレクトリーにエクスポートされます。これは、ファイルが必要なフォルダー構造に移動されることを意味します。
別のディレクトリーにエクスポートするには、次を実行します。
camel export --runtime=spring-boot --gav=com.foo:acme:1.0-SNAPSHOT --directory=../myproject
camel export --runtime=spring-boot --gav=com.foo:acme:1.0-SNAPSHOT --directory=../myproject
Spring Boot にエクスポートする場合、pom.xml または build.gradle で定義された Camel バージョンは、Camel CLI が使用するバージョンと同じです。ただし、次のように別の Camel バージョンを指定できます。
camel export --runtime=spring-boot --gav=com.foo:acme:1.0-SNAPSHOT --directory=../myproject --camel-spring-boot-version=4.8.3.redhat-00009
camel export --runtime=spring-boot --gav=com.foo:acme:1.0-SNAPSHOT --directory=../myproject --camel-spring-boot-version=4.8.3.redhat-00009
詳細は、camel export --help コマンドを実行して、使用可能なオプションを確認してください。
7.8.2. Camel CLI を含めたエクスポート リンクのコピーリンクがクリップボードにコピーされました!
Spring Boot、Quarkus、または Camel Main にエクスポートする場合、Camel JBang CLI はそのままでは含まれません。Camel CLI (Camel) を引き続き使用するには、次のように --dep オプションに Camel:cli-connector を追加する必要があります。
camel export --runtime=spring-boot --gav=com.foo:acme:1.0-SNAPSHOT --dep=camel:cli-connector --directory=../myproject
camel export --runtime=spring-boot --gav=com.foo:acme:1.0-SNAPSHOT --dep=camel:cli-connector --directory=../myproject
7.8.3. エクスポートの設定 リンクのコピーリンクがクリップボードにコピーされました!
デフォルトでは、export コマンドは application.properties ファイルから設定をロードします。このファイルは、ランタイムや Java バージョンの選択などの特定のパラメーターをエクスポートするために使用されます。
exporting に関連する次のオプションは、application.properties ファイルで設定できます。
| オプション | 説明 |
|---|---|
|
| ランタイム (spring-boot、quarkus、または camel-main) |
|
| Maven group:artifact:version |
|
| 追加の依存関係 (複数の依存関係を区切るにはコンマを使用します)。詳細は、カスタム JAR の追加 を参照してください。 |
|
| クラスパスに追加する追加ファイル (複数のファイルを区切るにはコンマを使用します)。詳細は、カスタム JAR の追加 を参照してください。 |
|
| Java バージョン (11 または 17) |
|
| Apache Camel Kamelets のバージョン |
|
| Kamelets をロードするためのローカルディレクトリー |
|
| Spring Boot で使用する Camel バージョン |
|
| Spring Boot バージョン |
|
| Quarkus Platform Maven groupId |
|
| Quarkus Platform Maven artifactId |
|
| Quarkus Platform バージョン |
|
| エクスポートされたプロジェクトに Maven ラッパーファイルを含める |
|
| エクスポートされたプロジェクトに Gradle Wrapper ファイルを含める |
|
| 使用するビルドツール (maven または gradle) |
|
| オンデマンドでダウンロードするための追加の Maven リポジトリー (複数のリポジトリーを区切るにはコンマを使用します) |
|
| サーバー、リポジトリー、ミラー、プロキシーを設定するための Maven setting.xml ファイルのオプションの場所。false に設定すると、デフォルトの ~/.m2/settings.xml も使用されません。 |
|
| settings.xml を復号化するための Maven settings-security.xml ファイルのオプションの場所 |
|
| プロジェクトがエクスポートされるディレクトリー。 |
|
| --console が有効な場合など、スタンドアロン Camel を実行するときに使用する HTTP サーバーポート (デフォルトではポート 8080)。 |
|
| スタンドアロン Camel を実行している場合、ローカル HTTP サーバー (デフォルトではポート 8080) 上の /q/dev にある開発者コンソール。 |
|
| スタンドアロン Camel を実行している場合は、ローカル HTTP サーバー (デフォルトではポート 8080) の /q/health でヘルスチェックを行います。 |
これらは、export コマンドのオプションです。camel export --help を使用すると、詳細とデフォルト値を確認できます。
7.8.4. 設定 リンクのコピーリンクがクリップボードにコピーされました!
Camel CLI の config コマンドは、ユーザー設定を保存および使用するために使用します。これにより、毎回 CLI オプションを指定する必要がなくなります。たとえば、別の Camel バージョンを実行するには、次を使用します。
camel run * --camel-version=4.8
camel run * --camel-version=4.8
camel-version は次のようなユーザー設定に追加できます。
camel config set camel-version=4.8
camel config set camel-version=4.8
run コマンドはユーザー設定を使用します。
camel run *
camel run *
ユーザー設定ファイルは ~/.camel-jbang-user.properties に保存されます。
7.8.4.1. 設定と設定解除 リンクのコピーリンクがクリップボードにコピーされました!
すべての Camel CLI オプションはユーザー設定に追加されます。たとえば、次のような単純なプロジェクトをエクスポートするには、以下を実行します。
ユーザー設定キーを設定解除するには、以下を使用します。
camel config unset camel-spring-boot-version
camel config unset camel-spring-boot-version
7.8.4.2. 設定のリスト表示と取得 リンクのコピーリンクがクリップボードにコピーされました!
ユーザー設定キーをリスト表示するには、以下を使用します。
camel config list
camel config list
上記の設定の出力は次のとおりです。
runtime = spring-boot deps = org.apache.camel.springboot:camel-timer-starter gav = com.foo:acme:1.0-SNAPSHOT
runtime = spring-boot
deps = org.apache.camel.springboot:camel-timer-starter
gav = com.foo:acme:1.0-SNAPSHOT
特定のキーの値を取得するには、get コマンドを使用します。
camel config get gav com.foo:acme:1.0-SNAPSHOT
camel config get gav
com.foo:acme:1.0-SNAPSHOT
7.8.4.3. プレースホルダー置換 リンクのコピーリンクがクリップボードにコピーされました!
ユーザー設定値は、コマンドラインプロパティーのプレースホルダーとして使用できます。次に例を示します。
camel config set repos=https://maven.repository.redhat.com/ga camel run 'Test.java' --logging-level=info --repos=#repos,https://packages.atlassian.com/maven-external
camel config set repos=https://maven.repository.redhat.com/ga
camel run 'Test.java' --logging-level=info --repos=#repos,https://packages.atlassian.com/maven-external
この例では、ユーザー設定 (config set) でリポジトリーが設定されており、camel run コマンドでプレースホルダー #repos が宣言されているため、camel run によってプレースホルダーが置き換えられ、実行中に両方のリポジトリーが使用されます。設定値を参照する場合、構文は #optionName (例: #repos) であることに注意してください。
プレースホルダー置換は、特定の Camel コマンドが持つ各オプションに対してのみ機能します。camel run --help を使用すると、コマンドが持つすべてのオプションを確認できます。
7.8.5. トラブルシューティング リンクのコピーリンクがクリップボードにコピーされました!
JBang を使用すると、状態が ~/.jbang ディレクトリーに保存されます。これは、JBang がダウンロードした JAR を保存する場所でもあります。Camel CLI は、実行中に必要な依存関係もダウンロードします。ただし、これらの依存関係はローカルの Maven リポジトリー ~/.m2 にダウンロードされます。そのため、Camel CLI の実行中に古い JAR などの問題をトラブルシューティングする場合は、これらのディレクトリーまたはその一部を削除してみてください。