4.7. Red Hat build of Apache Camel for Spring Boot へのエクスポート
Camel CLI 統合を Spring Boot や Quarkus などの従来の Java ベースのプロジェクトに export
できます。Camel CLI を使用してプロトタイプをビルドした後、Java コーディングがさらに必要な従来の Java ベースのプロジェクトが必要な場合、または Spring Boot、Quarkus、もしくは vanilla Camel Main の強力なランタイムを使用する場合に、これを実行するとよいでしょう。
4.7.1. Red Hat build of Apache Camel for 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.0.0.redhat-00045
camel export --runtime=spring-boot --gav=com.foo:acme:1.0-SNAPSHOT --directory=../myproject --camel-spring-boot-version=4.0.0.redhat-00045
詳細は、camel export --help
コマンドを実行して、使用可能なオプションを確認してください。
4.7.2. Camel CLI を含めたエクスポート リンクのコピーリンクがクリップボードにコピーされました!
Spring Boot、Quarkus、または Camel Main にエクスポートする場合、Camel JBang CLI はそのままでは含まれません。Camel CLI (Camel
) を引き続き使用するには、次のように --deps
オプションに Camel:cli-connector
を追加する必要があります。
camel export --runtime=quarkus --gav=com.foo:acme:1.0-SNAPSHOT --deps=camel:cli-connector --directory=../myproject
camel export --runtime=quarkus --gav=com.foo:acme:1.0-SNAPSHOT --deps=camel:cli-connector --directory=../myproject
4.7.3. エクスポートの設定 リンクのコピーリンクがクリップボードにコピーされました!
デフォルトでは、export コマンドは application.properties
ファイルから設定をロードします。このファイルは、ランタイムや Java バージョンの選択などの特定のパラメーターをエクスポートするために使用されます。
exporting
に関連する次のオプションは、application.properties
ファイルで設定できます。
オプション | 説明 |
---|---|
| ランタイム (Spring-Boot、quarkus、または Camel-main) |
| Maven group:artifact:version |
| 追加の依存関係 (複数の依存関係を区切るにはコンマを使用します)。詳細は、カスタム JAR の追加 を参照してください。 |
| クラスパスに追加する追加ファイル (複数のファイルを区切るにはコンマを使用します)。詳細は、カスタム JAR の追加 を参照してください。 |
| Java バージョン (11 または 17) |
| Apache Camel Kameletes のバージョン |
| Kamelets をロードするためのローカルディレクトリー |
| Spring Boot で使用する Camel バージョン |
| Spring Boot バージョン |
| Quarkus Platform Maven groupId |
| Quarkus Platform Maven artifactId |
| Quarkus Platform バージョン |
| エクスポートされたプロジェクトに Maven ラッパーファイルを含める |
| エクスポートされたプロジェクトに Gradle Wrapper ファイルを含める |
| 使用するビルドツール (maven または gradle) |
| オンデマンドでダウンロードするための追加の Maven リポジトリー (複数のリポジトリーを区切るにはコンマを使用します) |
| サーバー、リポジトリー、ミラー、プロキシーを設定するための Maven settings.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
を使用すると、詳細とデフォルト値を確認できます。
4.7.4. Configuration リンクのコピーリンクがクリップボードにコピーされました!
Camel CLI の config コマンドは、ユーザー設定を保存および使用するために使用します。これにより、毎回 CLI オプションを指定する必要がなくなります。たとえば、別の Camel バージョンを実行するには、次を使用します。
camel run * --camel-version=4.0.0.redhat-00036
camel run * --camel-version=4.0.0.redhat-00036
camel-version
は次のようなユーザー設定に追加できます。
camel config set camel-version=4.0.0.redhat-00036
camel config set camel-version=4.0.0.redhat-00036
run
コマンドはユーザー設定を使用します。
camel run *
camel run *
ユーザー設定ファイルは ~/.camel-jbang-user.properties
に保存されます。
4.7.4.1. 設定と設定解除 リンクのコピーリンクがクリップボードにコピーされました!
すべての Camel CLI オプションはユーザー設定に追加されます。たとえば、次のような単純なプロジェクトをエクスポートするには、以下を実行します。
ユーザー設定キーを設定解除するには、以下を使用します。
camel config unset camel-spring-boot-version
camel config unset camel-spring-boot-version
4.7.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
4.7.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
を使用すると、コマンドが持つすべてのオプションを確認できます。
4.7.5. トラブルシューティング リンクのコピーリンクがクリップボードにコピーされました!
JBang を使用すると、状態が ~/.jbang
ディレクトリーに保存されます。これは、JBang がダウンロードした JAR を保存する場所でもあります。Camel CLI は、実行中に必要な依存関係もダウンロードします。ただし、これらの依存関係はローカルの Maven リポジトリー ~/.m2
にダウンロードされます。そのため、Camel CLI の実行中に古い JAR などの問題をトラブルシューティングする場合は、これらのディレクトリーまたはその一部を削除してみてください。