Red Hat Fuse 7.11 のリリースノート
Red Hat Fuse の新機能
概要
多様性を受け入れるオープンソースの強化
Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。まずは、マスター (master)、スレーブ (slave)、ブラックリスト (blacklist)、ホワイトリスト (whitelist) の 4 つの用語の置き換えから始めます。この取り組みは膨大な作業を要するため、今後の複数のリリースで段階的に用語の置き換えを実施して参ります。詳細は、Red Hat CTO である Chris Wright のメッセージ をご覧ください。
第1章 Fuse 7.11 の製品概要
1.1. Fuse のディストリビューション
Fuse 7.11 は、以下の 3 つのディストリビューションで提供されます。
- Fuse スタンドアロン
複数のオペレーティングシステム上でサポートされる従来の Fuse ディストリビューションです。このディストリビューションは以下のコンテナータイプでサポートされます。
- Apache Karaf
- JBoss Enterprise Application Platform (EAP)
- Spring Boot
- Fuse on OpenShift
OpenShift でインテグレーションアプリケーションを実行するための Fuse ディストリビューションです (Red Hat Enterprise Linux オペレーティングシステムでサポートされます)。このディストリビューションでは、サポートされるコンテナータイプは docker 形式のコンテナーイメージで提供されます。
- Java イメージ (Spring Boot 用)
- Apache Karaf イメージ
- JBoss EAP イメージ
- Fuse Online
ブラウザーベースの UI を使用して簡単なワークフローにアクセスできる、インテグレーション初心者向けの Fuse ディストリビューションです。このディストリビューションは以下のようなデプロイメントで使用できます。
- OpenShift Dedicated (OSD) クラスター上
- オンプレミス Openshift クラスターのインストール
1.2. 新機能
Fuse 7.11 には、主要なコンポーネントのアップグレードや新機能が多く含まれています。詳細は、各 Fuse ディストリビューションの新機能のセクションを参照してください。
1.3. Fuse 7.12.1 に関する事項
Fuse on OpenShift 7.11.1 では、イメージストリームの BASEURL は https://github.com/jboss-fuse/application-templates/blob/application-templates-2.1.0.fuse-sb2-7_11_1-00016-redhat-00002/ です。
Fuse Online で Fuse 7.11 から 7.12.1 にアップグレードするには、「Fuse Online 7.11.x から 7.12.1 へのアップグレードには手動のアップグレード手順が必要です。」 の手順に従います。
Fuse スタンドアロン の場合、「Fuse 7.11.1 の BOM ファイル」 に一覧表示されている対応する BOM バージョンに 7.12.1 fuse.version プロパティーを設定します。
「Fuse 7.11 および 7.11.1 で解決されたバグ」も併せて参照してください。
1.4. 重要事項
- CVE-2020-8908 guava
- 30.0 より前のバージョンの Guava には、一時ディレクトリー作成の脆弱性が存在します。Guava をバージョン 30.0 以降に更新するか、Java 7 以降に更新するか、どちらも不可能な場合は、ディレクトリーの作成後にパーミッションを明示的に変更することをお勧めします。
- Red Hat CodeReady Studio 廃止予定
- Red Hat CodeReady Studio は廃止が予定されています。JBoss Tools (コミュニティー) が後続のツールキットです。
1.5. サポートされる設定
Apache Karaf で Fuse を実行する場合は、OpenJDK 8u282 または OpenJDK 8u302 が推奨されます。クレデンシャルストアに影響を及ぼす既知の問題がある OpenJDK 8u292 は使用しないでください (ENTESB-16417 を参照)。OracleJDK 1.8.0_291 もこの問題の影響を受けます。
バージョン 7.11 でサポートされる設定、標準仕様、およびコンポーネントに関する詳細は、以下のカスタマーポータルの記事を参照してください。
第2章 Fuse Online
Fuse Online は、コードを作成せずに複数の異なるアプリケーションやサービスの統合を可能にする Web ブラウザーインターフェイスを提供します。また、複雑なユースケースで必要な場合にコードを追加できる機能も提供します。
Fuse Online では、OpenShift のインテグレーションは Apache Camel を使用する Spring Boot として実行されます。
2.1. Fuse Online ディストリビューション
Fuse Online は Red Hat の Web ベースのインテグレーションプラットフォームです。Syndesis は Fuse Online のオープンソースプロジェクトです。Fuse Online は以下のような OpenShift 環境で実行されます。
| ホスト環境 | インストール |
| OpenShift Dedicated | Red Hat が Red Hat インフラストラクチャーに Fuse Online をインストールし、提供します。 |
| OpenShift Container Platform | お客様がインストールし、管理します。 |
2.2. Fuse Online 7.11 の新機能
以下の機能は Fuse Online 7.11 の新機能です。
Red Hat Managed Kafka への接続のサポート
Red Hat Managed Kafka への接続をサポートするために、Kafka Message Broker コネクターには以下のフィールドが含まれています。
- セキュリティープロトコル
- SASL メカニズム
- Username
- Password
- SASL ログインコールバックハンドラークラス
OAuth トークンエンドポイント URI
詳細は、Fuse Online のアプリケーションおよびサービスへの接続 の第 15 章 Kafka への接続 を参照してください。
統合ラベル
統合を保存すると、1 つ以上のラベルを適用できます。ラベルは、後で OpenShift でフィルタリングおよび選択するために、統合 (または他の OpenShift リソース) に適用できるキーと値のペアのタグです。たとえば、OpenShift 管理者ユーザーは、実行中の Pod またはデプロイメントのリストをラベルでフィルタリングできます。
統合環境変数
任意で、インテグレーションを保存するときに、Fuse Online がインテグレーション Pod に適用する 1 つ以上の環境変数を設定できます。これらの環境変数を使用して Spring Boot 設定オプションを設定できます。たとえば、
SERVER_MAX_HTTP_HEADER_SIZEなどを設定できます。手動で設定される既存の環境変数は保持されます。インテグレーションを保存する際に、Fuse Online にこれらの環境変数を設定しても、たとえば、OpenShift Web コンソールインターフェイスなどを介して手動で設定された他の環境設定が変更されたり、影響を受けたりしないことに注意してください。
Maven ミラーの設定
インテグレーションをビルドするときに Fuse Online が Maven アーティファクトにアクセスするために使用する Maven リポジトリーを指定できます。Syndesis カスタムリソースで、Maven リポジトリーを
components:server:features:maven:mirror設定の値として指定します。
2.3. Fuse Online 7.11 での変更点
Fuse Online 7.11 では、以下のように Fuse Online 7.10 機能が変更されました。
AMQ Broker をインストールするには、
todo addonオプションを使用する以前のリリースでは、AMQ Broker はデフォルトで Fuse Online でインストールされていました。Fuse Online 7.11 以降では、AMQ Broker をインストールする場合は、Fuse Online
todo addonオプションをtrueに設定します。このオプションにより、インテグレーションをテストするためのサンプルのTodoアプリケーション、PostgreSQL データベースおよびコネクターも有効になります。todo addon オプション設定の詳細は、OpenShift Container Platform での Fuse Online のインストールと操作 の OCP で稼働している Fuse Online 環境へのサンプルデータの追加 を参照してください。データマッパーが CSV データをサポートする
データシェイプを定義できるアクションを持つ Fuse Online コネクターの場合、(JSON スキーマ、JSON インスタンス、XML スキーマ、または XML インスタンスを指定するオプションに加え)CSV インスタンスをオプションで指定できるようになりました。たとえば、Webhook コネクションでは、CSV ファイルをアクションのデータ出力タイプとして指定できます。
2.4. Fuse Online 7.11.x から 7.12.1 へのアップグレードには手動のアップグレード手順が必要です。
Fuse Online 7.11.x をインストールし、Fuse Online 7.12.x.x にアップグレードする場合、Fuse Online 7.12.x.0 に手動でアップグレードする必要があります。
- OpenShift Container Platform Web コンソールの Administrator パースペクティブで、Operators > Installed Operators に移動します。
- Red Hat Integration Fuse Online 7.11.2 Operator をクリックします。
- Subscription タブをクリックします。
Update approval が Manual に設定されていることを確認します。
- Update approval が Manual に設定されている場合には、次の手順に進みます。
Update approval が Automatic に設定されている場合は、以下を実行します。
- Automatic をクリックします。
- Change Update Approval Strategy ダイアログで Manual を選択し、Save をクリックします。
- Update channel で 7.11.2 をクリックします。
Change subscription update channel で 7.12.x を選択します。
注記:
latest、candidate、およびstableチャネルは、テクノロジープレビュー機能です。- Upgrade status で Upgrade available をクリックします。
- Preview InstallPlan をクリックしてから、Approve をクリックします。
Operator が Fuse Online 7.12.0 へのアップグレードを完全に完了していることを確認します。
- Operators > Installed Operators ページに移動し、Red Hat Integration Fuse Online をクリックします。Operator Details ページが開きます。
-
Syndesis タブを選択します。Fuse Online インスタンスのステータス (デフォルト名は app) は、最初に Installed を表示します (Fuse Online 7.12.0 がインストールされていることを示すため)。続いて、いくつかのフェーズ (
Installing、Starting、およびInstalled) に進みます。Installed フェーズ に再び到達すると、7.12.0 へのアップグレードが完了します。
- Operators > Installed Operators ページに戻り、Red Hat Integration Fuse Online Operator の Upgrade available をクリックします。
- Preview InstallPlan をクリックしてから、Approve をクリックします。
Operator が Fuse Online 7.12.x へのアップグレードを完全に完了していることを確認します。
-
Networking > Routes に移動してから、
syndesisの場所リンクをクリックして、Fuse Online Web コンソールを開きます。 - Fuse Online コンソールの右上隅にある ? アイコンをクリックしてから About を選択します。
-
About ページのバージョン番号に
7_11_xが含まれていることを確認します。
-
Networking > Routes に移動してから、
2.5. Fuse Online インテグレーションのアップグレード
オンサイトの OCP で稼働している Fuse Online 環境をアップグレードするには、OCP での Fuse Online のアップグレード の説明どおりに、Operator を使用して、稼働中のインテグレーションを再パブリッシュすることで Fuse Online を更新する必要があります。
OCP 4.9 では、Operator を使用して 7.10 にアップグレードすると、Fuse Online Operator のアップグレードプロセス中に以下の警告が表示されます。
W1219 18:38:58.064578 1 warnings.go:70] extensions/v1beta1 Ingress is deprecated in v1.14+, unavailable in v1.22+; use networking.k8s.io/v1 Ingress
この警告は、クライアント (Fuse Online が Kubernetes/OpenShift API 初期化コードに使用する) が非推奨の Ingress バージョンにアクセスするために表示されます。この警告は、非推奨の API が完全に使用されていることを示すものでは なく、Fuse Online7.10 へアップグレードすることに問題はありません。
2.6. Fuse Online での重要事項
Fuse Online ディストリビューションの Fuse 7.11 リリースにおける重要事項
- Fuse 7 が現在メンテナーンスサポート中であるため、Fuse Online のサポートは非推奨になりました。Fuse 7 のサポートが終了すると、Fuse Online の今後の開発は行われません。
- Fuse Online のインストールは、OCP 3.11 ではサポート対象外となります。
- Fuse Online は Camel K ランタイムまたは KNative コネクターをサポートしなくなりました。
- Fuse Online が Red Hat インフラストラクチャーにインストールされ、プロビジョニングされる場合、アカウントは同時に実行可能な特定数のインテグレーションに制限されます。詳細は、価格プランを参照してください。
- Fuse Online にアップロードする OpenAPI スキーマに出入力タイプが定義されていないことがあります。Fuse Online が出入力タイプを指定しない OpenAPI からカスタム API クライアントを作成した場合、API クライアントが処理できるフィールドにインテグレーションデータをマップするインテグレーションや、API クライアントが処理したフィールドから統合データをマップするインテグレーションを作成できません。インテグレーションにカスタム API をマップ先またはマップ元とするマッピングが必要な場合、OpenAPI スキーマをアップロードするときに Review/Edit をクリックして API 編集ツールの API Designer を開き、出入力タイプの指定を追加します。
- Fuse 7.8 以降、カスタム API クライアントコネクターまたは API プロバイダーインテグレーションに使用する OpenAPI ドキュメントは、循環スキーマ参照を持つことができません。たとえば、リクエストまたは応答ボディーを指定する JSON スキーマは、そのスキーマ自体を全体的に参照することはできず、任意数の中間スキーマを介してそれ自体を部分的に参照することもできません。
OCP 4.9 (またはそれ以降) では、
application-monitoringプロジェクトは機能しなくなりました。これは、Prometheus および Grafana で Fuse Online インテグレーションおよびインフラストラクチャーコンポーネントを監視するための前提条件です。この問題を回避するには、(
openshift -monitoring namespace で)ビルトインモニターリングスタックを使用してopenshift-user-workload-monitoring機能およびgrafana-operatorを使用し、以下の OCP 4.9 (またはそれ以降)への Fuse Online 監視リソース(Prometheus および Grafana)の追加 の説明どおりに、ops addonを使用します。
2.6.1. OCP 4.9 (またはそれ以降) に Fuse Online 監視リソース (Prometheus および Grafana) を追加する
前提条件
- Fuse Online は、オンサイトで OCP 4.9 (またはそれ以降) にインストールされ、実行されている。
-
ocクライアントツールがインストール済みであり、Fuse Online がインストールされている OCP クラスターに接続されている。 -
OCP クラスターへの
adminアクセスがある。 Fuse Online インストールが
ops addonが有効になっている状態で設定されている。必要に応じて、以下のコマンドで有効にすることができます。oc patch syndesis/app --type=merge -p '{"spec": {"addons": {"ops": {"enabled": true}}}}'
手順
既存の
openshift-monitoring設定がある場合は、手順 2 に進みます。それ以外の場合には、ユーザーワークロードモニターリングオプションを
trueに設定するopenshift-monitoring設定を作成し、手順 3 に進みます。oc apply -f - <<EOF apiVersion: v1 kind: ConfigMap metadata: name: cluster-monitoring-config namespace: openshift-monitoring data: config.yaml: enableUserWorkload: true EOF
既存の
openshift-monitoring設定がある場合:既存の
openshift-monitoring設定をチェックして、ユーザーワークロードモニターリング オプションが true に設定されるかどうかを判別します。oc get -n openshift-monitoring cm/cluster-monitoring-config -ojsonpath='{.data.config\.yaml}'結果が
enableUserWorkload: trueの場合、ユーザーワークロードモニターリング オプションは true に設定されます。ステップ 3 に進みます。結果に他の設定が表示される場合には、次の手順に進み、ConfigMap を編集してユーザーワークロードの監視を有効にします。
以下のようにエディターで ConfigMap ファイルを開きます。
oc -n openshift-monitoring edit cm/cluster-monitoring-config
enableUserWorkload を true に設定します。以下に例を示します。
apiVersion: v1 kind: ConfigMap metadata: name: cluster-monitoring-config namespace: openshift-monitoring data: config.yaml: enableUserWorkload: true
- ConfigMap ファイルを保存します。
以下のコマンドを使用して、
openshift-user-workload-monitoringnamespace の Pod のステータスを確認します。oc -n openshift-user-workload-monitoring get pods -w
Pod のステータスが Running になるまで待機します。以下に例を示します。
prometheus-operator-5d989f48fd-2qbzd 2/2 Running prometheus-user-workload-0 5/5 Running prometheus-user-workload-1 5/5 Running thanos-ruler-user-workload-0 3/3 Running thanos-ruler-user-workload-1 3/3 Running
Prometheus で Fuse Online のアラートルールが有効になっていることを確認します。
内部 prometheus インスタンスにアクセスします。
oc port-forward -n openshift-user-workload-monitoring pod/prometheus-user-workload-0 9090
-
ブラウザーを開いて
localhost:9090にアクセスします。 -
Status> Targets の順に選択します。3 つの
syndesisエンドポイントが表示されるはずです。 -
CTRL-C を押して、
port-forwardプロセスを終了します。
-
OperatorHub から、Grafana Operator 4.1.0 を選択した namespace(例:
grafana-middlewarenamespace) にインストールします。 クラスターロールとクラスターロールのバインディングを追加して、
grafana-operatorがノードおよび namespace を一覧表示できるようにします。grafana-operatorWeb サイトからクラスターロール YAML ファイルをダウンロードします。curl https://raw.githubusercontent.com/grafana-operator/grafana-operator/master/deploy/cluster_roles/cluster_role_grafana_operator.yaml > tmp_role.yaml
grafana-operatorのクラスターパーミッションを追加して、他の namespace およびノードを読み取ります。cat <<EOF >> tmp_role.yaml - apiGroups: - "" resources: - namespaces - nodes verbs: - get - list - watch EOFoc apply -f tmp_role.yaml
oc apply -f - <<EOF apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: grafana-operator roleRef: name: grafana-operator kind: ClusterRole apiGroup: "" subjects: - kind: ServiceAccount name: grafana-operator-controller-manager namespace: grafana-middleware EOF
DASHBOARD_NAMESPACES_ALL環境変数を使用して namespace を制限することで、grafana-operatorが他の namespace から Grafana ダッシュボードを読み取れるようにします。oc -n grafana-middleware patch subs/grafana-operator --type=merge -p '{"spec":{"config":{"env":[{"name":"DASHBOARD_NAMESPACES_ALL","value":"true"}]}}}'grafanaPod が再作成されていることを確認します。oc -n grafana-middleware get pods -w
必要に応じて、
grafana-operatorログを表示します。oc -n grafana-middleware logs -f `oc -n grafana-middleware get pods -oname|grep grafana-operator-controller-manager` -c manager
Grafana カスタムリソース を追加して、以下のように Grafana サーバー Pod を起動します。
oc apply -f - <<EOF apiVersion: grafana.integreatly.org/v1beta1 kind: Grafana metadata: name: grafana-middleware namespace: grafana-middleware spec: config: auth: disable_signout_menu: true auth.anonymous: enabled: true log: level: warn mode: console security: admin_password: secret admin_user: root dashboardLabelSelector: - matchExpressions: - key: app operator: In values: - grafana - syndesis ingress: enabled: true EOFgrafana-operatorがモニターリング情報を読み取ることを許可します。oc -n grafana-middleware adm policy add-cluster-role-to-user cluster-monitoring-view -z grafana-serviceaccount
GrafanaDatasourceを追加して、thanos-querierをクエリーします。oc apply -f - <<EOF apiVersion: grafana.integreatly.org/v1beta1 kind: GrafanaDataSource metadata: name: prometheus-grafanadatasource namespace: grafana-middleware spec: datasources: - access: proxy editable: true isDefault: true jsonData: httpHeaderName1: 'Authorization' timeInterval: 5s tlsSkipVerify: true name: Prometheus secureJsonData: httpHeaderValue1: "Bearer $(oc -n grafana-middleware serviceaccounts get-token grafana-serviceaccount)" type: prometheus url: "https://$(oc get route thanos-querier -n openshift-monitoring -ojsonpath='{.spec.host}')" name: prometheus-grafanadatasource.yaml EOFgrafana サーバーログを表示します。
oc logs -f `oc get pods -l app=grafana -oname`
grafana URL にアクセスし、Fuse Online ダッシュボードを表示します。
echo "https://"$(oc -n grafana-middleware get route/grafana-route -ojsonpath='{.spec.host}')
2.7. Fuse Online のテクニカルサポートの利用
テクニカルサポートを利用するには、Fuse Online コンソールの左ナビゲーションパネルで Support をクリックします。Support ページを使用して、すべてのインテグレーションに関する診断情報や、選択した 1 つまたは複数のインテグレーションに関する診断情報をダウンロードします。このページには、サポートチケットを作成するためのリンクや、ダウンロードした診断情報を提供するためのリンクもあります。
2.8. Fuse Online のテクノロジープレビュー機能
本リリースには、以下に示すテクノロジープレビュー機能が含まれています。
テクノロジープレビューの機能は、Red Hat の本番環境のサービスレベルアグリーメント (SLA) ではサポートされず、機能的に完全ではないことがあるため、Red Hat は本番環境での使用は推奨しません。テクノロジープレビューの機能は、最新の技術をいち早く提供して、開発段階で機能のテストやフィードバックの収集を可能にするために提供されます。詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
Fuse Online の監査
Fuse Online は、ユーザーが以下の Fuse Online コンポーネントに対して加えた変更の基本監査をサポートします。
-
コネクション -
Nameおよび Fuse Online Web コンソールのコネクターの Details ページに表示されるその他のフィールド。 -
コネクター -
Nameフィールド。 -
インテグレーション -
Nameフィールド。
-
コネクション -
データマッパーでは、条件式を指定し、データマッピングに適用することができます。たとえば、条件式はソースフィールドの評価や、ソースフィールドが空の場合にターゲットフィールドに入力する方法を指定できます。指定できる式の限定セットは、Microsoft Excel の式に似ています。
データマッパーのユーザー定義プロパティーのドキュメント範囲
データマッパーでは、ソースとターゲットのマッピングに定義されたプロパティーの範囲を指定できます。Mapping Details パネルで、Properties の横にある Add (+) をクリックします。新しい Scope オプションのCreate Property ダイアログで、現在のメッセージヘッダー、前のステップからのメッセージヘッダー、または Camel 固有のプロパティーの Camel Exchange Property を選択できます。
OAuth を使用する REST API クライアントでは、API クライアントコネクターの作成時に、そのコネクターから作成するコネクションのデフォルト OAuth2 の動作を変更することができます。OpenAPI 仕様への Fuse Online ベンダーエクステンションは以下をサポートします。
- クライアントクレデンシャルをパラメーターとして提供。
- HTTP レスポンスステータスコードを基にした新しいアクセストークンの取得。
第3章 Fuse on OpenShift
Fuse on OpenShift は、OpenShift Container Platform での Fuse アプリケーションのデプロイを可能にします。
3.1. OpenShift のサポート対象バージョン
Fuse on OpenShift と使用する OpenShift Container Platform のサポート対象バージョンについては Red Hat Fuse でサポートされる設定 を参照してください。
3.2. サポートされるイメージ
Fuse on OpenShift は以下の Docker 形式のイメージを提供します。
| Image | プラットフォーム | サポートされているアーキテクチャー |
|---|---|---|
|
| Spring Boot | AMD64 および Intel 64 (x86_64) |
|
| Spring Boot | AMD64 および Intel 64 (x86_64) |
|
| Spring Boot |
IBM Z および LinuxONE (s390x) |
|
| Apache Karaf | AMD64 および Intel 64 (x86_64) |
|
| Apache Karaf | AMD64 および Intel 64 (x86_64) |
|
| Red Hat JBoss Enterprise Application Platform | AMD64 および Intel 64 (x86_64) |
|
| Red Hat JBoss Enterprise Application Platform | AMD64 および Intel 64 (x86_64) |
|
| Fuse console |
AMD64 および Intel 64 (x86_64) |
|
| Fuse console operator |
AMD64 および Intel 64 (x86_64) |
|
| Apicurito REST アプリケーションジェネレーター | AMD64 および Intel 64 (x86_64) |
|
| Apicurito REST API エディター | AMD64 および Intel 64 (x86_64) |
|
| API Designer Operator | AMD64 および Intel 64 (x86_64) |
3.3. Fuse 7.11 on OpenShift の新機能
Fuse on OpenShift のバージョン 7.11 では、以下の新機能が提供されます。
Fuse Console のパフォーマンスチューニング (OpenShift 4.x のみ)
clientBodyBufferSize、proxyBuffers、およびsubrequestOutputBufferSize環境変数のいずれかを設定することにより、Fuse Console のパフォーマンスを調整できます。注記: この機能は OpenShift 3.11 ではサポートされません。
JDK 11 のサポート
Fuse 7.11 は、JDK11 を使用して Fuse on OpenShift クイックスタートを構築するためのサポートを提供します。
openshift-maven-pluginを使用したクイックスタートの実行Fuse 7.11 は、Maven アーキタイプで Fuse on OpenShift クイックスタートをビルドして実行する際に、新しい
openshift-maven-pluginを使用します。IBM Power Systems、IBM Z、および LinuxONE へのサポート
Fuse 7.11 は、Red Hat OpenShift Container Platform 4.9 以降で、IBM Power Systems(ppc64le)、IBM Z、および LinuxONE (s390x) のサポートを追加します。
注記Fuse 7.11 では、Fuse on OpenShift イメージストリームおよびテンプレートを IBM Power Systems、IBM Z、および LinuxONE へインストールすることは、サポートされていません。Fuse on OpenShift Operator でインストールできるコンポーネントのみが IBM Power Systems、IBM Z、および LinuxONE でサポートされます。
3.4. 重要事項
Fuse on OpenShift ディストリビューションの Fuse 7.11 リリースにおける重要事項
- OpenShift Container Platform (OCP) 4.9 以降での Fuse7.11 のサポート
- Fuse 7.11 には、OpenShift Container Platform (OCP) 4.9 以降と連携できるようにする更新が含まれています。OCP 4.10 にアップグレードする場合は、OCP をバージョン 4.10 にアップグレードする 前 に、Fuse をバージョン 7.11 にアップグレードする必要があります。以前のバージョンの Fuse (7.10 より前) は OCP 4.9 以降をサポートしません。
- Data Virtualization の削除
- Data Virtualization は Fuse 7.7 で非推奨となり、Fuse 7.8 から削除されました。
- Spring Boot 1 の削除
- Spring Boot 1 は Fuse 7.7 で非推奨となり、Fuse 7.8 から削除されました。Spring Boot 2.0 Migration Guide の説明にしたがって、Spring Boot アプリケーションを Spring Boot 2 に移行することが推奨されます。
- Fabric8 Maven プラグインの削除
- Fabric8 Maven プラグインは Fuse 7.10 から完全に削除され、Fuse 7.10 以降は OpenShift Maven プラグイン に置き換えられています。OpenShift Maven プラグインを使用してアプリケーションをビルドおよびデプロイします。
- JDK11 を使用したクイックスタートの実行
- ランタイム時に JDK11 ベースのイメージを使用する場合は、コンパイル時に正しい JDK11 プロファイルを使用します。JDK11 を使用してクイックスタートをビルドおよびデプロイする場合は、ビルドマシンに JDK11 をインストールし、正しい JDK11 プロファイルを使用してクイックスタートをビルドするようにしてください。
- Spring Boot アーティファクト ID の変更
-
Fuse 7.11 では、Spring Boot が 2.5.13 にアップグレードされています。この新しいバージョンでは、
spring-cloud-starter-kubernetes-configアーティファクト ID がspring-cloud-starter-kubernetes-client-configに変更されています。
Spring -Boot RHOSAK のクイックスタートが spring -boot のアップグレードが原因で失敗する
eap-camel-jpaクイックスタートの削除-
依存関係の問題により、
eap-camel-jpaクイックスタートが Fuse 7.8 から削除されました。 - Fuse7.8 以降、外部から Jolokia にアクセスできない
- Fuse 7.8 より、Jolokia のデフォルトプロトコルは HTTP から HTTPS に変更されました。
- FIPS 対応の Jolokia エージェントは使用不可になる
- OCP FIPS 対応 Jolokia エージェントは、セキュリティーエンコーディングがサポートされていないため、使用できなくなります。
第4章 Fuse スタンドアロン
4.1. サポートされるコンテナー
Fuse スタンドアロン 7.11 は以下のランタイムコンテナーでサポートされます。
- Spring Boot 2 (スタンドアロン)
- Apache Karaf
- Red Hat JBoss Enterprise Application Platform (JBoss EAP)
4.2. Fuse 7.11 の新機能
Fuse スタンドアロンのバージョン 7.11 の主な新機能は次のとおりです。
- Java 11 は Apache Karaf でサポートされています。
- Java 11 が Apache Karaf ランタイムでサポートされるようになりました。
4.3. テクノロジープレビューの機能
以下の Fuse スタンドアロンの機能は テクノロジープレビュー であるため、Fuse 7.11 ではサポートされません。
- Saga EIP
- Saga EIP (Enterprise Integration Pattern) はテクノロジープレビューの機能で、実稼働環境に適していない インメモリー Saga サービスのみが対象になります。LRA Saga サービスはサポートされません。詳細は Apache Camel Development Guide の Saga EIP を参照してください。
4.3.1. Apache Camel の Fuse Tooling サポート
Fuse Tooling は、Apache Camel 言語サポートエクステンションや、Visual Studio Code、Eclipse IDE、および Eclipse Che のプラグインを使用して、Camel アプリケーションの開発でクロスプラットフォームおよびクロス IDE を提供します。
Visual Studio Code の機能
VS Code Apache Camel エクステンションはコミュニティー機能です。これらは Red Hat ではサポートされません。
Language Support for Apache Camel エクステンションは、以下のような Camel URI の機能を提供します。
XML DSL および Java DSL の場合:
- VS Code の Outline パネルおよび Go > Go to Symbol in File ナビゲーションパネルで、エンドポイントに移動できます。
- エディターは入力時に Camel コンポーネント、属性、および属性値のリストでコード補完を提供します。
- Camel コンポーネントにマウスオーバーすると、エディターにコンポーネントの簡単な説明が表示されます (Apache Camel component reference から)。
- ファイルを編集すると、エディターは Camel コードで Apache Camel 検証チェックを実行します。
- File → Preferences → Settings → Apache Camel Tooling → Camel catalog version と選択すると、特定の Camel Catalog 指定できます。
- Quick fix(クリック修正) 機能を使用して、無効な列挙値や未知の Camel URI コンポーネントプロパティーに対応できます。
XML DSL の場合のみ:
- VS Code の Outline パネルおよび Go > Go to Symbol in File ナビゲーションパネルで、Camel コンテキストおよびルートに移動できます。
-
エディターは入力時に
direct、direct VM、VM、およびSEDAコンポーネントの参照された ID に対し、コード補完を提供します。 -
開いているすべての Camel ファイルで
directおよびdirect VMコンポーネントの参照を見つけることができます。
プロパティーの場合:
- Camel コンポーネントプロパティーの完了
- 診断
Language Support for Apache Camel 機能にアクセスするには、エクステンションを 1 つ以上追加します。
Apache Camel Extension Pack によって以下の VS Code エクステンションがインストールされます。
エクステンションを個別にインストールすることもできます。
詳細は、以下の README ファイルを参照してください。
- Apache Camel Extension Pack の README ファイル。
- Apache Camel Language Server Protocol for Visual Studio Code の README ファイル。
- AtlasMap Data Transformation エディター の README
Eclipse IDE 機能
Language Support for Apache Camel Eclipse プラグインは Camel URI に以下の機能を提供します。
XML DSL および Java DSL 両方の汎用 Eclipse テキストエディターの場合:
- エディターは入力時に Camel コンポーネント、属性、および属性値のリストでコード補完を提供します。
- Camel コンポーネントにマウスオーバーすると、エディターにコンポーネントの簡単な説明が表示されます (Apache Camel component reference から)。
Language Support for Apache Camel 機能にアクセスするには、Eclipse Marketplace から Eclipse プラグインをインストールします。詳細は、Apache Camel Language Server Protocol for Eclipse IDE の README file を参照してください。
Eclipse Che の機能
Eclipse Che 7 の Language Support for Apache Camel プラグインは、XML DSL および Java DSL で Camel URI の機能を提供します。
- エディターは入力時に Camel コンポーネント、属性、および属性値のリストでコード補完を提供します。
- Camel コンポーネントにマウスオーバーすると、エディターにコンポーネントの簡単な説明が表示されます (Apache Camel component reference から)。
- ファイルを保存すると、エディターによって Camel コードで Apache Camel 検証チェックが実行されます。
Eclipse Che に対してこのプラグインをアクティベートするには、Apache Camel based on Spring Boot スタックまたはワークスペース設定を使用します。
4.4. Fuse 7.11 および Fuse 7.11.1 の BOM ファイル
サポートされる Fuse 7.11 または 7.11.1 アーティファクトを使用するために Maven プロジェクトを設定するには、本セクションで説明する BOM バージョンを使用してください。
4.4.1. Fuse 7.11.1 の BOM ファイル
Fuse スタンドアロンアプリケーションをアップグレードして 7.11.1 の依存関係を使用するには、Maven の pom.xml を編集し、下表にある BOM と Maven プラグインのバージョンを変更します。
表4.1 Maven BOM および BOM を使用した 7.11.1 のプラグインバージョン
| コンテナータイプ | Maven BOM またはプラグインアーティファクト groupId/artifactId | Fuse 7.11.1 向けのバージョン |
|---|---|---|
| Spring Boot 2 |
|
|
|
|
| |
| Apache Karaf |
|
|
|
|
| |
| JBoss EAP |
|
|
BOM の使用に関する詳細は Migration Guide を参照してください。
4.4.2. Fuse 7.11 の BOM ファイル
Fuse スタンドアロンアプリケーションをアップグレードして 7.11 の依存関係を使用するには、Maven の pom.xml を編集し、下表にある BOM と Maven プラグインのバージョンを変更します。
表4.2 Maven BOM および BOM を使用した 7.11 のプラグインバージョン
| コンテナータイプ | Maven BOM またはプラグインアーティファクト groupId/artifactId | Fuse 7.11 向けのバージョン |
|---|---|---|
| Spring Boot 2 |
|
|
|
|
| |
| Apache Karaf |
|
|
|
|
| |
| JBoss EAP |
|
|
BOM の使用に関する詳細は Migration Guide を参照してください。
4.5. 重要事項
Fuse スタンドアロンディストリビューションの Fuse 7.11 リリースにおける重要事項
- Java 11 は Apache Karaf でサポート対象である
- Fuse 7.11 リリースは、Apache Karaf ランタイムで Java 11 をサポートします。
- Karaf ランタイムと JBoss EAP のサポートは非推奨になる
- Fuse7.11 のリリースに伴い Fuse7 のサポートが終了するため、Karaf ランタイムと JBoss EAP のサポートは非推奨になりました。
- MongoClients ファクトリーを使用した MongoDB への接続の作成
Fuse 7.10 以降、
com.mongodb.MongoClientの代わりにcom.mongodb.client.MongoClientを使用して、MongoDB への接続を作成します (フルパスの追加の .client サブパッケージに注意してください)。これは、
camel-mongodbを使用するすべてのユーザーアプリケーションに影響します。この場合、接続 Bean をcom.mongodb.client.MongoClientインスタンスとして作成する必要があります。さらに、このクラスで公開されるメソッドは古いクラスとまったく同じではありません。そのため、ユーザーコードのリファクタリングがより多く必要になる場合があります。たとえば、以下のように MongoDB へのコネクションを作成します。
import com.mongodb.client.MongoClient;
以下の例のように MongoClient Bean を作成できます。
return MongoClients.create("mongodb://admin:password@192.168.99.102:32553");
第5章 非推奨となった機能および削除された機能
Fuse 7 の今後の変更に関するご質問やヘルプは、support@redhat.com にお問い合わせください。
5.1. 非推奨
以下の機能は Fuse 7.11 で非推奨となったため、今後のリリースで削除される可能性があります。
- Fuse Online のサポートは非推奨です
- Fuse 7 が現在メンテナーンスサポート中であるため、Fuse Online のサポートは非推奨になりました。Fuse 7 のサポートが終了すると、Fuse Online の今後の開発は行われません。
- Karaf OSGi ランタイムと JBoss Enterprise Application Platform (EAP) のサポートが非推奨になる
- 2024 年 6 月 30 日に Fuse7 のサポートが終了するのに伴い、Karaf OSGi ランタイムと JBoss Enterprise Application Platform (EAP) のサポートは終了します。Fuse 7 のサポートが終了すると、Karaf OSGi または JBoss EAP で Camel はサポート対象外になります。
- OpenWire プロトコルが非推奨となる
- Fuse 7.10 以降、OpenWire プロトコル (AMQ ブローカーインスタンスの接続に使用可能) の使用は非推奨になりました。OpenWire プロトコルは、AMQ Broker バージョン 7.9.0 以降 AMQ Broker でも非推奨になることに注意してください。
wsdl2restツールが非推奨となる-
Fuse 7.10 以降、
wsdl2restコマンドラインツールは非推奨となりました。VS Code の WSDL 2 Camel Rest DSL エクステンションも非推奨となりました。 - OCP 4 インストールの Fuse Online インストールスクリプト
- Fuse 7.8 より OpenShift Container Platform (OCP) 4.x バージョン上に Fuse Online をインストールする場合に Fuse Online のインストールスクリプトは非推奨となりました。OCP 4.x バージョンでは、Fuse Online Operator の使用が推奨されます。
- Camel アプリケーションで非推奨となった PHP、Python、および Ruby スクリプト言語
- PHP、Python、および Ruby スクリプト言語は、Fuse 7.4 より Camel アプリケーションで非推奨となり、今後のリリースで削除される予定です。Camel コミュニティーでは、Camel 2.19 より PHP、Python、および Ruby が非推奨になりました (CAMEL-10973 を参照)。これは、Apache Karaf、JBoss EAP、および Spring Boot のすべての Fuse コンテナータイプに適用されます。
- 非推奨となった HP-UX OS
- HP-UX オペレーティングシステムは Fuse 7.2 より非推奨となり、このオペレーティングシステムのサポートは Fuse の今後のリリースで除外される可能性があります。JBoss EAP 7.2 コンテナーではすでに HP-UX のサポートが除外されたため、JBoss EAP 7.2 で実行される Fuse on JBoss EAP の今後のバージョンは HP-UX ではサポートされません。
- 非推奨となった Camel MQTT コンポーネント
- Camel MQTT コンポーネントは Fuse 7.0 で非推奨となり、Fuse の今後のリリースでは削除されます。このコンポーネントの代わりに、Eclipse Paho ライブラリーを使用して MQTT メッセージングプロトコルをサポートする Camel Paho コンポーネントを使用できます。
- Linux 以外のオペレーティングシステムで非推奨となった Camel LevelDB コンポーネント
-
Camel LevelDB (
camel-leveldb) コンポーネントは、Fuse 6.3 より Red Hat Enterprise Linux 以外のすべてのオペレーティングシステムで非推奨となりました。今後、Camel LevelDB コンポーネントは Red Hat Enterprise Linux でのみサポートされます。 - 非推奨となった Camel SJMS コンポーネントからの BatchMessage クラス
- Camel SJMS コンポーネントからの BatchMessage クラスは Fuse 7 で非推奨となり (Apache Camel ではバージョン 2.17 より非推奨)、Apache Camel および Fuse の今後のバージョンで削除される可能性があります。
5.2. Fuse 7.11 で削除された機能
- OCP 3.11 での Fuse Online のインストール
- OCP 3.11 への Fuse Online 環境 7.11 のインストールはサポートされていません。OCP 3.11 への Fuse Online のインストールに関して、Fuse Online のインストールスクリプトは完全に削除されます。
- RSA/SHA-1 暗号は camel-ftp および camel-ssh によってデフォルトでサポートされない
Fuse 7.11 から、
camel-ftpおよびcamel-sshコンポーネントは、デフォルトで RSA/SHA-1 暗号を使用した TLS をサポートしなくなりました。JSch ライブラリーに依存する他の Camel コンポーネントも影響を受ける可能性があります。詳細は、Red Hat カスタマーポータルの記事 を参照してください。
5.3. Fuse 7.10 で削除された機能
- fabric8-maven-plugin
-
fabric8-maven-pluginは Fuse 7.10 から完全に削除されました。Fuse on OpenShift で Maven プロジェクトをビルドおよびデプロイに代わりにopenshift-maven-pluginを使用することが推奨されます。プラグインは Eclipse JKube によって維持され、プラグインに関する幅広い ドキュメント が提供されます。
5.4. Fuse 7.8 で削除された機能
- Spring Boot 1
- Spring Boot 1 は Fuse 7.8 ではサポート対象外になりました。Spring Boot 2.0 Migration Guide の説明にしたがって、Spring Boot アプリケーションを Spring Boot 2 に移行することが推奨されます。
- Fuse Online の Camel K ランタイム
- Fuse Online の Camel K ランタイム (テクノロジープレビュー機能) は Fuse 7.8 ではサポート対象外になりました。
- 7.8 で削除された Camel XmlJson コンポーネント
-
Camel XmlJson(
camel-xmljson) コンポーネントは Fuse 7.8 で削除されました。
5.5. Fuse 7.5 で削除された機能
以下の機能は Fuse 7.5 で削除されました。
- 7.5 で廃止された MS SQL Server 2014 とのインテグレーションに対するサポート
- MS SQL Server 2014 の Fuse 7.5 とのインテグレーションはテストおよびサポート対象外になりました。代わりに、MS SQL Server 2016 や 2017 などのより最近のバージョンの MS SQL Server を使用することが推奨されます。
- 7.5 で削除された Camel LinkedIn コンポーネント
camel-linkedinコンポーネントは Fuse 7.5 で削除されました。重要Fuse 7.5 で削除された
cam el-linkedinコンポーネントは、今後のリリースで復元される可能性があります。
5.6. Fuse 7.3 で削除された機能
以下の機能は Fuse 7.3 で削除されました。
- 7.3 で削除された Camel YQL コンポーネント
- Camel YQL コンポーネントは Fuse 7.3 で削除されました。
- 7.3 で削除された OpenJPA および OpenJPA3 Karaf 機能
-
openjpa機能およびopenjpa3機能は、7.3 の Apache Karaf コンテナーから削除されました。Java Persistence Architecture (JPA) 実装では、代わりにサポートされるhibernate機能を使用してください。 - 7.3 で削除された camel-jetty Karaf 機能
-
camel-jetty機能は Jetty 8 を使用するため、7.3 の Apache Karaf コンテナーから削除されました。この代わりにcamel-jetty9機能を使用してください。 - 7.3 で削除された pax-jms-oracleaq Karaf 機能
-
サードパーティーの無償ではない Oracle AQ ライブラリーが必要なため、
pax-jms-oracleaq機能は 7.3 の Apache Karaf コンテナーから削除されました。 - 7.3 の Fuse on EAP (Wildfly Camel) から削除された camel-elasticsearch コンポーネント
-
camel-elasticsearchコンポーネントは 7.3 の Fuse on EAP (Wildfly Camel) から削除されました。代わりに新しいcamel-elasticsearch-restコンポーネントを使用してください。
5.7. Fuse 7.2 で削除された機能
以下の機能は Fuse 7.2 で削除されました。
- 7.2 で削除された Camel XMLRPC コンポーネント
- Camel XMLRPC コンポーネントは Fuse 7.2 で削除されました。
- 7.2 で削除された Camel Netty コンポーネント
- Camel Netty コンポーネントは Fuse 7.2 で削除されました。この代わりに Camel Netty4 コンポーネントを使用することが推奨されます。
5.8. Fuse 7.0 で削除された機能
以下の機能は Fuse 7.0 で削除されました。
- 7.0 でサポートが除外された Red Hat JBoss Operations Network (JON)
- Fuse 7.0 より Fuse on Karaf は JON をサポートしなくなり、JON ランタイムと統合するための JON プラグインの提供を停止しました。
- 7.0 で削除された組み込み ActiveMQ ブローカー
- Fuse 7.0 より Fuse on Karaf は組み込み ActiveMQ ブローカーの提供を停止しました。そのため、サポートされるリモートブローカーへ直接接続するようにしてください。サポートされるブローカーの詳細は Red Hat Fuse でサポートされる設定 のサポートされるメッセージングプロバイダーを参照してください。
- 7.0 で削除された Fuse インテグレーションパック
- ルールやプロセスの実行に対するサポートは、Red Hat JBoss BPM Suite および Red Hat JBoss BRMS に含まれるコンポーネントによって提供されます。
- 7.0 で削除された子コンテナー管理用の Karaf コンソールコマンド
Fuse 7.0 より、子コンテナー管理用の Karaf コンソールコマンドはサポートされて いません。対象となる
instance:(Karaf 4.x 構文) で始まるコンソールコマンドと、admin:(Karaf 2.x 構文) で始まるコンソールコマンドはサポートされません。注記Fuse 7.0 GA リリースでは、
instance:コマンドは削除されていません。これは既知の問題です。- 7.0 で削除された Switch Yard
- Switch Yard は Fuse 7.0 で削除され、代わりに Apache Camel を直接使用する必要があります。詳細は、ナレッジベースの SwitchYard Support Plan After Releasing Fuse 7 を参照してください。
- 7.0 で除外された Fabric8 1.x のサポート
Fuse 7.0 で Fabric8 v1 は Fabric8 v2 のコンポーネントが含まれる Fuse on OpenShift (旧名称 Fuse Integration Services) に置き換えられました。Fuse on OpenShift は、OpenShift 内でインテグレーションマイクロサービスの開発、デプロイメント、および管理を可能にするツールのセットと Docker 形式のイメージを提供します。
Fuse on OpenShift のアーキテクチャーは異なりますが、Fabric 8 v1 が提供する同じプロビジョニング、自動化、中央設定、管理要件に対応します。詳細は Fuse on OpenShift ガイド を参照してください。
- 7.0 で削除された Google App Engine の Camel コンポーネント
-
Google App Engine の Camel コンポーネント (
camel-gae) は Fuse 7.0 で削除されました。 - 7.0 で削除された Camel jBPM コンポーネント
-
Camel jBPM コンポーネント (
camel-jbpm) は Fuse 7.0 で削除されました。 - 7.0 で削除された Fuse をサービスとしてインストールするための Tanuki ベースのラッパー
-
Fuse をサービスとしてインストールするための Tanuki ベースのラッパースクリプト (
wrapper:installKaraf コンソールコマンドを使用して生成) は Fuse 7.0 で削除されました。Apache Karaf コンテナーをサービスとしてインストールする場合、この代わりにbin/contribディレクトリーから新しいkaraf-service-*.shスクリプトを使用することが推奨されます。 - 7.0 で削除された Smooks
- Switch Yard の Smooks コンポーネントは Fuse 7.0 で削除されました。
- 7.0 で削除された BPEL
- Riftsaw プロジェクトをベースとする BPEL は Fuse 7.0 で削除されました。BPEL を現在使用している場合は、Red Hat JBoss BPM Suite への移行を考慮することが推奨されます。
- 7.0 で削除された Design Time Governance
- Design Time Governance コンポーネントは Fuse 7.0 で削除されました。
- 7.0 で削除された Runtime Governance
- Runtime Governance (RTGov) コンポーネントは Fuse 7.0 で削除されました。
- 7.0 で削除された S-RAMP
- S-RAMP (SOA Repository Artifact Model and Protocol) コンポーネントは Fuse 7.0 で削除されました。
- 7.0 で削除された bin/patch スクリプト
-
bin/patchスクリプト (Windows O/S ではbin\patch.bat) は Fuse 7.0 で削除されました。 - 7.0 でサポートされない Spring-DM (Spring Dynamic Modules)
- Spring XML を Apache Karaf の OSGi サービスレイヤーと統合する Spring-DM は Fuse 7.0 ではサポートされないため、代わりに Blueprint フレームワークを使用する必要があります。Blueprint XML を使用しても、Spring フレームワークから Java ライブラリーを使用することはできます。最新バージョンの Spring は Blueprint と互換性があります。
- 7.0 でサポートされない Apache OpenJPA
- JPA (Java Persistence API) の Apache OpenJPA 実装は Fuse 7.0 ではサポートされません。代わりに Hibernate 実装を使用することが推奨されます。
5.9. Fuse 7.0 で置き換えられた機能
以下の機能は Fuse 7.0 で置き換えられました。
第6章 Fuse 7.11 でサポートされない機能
以下の機能は、Red Hat Fuse 7.11 ではサポートされません。
camel-leveldbコンポーネントは、IBM PowerPC および Z プラットフォームの Fuse ではサポートされない- Fuse が IBM PowerPC または IBM Z プラットフォームにインストールされている場合、Camel LevelDB コンポーネントはサポートされません。
- Fuse Online のインストールと実行は、OpenShift Container Platform (OCP) 3.11 ではサポートされない
- Fuse Online のインストールおよび実行は、OpenShift Container Platform (OCP) 3.11 ではサポートされていません。これは、Fabric8 Maven プラグインが非推奨になり、OpenShift Maven プラグインが優先されるためです。
- Operator を使用した Fuse Console のインストールは OCP 3.11 ではサポートされない
- OpenShift Container Platform (OCP) 3.11 では、Operator を使用した Fuse Console のインストールはサポートされておらず、機能しません。OCP 3.11 に Fuse Console をインストールする場合は、テンプレートを使用する手法が推奨されます。
- サポートされない Apache Karaf EclipseLink 機能
- Apache Karaf EclipseLink 機能は Fuse ではサポートされません。この機能は JPA 2.2 に依存しますが、Fuse 7.2 の Karaf コンテナーは JPA 2.1 と関連しているからです。
- サポートされない Apache Aries Blueprint Web モジュール
- Apache Aries Blueprint Web モジュールは Fuse ではサポートされません。Apache Camel のコミュニティー版で Blueprint Web を使用している例がありますが (個別ダウンロードとして提供)、Fuse でのサポートを意味するものではありません。
- Apache Karaf の Apache Camel でサポートされない PHP スクリプト言語
- PHP の OSGi バンドルがないため、PHP スクリプト言語は Apache Karaf コンテナー上の Camel アプリケーションでサポートされません。PHP スクリプト言語は、JBoss EAP コンテナーおよび Spring Boot コンテナー上の Camel アプリケーションでは非推奨になりました。
- Apache Karaf の Apache Camel でサポートされない Python スクリプト言語
- Python の OSGi バンドルがないため、Python スクリプト言語は Apache Karaf コンテナー上の Camel アプリケーションでサポートされません。Python スクリプト言語は、JBoss EAP コンテナーおよび Spring Boot コンテナー上の Camel アプリケーションでは非推奨になりました。
第7章 既知の問題
以下の項ではバージョン 7.11 の既知の問題について説明します。
7.1. CVE セキュリティー脆弱性
Fuse はミドルウェア統合プラットフォームであるため、多くのサードパーティーコンポーネントと統合される可能性があります。そのため、サードパーティーの依存関係の一部にセキュリティーの脆弱性がある可能性を常に排除することは困難です。ここでは、Fuse 7.11 のサードパーティー依存関係に影響するセキュリティー関連の既知の CVE (Common Vulnerabilities and Exposures) を記載します。
- CVE-2020-13936 CVE-2020-13936 velocity: 攻撃者がテンプレートを変更できる場合の任意コードの実行
Velocity テンプレートを変更できる攻撃者は、Servlet コンテナーを実行しているアカウントと同じ権限で、任意の Java コードを実行したり、任意のシステムコマンドを実行したりする可能性があります。これには、バージョン 2.2 までの Apache Velocity Engine を実行する velocity テンプレートを信頼できないユーザーがアップロード/変更できるアプリケーションが該当します。
Fuse 7.9(およびそれ以降) では、このセキュリティーの脆弱性から保護するために修正された Velocity バージョン (バージョン 2.3) のみを使用するように依存関係が変更されました。アプリケーションコードに Apache Velocity コンポーネントへの明示的な依存関係がある場合は、これらの依存関係をアップグレードして修正されたバージョンを使用することが推奨されます。
- ENTESB-8113 CVE-2018-10237 guava: AtomicDoubleArray および CompoundOrdering クラスでの無制限のメモリー割り当てにより、リモートの攻撃者がサービス拒否を引き起こす[fuse-7.0.0]
Google Guava の 11.0 から 24.1 までのバージョンは、
AtomicDoubleArrayクラス (Java のシリアライズでシリアル化される場合) およびCompoundOrderingクラス (GWT のシリアライズでシリアル化される場合) のバインドされていないメモリー割り当てに対して脆弱です。攻撃者が Guava を使用するアプリケーションを悪用すると、信用できないデータをデシリアライズしてサービス拒否 (DoS) を発生できる可能性があります。詳細は、CVE-2018-10237 を参照してください。このセキュリティー脆弱性を回避するため、以下を行うことが推奨されます。
-
AtomicDoubleArrayインスタンスまたはCompoundOrderingインスタンスを不明なソースからデシリアライズしないでください。 - 24 以前の Guava バージョンの使用しないようにします (ただし、場合によっては以前のバージョンの使用を避けられないことがあります)。
Fuse 7.7 (およびそれ以降) では、以前の (脆弱な) バージョンの Guava を簡単に使用できないようにするため、デフォルトですべてのコンテナーが Guava 27 を選択するよう、Maven BOM (Bill of Material) ファイルが設定されています。そのため、Fuse BOM を Maven プロジェクトに組み込み (BOM ファイルの依存関係を POM ファイルの
dependencyManagementセクションに 追加)、明示的なバージョンを指定 せずに Guava アーティファクトの依存関係を指定すると、Guava のデフォルトのバージョンは BOM に指定されたバージョン (Fuse 7.7 の BOM ではバージョン 27) になります。しかし、脆弱なバージョンの Guava の使用を回避できない一般的なユースケースが少なくとも 1 つあります。これは、OSGi アプリケーションが Guava と Swagger を一緒に使用する場合で、Swagger には Guava 20 が必要であるため、そのバージョンを使用する必要があります。ここでは、その理由と、以前の (脆弱な) Guava 20 ライブラリーを元に戻すために POM ファイルを設定する方法について説明します。まず、ダブル OSGi チェーン という概念を理解する必要があります。
ダブル OSGi チェーン
OSGi ランタイムのバンドルは、パッケージ制約 (パッケージ名 + 任意のバージョン/範囲) を使用して ワイヤリング されます (インポートおよびエクスポート)。各バンドルは複数のインポートを持つことができ、通常これらのインポートは指定のバンドルを複数のバンドルでワイヤリングします。以下に例を示します。
BundleA +-- BundleB | +-- BundleCa +-- BundleCb
この例では、
BundleAはBundleBおよびBundleCbに依存し、BundleBはBundleCaに依存します。BundleCaとBundleCbが同じパッケージをエクスポートする場合、同じバンドルである必要があります。ただし、バージョン (範囲) の制約により、BundleBはBundleAとは異なるリビジョン/バージョンのBundleCを使用 (ワイヤリング) します。上記の図を書き換えて、アプリケーションに Guava と Swagger の両方の依存関係を含めるとどうなるか反映させます。
org.jboss.qe.cxf.rs.swagger-deployment +-- Guava 27 +-- Swagger 1.5 +-- reflections 0.9.11 +-- Guava 20このバンドル設定のデプロイを試みると、エラー
org.osgi.framework.BundleException: Uses constraint violationが発生します。Guava 20 に戻す
プロジェクトが直接的または間接的に Guava ライブラリーと Swagger ライブラリーの両方を使用する場合、Guava バンドルインポートに明示的なバージョン範囲を使用するよう、以下のように
maven-bundle-pluginを設定する必要があります。<Import-Package> com.google.common.base;version="[20.0,21.0)", com.google.common.collect;version="[20.0,21.0)", com.google.common.io;version="[20.0,21.0)" </Import-Package>この設定により、OSGi アプリケーションは (脆弱性のある) Guava 20 ライブラリーに強制的に戻されます。そのため、この場合には
AtomicDoubleArrayインスタンスをデシリアライズしないようにすることが特に重要です。-
- CVE-2017-12629 Solr/Lucene -security bypass to access sensitive data - CVE-2017-12629
Apache Solr は、Apache Lucene 検索エンジンを使用する一般的なオープンソースの検索プラットフォームです。アプリケーションが Apache Solar と Apache Lucene の組み合わせ (Camel Solr コンポーネントを使用している場合など) を使用する場合、このセキュリティー脆弱性の影響を受ける可能性があります。この脆弱性の詳細と軽減策について、リンク先のセキュリティーアドバイザリーを確認してください。
注記Fuse ランタイムは Apache Solr や Apache Lucene を直接使用 しません。統合アプリケーションで Apache Solr と Apache Lucene を一緒に使用する場合のみセキュリティー上のリスクが発生します (Camel Solr コンポーネントを使用する場合など)。
- CVE-2021-30129 mina-sshd-core: Apache Mina SSHD サーバーでのメモリーリークのサービス拒否
Apache Mina SSHD の sshd-core の脆弱性により、攻撃者がサーバーをオーバーフローさせ、OutOfMemory エラーが発生する可能性があります。この問題は、Apache Mina SSHD バージョン 2.0.0 以降の SFTP およびポート転送機能に影響します。これは、Apache Mina SSHD 2.7.0 で対処されました。
Apache Mina SSHD のこの脆弱性は、SSHD-1004 により対処されました。これは、この脆弱性を持つ特定の暗号化アルゴリズムを非推奨にします。Fuse 7.10 on Karaf および Fuse 7.10 on JBoss EAP では、これらの非推奨のアルゴリズムは引き続きサポートされます (後方互換性のため)。ただし、非推奨となったアルゴリズムのいずれかを使用している場合は、アプリケーションコードをリファクタリングして、代わりに別のアルゴリズムを使用することが強く推奨されます。
Fuse 7.10 では、デフォルトの暗号化アルゴリズムが以下のように変更されました。
Fuse 7.9 Fuse 7.10 Fuse 7.10 で非推奨となりましたか ? aes128-ctraes128-ctraes192-ctraes256-ctraes128-gcm@openssh.comaes256-gcm@openssh.comarcfour128arcfour128はい
aes128-cbcaes128-cbcaes192-cbcaes256-cbc3des-cbc3des-cbcはい
blowfish-cbcblowfish-cbcはい
Fuse 7.10 では、デフォルトの鍵交換アルゴリズムが以下のように変更されました。
Fuse 7.9 Fuse 7.10 7.10 で非推奨となりましたか ? diffie-hellman-group-exchange-sha256diffie-hellman-group-exchange-sha256ecdh-sha2-nistp521ecdh-sha2-nistp521ecdh-sha2-nistp384ecdh-sha2-nistp384ecdh-sha2-nistp256ecdh-sha2-nistp256diffie-hellman-group18-sha512diffie-hellman-group17-sha512diffie-hellman-group16-sha512diffie-hellman-group15-sha512diffie-hellman-group14-sha256diffie-hellman-group-exchange-sha1diffie-hellman-group-exchange-sha1はい
diffie-hellman-group1-sha1diffie-hellman-group1-sha1はい
7.2. Fuse Online
Fuse Online ディストリビューションの既知の問題は次のとおりです。
- ENTESB-17674 OCP 4.9(またはそれ以降) で Prometheus および Grafana を使用して Fuse Online を監視するには、回避策が必要
OCP 4.9 (またはそれ以降) では、
application-monitoringプロジェクトは機能しなくなりました。これは、Prometheus および Grafana で Fuse Online インテグレーションおよびインフラストラクチャーコンポーネントを監視するための前提条件です。この問題を回避するには、(
openshift -monitoring namespace で)ビルトインモニターリングスタックを使用してopenshift-user-workload-monitoring機能およびgrafana-operatorを使用し、このリリース ノートの Fuse Online の重要 事項 セクションで説明されているように、ops addonを使用します。- ENTESB-14518 Syndesis 1.11 によってインストールされた Jaeger Operator は、他の namespace に影響を与える
-
Fuse 7.8 以降、OpenShift クラスターに Fuse 7.8 Online (Syndesis 1.11) をインストールすると、Jaeger Operator (Fuse Online とともにインストールされる) は、デフォルトで すべての namespace を管理するよう設定されます。そのため、クラスターに Fuse 7.7 Online (Syndesis 1.10) がすでにインストールされている場合に、Fuse 7.8 Online を別の namespace にインストールすると、Fuse 7.8 Online とともにインストールされた Jaeger Operator が Fuse 7.7 Online の namespace にインストールされた (以前の) Jaeger インスタンスを管理しようとします。その結果、既存の
syndesis-jaegerPod に加え、新しいsyndesis-jaegerPod が Fuse 7.7 Online namespace に表示され、新しいsyndesis-jaegerPod がCrashLoopBackOff状態に入ります。元の Fuse 7.7 Online インスタンスは影響を受けず、クラッシュしたsyndesis-jaegerPod は無視しても問題ありません。 - ENTESB-13966 デプロイされた統合 API の検出が無効になっているようだが、実際にはそうではない
- Fuse 7.7 以降、API が含まれる新しいインテグレーションの作成後に、インテグレーションの詳細ページでそのインテグレーションの 3scale 検出が無効になっていると誤って表示されます。また、インテグレーションの詳細ページには API URL が表示されません。このボタンを 3 回クリックすると (Enable、Disable、Enable の順にクリックします) ページが再同期され、3scale の検出が有効になり、API URL が表示されます。
7.3. Fuse on OpenShift
このセクションでは、OpenShift 上の Fuse アプリケーションのデプロイメントに影響する問題を取り上げます。特定のコンテナーに影響する問題の詳細は、Spring Boot、Fuse on Apache Karaf、および Fuse on JBoss EAP のセクションも参照にしてください。Fuse on OpenShift ディストリビューションの既知の問題を以下に示します。
- ENTESB-21335
patch-maven-plugindoes not work with Maven 3.9 Maven 3.9.2 は、依存関係グラフトランスフォーマーとして
org.apache.maven.plugin.internal.PlexusUtilsInjectorを明示的に渡しません。詳細は、Maven issue MNG-6965 を参照してください。
回避策として、
patch-maven-plugin依存関係として addplexus-utilsを使用します。<build> <plugins> <plugin> <groupId>org.jboss.redhat-fuse</groupId> <artifactId>patch-maven-plugin</artifactId> <version>${version.redhat.fuse}</version> <extensions>true</extensions> <dependencies> <dependency> <groupId>org.codehaus.plexus</groupId> <artifactId>plexus-utils</artifactId> <version>3.5.1</version> </dependency> </dependencies> </plugin> </plugins> </build>- ENTESB-17895 [ Fuse Console ] アップグレードサブスクリプションは、Hawtio を更新しない
- Fuse 7.10 では、Operator サブスクリプションチャネルをバージョン 7.10 に変更して Fuse Console を更新した場合、Fuse Console は vesion 7.9 のままになります。Fuse Console コンテナーと Pod にラベル 7.10 がある場合でも、これらのコンテナーは引き続き 7.9 イメージを使用しています。この問題を回避するには、以前のバージョンの Fuse Console を削除してアップグレードを実行し、Fuse Console バージョン 7.10 を新規インストールします。
- ENTESB-17861 Apicurito ジェネレーターが Fuse Camel プロジェクトを生成できない
Fuse 7.10 では、API Designer(Apicurito) が Apicurito Operator 経由でインストールされている場合は適切に機能しません (Invalid Cert Error が表示されます)。この問題を回避するには、以下を実行します。
htps://apicurito-service-generator-apicurito.apps.cluster-name.openshift.comへの新しいタブを開きます。(
cluster-name.openshift.comは、クラスター名に置き換えます。)- 証明書を受け入れます。
- アプリケーションに切り替え、生成ボタンを再度クリックします。
- ENTESB-17836 [ Fuse Console ] 新しく追加されたルートがキャメルツリーに表示されない
- Fuse 7.10 では、アプリケーションをデプロイした後、ルート (または複数のルート) は Fuse Console の Camel ツリーに表示されません。この問題を回避するには、ルートが表示されるようにページを更新します。
ENTESB-19351FIPS on OCP - サポート対象外のセキュリティーエンコーディングが原因で Jolokia エージェントが起動しない
Fuse 7.11 では、OCP FIPS 対応 Jolokia エージェントは、セキュリティーエンコーディングがサポートされていないため使用できなくなります。
ENTESB-19352 FIPS on OCP - karaf-maven-plugin アセンブリーゴールがサポート対象外のセキュリティープロバイダーで失敗する
Fuse 7.11 では、アセンブリゴールで karaf-maven-plugin を使用すると、Karaf アプリケーションで OCP FIPS が有効になっている場合にバイナリーストリームデプロイストラテジーが失敗します。
7.4. Fuse on Apache Karaf
Fuse on Apache Karaf の既知の問題は次のとおりです。
- ENTESB-16417 認証情報ストアはデフォルトで PBEWithSHA1AndDESede を使用
- OpenJDK 8u292 および OracleJDK 1.8.0_291 のセキュリティー API は、セキュリティープロバイダーの不完全なリストを返すため、Apache Karaf のクレデンシャルストアが失敗します (必要なセキュリティープロバイダーが利用できないように見えるため)。この問題の原因となる根本的な問題は https://bugs.openjdk.java.net/browse/JDK-8249906 です。このバグがない、以前の OpenJDK バージョン (OpenJDK 8u282)、または新しいバージョンの OpenJDK (OpenJDK 8u302) を使用することをお勧めします。
- ENTESB-16526 fuse-karaf on Windows は、patch:install 中に再起動できない
Windows プラットフォームの Apache Karaf コンテナーで
patch:installの実行中に、特定の状況では、patch:installコマンドがコンテナーの自動再起動を試行すると、以下のエラーが発生する可能性があります。Red Hat Fuse starting up. Press Enter to open the shell now... 100% [========================================================================] Karaf started in 18s. Bundle stats: 235 active, 235 total '.tmpdir' is not recognized as an internal or external command, operable program or batch file. There is a Root instance already running with name ~14 and pid ~13. If you know what you are doing and want to force the run anyway, SET CHECK_ROOT_INSTANCE_RUNNING=false and re run the command.
このエラーが発生した場合は、Karaf コンテナーを手動で再起動するだけです。
- ENTESB-8140 ホットデプロイバンドルの開始レベルはデフォルトで 80
Fuse 7.0 GA リリース以降の Apache Karaf コンテナーでは、ホットデプロイバンドルの開始レベルがデフォルトで 80 になっています。これにより、同じ開始レベルを持つシステムバンドルや機能が多く存在するため、ホットデプロイバンドルに問題が発生することがあります。この問題を回避し、ホットデプロイバンドルが確実に開始するようにするには、
etc/org.apache.felix.fileinstall-deploy.cfgファイルを編集し、felix.fileinstall.start.level設定を以下のように変更します。felix.fileinstall.start.level = 90
- ENTESB-7664 framework-security 機能をインストールすると、karaf を終了する
--no-auto-refreshオプションを使用してframework-securityOSGi 機能をインストールしないと、Apache Karaf コンテナーがシャットダウンします。以下に例を示します。feature:install -v --no-auto-refresh framework-security
7.5. Fuse on JBoss EAP
Fuse on JBoss EAP の既知の問題は次のとおりです。
- ENTESB-13168 EAP ドメインモードでの Camel デプロイメントは Windows で機能しない
- Fuse 7.6.0 以降では、Fuse on JBoss EAP で Camel サブシステムを Windows OS 上の ドメインモードの JBoss EAP にデプロイできません。
7.6. Fuse Tooling
Fuse Tooling の既知の問題は次のとおりです。
- ENTESB-17705 [ Hawtio ] ログアウトボタンが消える
- Fuse 7.10 では、数回連続してログインおよびログアウトすると、Logout ボタンが表示されなくなります。この問題を回避するには、ページを 1 回以上更新すると、Logout ボタンが再度表示されます。
- ENTESB-17839Fuse + AtlasMap: dataSourceType フィールドが認識されない
- Fuse 7.11 では、ユーザーが AtlasMap vscode エクステンションを使用する場合、Fuse7.11 は AtlasMap 2.3.x であるため、バージョン 0.0.9 を使用する必要があります。それ以外の場合は AtlasMap スタンドアロン 2.3.x を使用しますが、vscode-extension は使用しません。
7.7. Apache Camel
Apache Camel の既知の問題は次のとおりです。
- ENTESB-19361 / UNDERTOW-2206 karaf の埋め込み undertow サーバーを使用する cxf でのアクセスロギングサポートでは、URI がロギングされない
DECODE_URLオプションがtrue(Fuse 7.11.1 karaf ランタイムのデフォルト値) で、HttpServerExchangeを使用してrelativePathおよびrequestPathをデコードする場合、requestURIパラメーターはエンコードされたままになります。dispatch メソッド (
forward、include、async、およびerror) は、パスをデコードせずにrequestPathおよびrelativeURLに割り当てるので、/some%20thingなどのパスにディスパッチされます。- ENTESB-15343 XSLT コンポーネントが IBM1.8JDK で正しく機能しない
-
Fuse 7.8 では、Camel XSLT コンポーネントは IBM 1.8 JDK と正しく動作しません。この問題は、XSLT の基礎となる Apache Xerces 実装が
javax.xml.XMLConstants#FEATURE_SECURE_PROCESSINGプロパティーをサポートしないために発生します (XERCESJ-1654 を参照)。 - ENTESB-11060 [camel-linkedin] V1 API は今後はサポートされない
- Fuse 7.4.0 以降、Camel LinkedIn コンポーネントが LinkedIn サーバーと通信できなくなりました。これは、LinkedIn でサポートされなくなった LinkedIn Version 1.0 API を使用して実装されているためです。Fuse の今後のリリースで Camel LinkedIn コンポーネントが更新され、Version 2 API を使用するようになる予定です。
- ENTESB-7469 Camel Docker コンポーネントは EAP で Unix ソケット接続を使用できない
-
Fuse 7.0 より、
camel-dockerコンポーネントは UNIX ソケットではなく REST API のみを介して Docker に接続できます。 - ENTESB-5231 PHP スクリプト言語は機能しない
- PHP の OSGi バンドルがないため、PHP スクリプト言語は Apache Karaf コンテナー上の Camel アプリケーションでサポートされません。
- ENTESB-5232 Python 言語は機能しない
- Python の OSGi バンドルがないため、Python スクリプト言語は Apache Karaf コンテナー上の Camel アプリケーションでサポートされません。
- ENTESB-2443 Google Mail API - メッセージの送信と下書きが同期されていない
- メッセージまたは下書きを送信すると、応答には ID を持つ Message オブジェクトが含まれます。API への別の呼び出しを介してこのメッセージを即座に取得できない可能性があります。このような場合、待機して呼び出しを再試行する必要があります。
- ENTESB-2332 Google Drive API JSON の変更への応答は、最初のページのアイテムの不正な数を返す
-
変更に対する Google Drive API JSON 応答によって返される最初のページのアイテム数は適切でありません。リスト操作の
maxResultsを設定すると、最初のページにすべての結果が返されないことがあります。この場合、複数のページを確認して完全リストを取得する必要があります (新しいリクエストにpageTokenを設定して行います)。
第8章 Fuse 7.12、7.12.1、および {version-micro-1-patch-1} で修正された問題
以下のセクションには、Fuse 7.11 で修正された問題が記載されています。
8.1. Fuse {version-micro-1-patch-1} で改良された機能
| 問題 | 説明 |
|---|---|
| fuse-karaf-framework にパッチを適用する機能 patch-maven-plugin → karaf-maven-plugin 接続の見直し |
8.1.1. Fuse Online {version-micro-1-patch-1}
ENTESB-18335 の修正により、カスタム Karaf ディストリビューションをビルドする Maven プロジェクトで patch-maven-plugin からのパッチ適用情報を使用できます。
org.jboss.redhat-fuse/patch-maven-plugin と org.jboss.redhat-fuse/karaf-maven-plugin (再パッケージ化された org.apache.karaf.tooling/karaf-maven-plugin) 間のパッチメタデータ情報を渡すことでこれを行うことができます。ただし、この情報の形式は org.apache.maven.plugins/maven-surefire-plugin と互換性がありません。
org.jboss.redhat-fuse/karaf-maven-plugin の使用
8.1.1.1. 通常シナリオ
Fuse Karaf、Fuse Spring Boot、および Fuse EAP を使用する場合は、次の例に示すように、関連する BOM を使用することが重要です。
Fuse Karaf
<properties>
<version.org.jboss-redhat-fuse>7.11.1.fuse-sb2-7_11_1-00017-redhat-00002</version.org.jboss-redhat-fuse>
</properties>
...
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.jboss.redhat-fuse</groupId>
<artifactId>fuse-karaf-bom</artifactId>
<version>${version.org.jboss-redhat-fuse}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
Fuse EAP
<properties>
<version.org.jboss-redhat-fuse>7.11.1.fuse-sb2-7_11_1-00017-redhat-00002</version.org.jboss-redhat-fuse>
</properties>
...
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.jboss.redhat-fuse</groupId>
<artifactId>fuse-eap-bom</artifactId>
<version>${version.org.jboss-redhat-fuse}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
Fuse SpringBoot
<properties>
<version.org.jboss-redhat-fuse>7.11.1.fuse-sb2-7_11_1-00017-redhat-00002</version.org.jboss-redhat-fuse>
</properties>
...
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.jboss.redhat-fuse</groupId>
<artifactId>fuse-springboot-bom</artifactId>
<version>${version.org.jboss-redhat-fuse}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
これらの BOMS では、通常、karaf-maven-plugin を次のように宣言します。
karaf-maven-plugin 宣言の例
<plugin>
<groupId>org.jboss.redhat-fuse</groupId>
<artifactId>karaf-maven-plugin</artifactId>
<version>${version.org.jboss-redhat-fuse}</version>
<extensions>true</extensions>
<executions>
<execution>
<id>karaf-assembly</id>
<goals>
<goal>assembly</goal>
</goals>
<phase>install</phase>
</execution>
</executions>
<configuration>
...
8.1.1.2. パッチ適用のための org.jboss.redhat-fuse/karaf-maven-plugin の使用
org.jboss.redhat-fuse/karaf-maven-plugin を使用する利点は、同じバージョンの BOM を使用して、別のプラグイン (patch-maven-plugin) を宣言できることです。
patch-maven-plugin 宣言の例
<build>
<plugins>
<plugin>
<groupId>org.jboss.redhat-fuse</groupId>
<artifactId>patch-maven-plugin</artifactId>
<version>${version.org.jboss-redhat-fuse}</version>
<extensions>true</extensions>
</plugin>
</plugins>
</build>
patch-maven-plugin 拡張機能を使用すると、すべてのビルドが Red Hat の Maven リポジトリーで利用可能な CVE 修正と比較されます。つまり、CVE メタデータによって提供されるメタデータに従って、すべてのビルドにパッチを適用できます。
8.1.1.3. patch-maven-plugin → maven-surefire-plugin 非互換の問題を修正
プラグイン (patch-maven-plugin および karaf-maven-plugin) の修正は、BOM バージョンとは異なるバージョンで利用できます。
Karaf Maven プロジェクトの場合、これは、セットアップの fuse プロパティーおよび plugins プロパティーに異なるバージョンを含めることができることを意味します。
サンプル Karaf Maven プロジェクト
<properties>
<version.org.jboss-redhat-fuse>7.11.1.fuse-sb2-7_11_1-00017-redhat-00002</version.org.jboss-redhat-fuse>
<version.org.jboss-redhat-fuse-plugins>7.11.1.fuse-sb2-7_11_1-00022-redhat-00002</version.org.jboss-redhat-fuse>
</properties>
...
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.jboss.redhat-fuse</groupId>
<artifactId>fuse-karaf-bom</artifactId>
<version>${version.org.jboss-redhat-fuse}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
...
<build>
<plugins>
<plugin>
<groupId>org.jboss.redhat-fuse</groupId>
<artifactId>patch-maven-plugin</artifactId>
<version>${version.org.jboss-redhat-fuse-plugins}</version>
<extensions>true</extensions>
</plugin>
<plugin>
<groupId>org.jboss.redhat-fuse</groupId>
<artifactId>karaf-maven-plugin</artifactId>
<version>${version.org.jboss-redhat-fuse-plugins}</version>
<extensions>true</extensions>
<executions>
<execution>
<id>karaf-assembly</id>
<goals>
<goal>assembly</goal>
</goals>
<phase>install</phase>
</execution>
</executions>
<configuration>
...
</plugins>
</build>
BOM のバージョンは変わりませんが、patch-maven-plugin と karaf-maven-plugin には新しいバージョンの BOM が必要です。
8.2. Fuse 7.11 および 7.11.1 で改良された機能
以下の表に、Fuse 7.11 および Fuse 7.11.1 の拡張機能を示します。
表8.1 Fuse 7.11.1 で改良された機能
| 問題 | 説明 |
|---|---|
| Camel File コンポーネントのパフォーマンスの向上 |
表8.2 Fuse 7.11 で改良された機能
| 問題 | 説明 |
|---|---|
| 非推奨のアルゴリズムを karafssh から削除 | |
| より柔軟な Fuse-Karaf 機能のパッチ | |
| Fuse Console から GA 機能として AMQ ブローカーを表示 |
8.3. Fuse 7.11 の機能リクエスト
以下の表に Fuse 7.11 の機能リクエストを示します。
表8.3 Fuse 7.11 の機能リクエスト
| 問題 | 説明 |
|---|---|
| Atlasmap での CSV サポート | |
| AMQ ブローカーをインストールしないオプションを追加 | |
| Fuse での OCP および RHEL FIPS のサポート [スタンドアロン/FoO]] | |
| "Create ""latest"" OLM channel" | |
| [Fuse Console] デフォルトでサイドナビゲーションのオン/オフを切り替える設定を追加 | |
| [Fuse Console] Spring Boot Info の表示 |
8.4. Fuse 7.11 および 7.11.1 でのコンポーネントのアップグレード
以下の表に Fuse 7.11.1 のコンポーネントのアップグレードを示します。
表8.4 Fuse 7.11.1 コンポーネントのアップグレード
| 問題 | 説明 |
|---|---|
| BouncyCastle 1.72 へのアップグレード | |
| Artemis プラグインの AMQ 7.10.1 へのアップグレード |
以下の表に Fuse 7.11 のコンポーネントのアップグレードを示します。
表8.5 Fuse 7.11 コンポーネントのアップグレード
| 問題 | 説明 |
|---|---|
| EAP 7.4.4 に対応 | |
| Spring Boot 2.5.12 / Spring Framework 5.3.18 / Spring Security 5.5.5 に対応 | |
| camel-2.23.2.fuse-7_11_0-00012 にアップグレード | |
| EAP 7.4.5 に対応 | |
| Xerces 2.12.2/SMX2.12.2_1 にアップグレード | |
| ActiveMQ 5.11.0.redhat-630516 (6.3.0.R20) に対応 | |
| felix.fileinstall 3.7.x にアップグレード | |
| Fuse Online 7.11 コンポーネントの調整 | |
| Undertow 2.2.16 にアップグレード | |
| A-MQ 7.8.4 に対応 | |
| xchange 5.0.11 にアップグレード |
8.5. Fuse 7.11 および 7.11.1 で解決されたバグ
以下の表に Fuse 7.11 および 7.11.1 で解決されたバグを示します。
表8.6 Fuse 7.11.1 で解決されたバグ
| 問題 | 説明 |
|---|---|
| CVE-2022-42889 commons-text: apache-commons-text:変数の補間 RCE [fuse-7] | |
| XML の空のタグと JSON の NULL 値 VR.2.3.17 | |
| JSONPath を介して json 本体を変換すると json オブジェクトキーが引用符で囲まれていない文字列が返される | |
| CXF クライアントは引用符なしで SOAPAction ヘッダーを送信する | |
| JIRA ENTESB-19690 の MBeanInvocationHandler の修正は不完全であり、最終的に UndeclaredThrowableException が出力されます。 | |
| MBeanInvocationHandler の KARAF-7234 のバックポート修正 | |
| mimeMultipart データ形式は整列化/非整列化の XML DSL に含まれない | |
| [Hawtio] 014 設定がないとクッキーがサードパーティから送信できる | |
| [Hawtio] 009 セキュアでない CORS ポリシーが原因で悪意のあるスクリプトによりユーザーデータを侵害できる | |
| [Hawtio] 005 Web サーバーが referrer ポリシーのヘッダーがないと応答する | |
| [Hawtio] 001 設定ミスによりクリックジャッキングにさらされる可能性がある | |
| java.lang.ClassNotFoundException: com.mongodb.event.ConnectionPoolCreatedEvent | |
| UPS から報告された Bootstrap CVE を確認する | |
| Spring Boot と Camel に関するマイクロメータの依存関係の問題 | |
| RabbitMQ 接続ファクトリーからの自動回復はすべて機能するわけではない | |
| fabric8-camel:validate が適切な camel バージョンのダウンロードに失敗する | |
| wsdl から API コネクターを作成すると Missing property portName と出力される | |
| split() では、camel-jpa プロデューサーが新しい EntityManager を作成して現在のトランザクションからは取得されない | |
| camel-jpa プロデューサーはトランザクションで既存の EntityManager を再利用せずに独自のものを作成する | |
| Operator が、ルートホスト名オプションが設定された Apicurito CR の作成に失敗する | |
| com.jcraft.jsch モジュールに bouncycastle 依存関係がない | |
| CVE-2022-31129 moment: 非効率的な解析アルゴリズムにより DoS が発生する [fuse-7] | |
| spring-boot-starter-webflux で Fuse 7 プロジェクトをビルドできない | |
| fuse-pax-transx-tm-narayana バンドルに javax.security.cert インポートパッケージがない | |
| CVE-2022-33980 commons-configuration2: apache-commons-configuration: Apache Commons 設定の安全でない補間のデフォルト [fuse-7] | |
| springboot CXF デプロイメントの場合、server.shutdown=graceful が期待どおりに機能しない | |
| CVE-2021-31684 json-smart: JSONParserByteArray 関数での Denial of Service [fuse-7] | |
| API Designer で json ファイルをインポートするとマルチバイト文字が文字化けする | |
| karaf の埋め込み undertow サーバーを使用する cxf でのアクセスロギングサポートでは、URI がロギングされない | |
| CVE-2022-2053 undertow: 大規模な AJP リクエストにより DoS が発生する可能性がある [fuse-7] | |
| .kar ファイルのデプロイ時のエラー | |
| camel-salesforce が java.lang.IllegalArgumentException: Buffering capacity 4194304 exceeded とのエラーを出力する | |
| Operator によってデプロイされた Fuse Console でカスタムルートを使用できない | |
| CVE-2022-24785 Moment.js: moment.locale でのパストラバーサル [fuse-7] |
表8.7 Fuse 7.11 で解決されたバグ
| 問題 | 説明 |
|---|---|
| camel-sftp: ls を使用したリモートディレクトリーの存在確認が非常に遅い | |
| Fuse console on OCP — ブローカー管理機能が使用できない | |
| Fuse Online を OpenShift 4.11 (ナイトリービルド) にインストールできない | |
| Fuse Console から GA 機能として AMQ ブローカーを表示 | |
| Camel Kafka コンポーネントが Kerberos LoginModule をロードできない | |
| "statistics Level ""RoutesOnly"" include processors metrics" | |
| OpenShift ルート経由で AMQ Broker に接続すると AMQP 接続フェイルオーバーが機能しない | |
| Fuse 7 の CVE-2022-22968 | |
| 6 個の Karaf 機能をインストールできない | |
| 外部トランザクションコンテキストを使用すると、エンティティーの取得/読み取りに失敗する | |
| EntityManager が親コンテキストと共有されていない | |
| camel-jms - InOut と reply-to-type の共有が競合状態にある | |
| CVE-2020-36518 jackson-databind: 深くネスト化されたオブジェクトを経由した DoS 攻撃 [fuse-7] | |
| エンリッチャーが接続リークを引き起こす | |
| Operator Hub からインストールされた Fuse Console Operator がリソース要求または制限を定義しない | |
| CVE-2022-23913 artemis-commons: Apache ActiveMQ Artemis DoS [fuse-7] | |
| camel-openapi-java - スキーマ定義が正しく生成されない | |
| "ROUTE_HOSTNAME is not available with the Operator ""Red Hat Integration - API Designer""" | |
| Fuse Online のインストールが OpenShift 4.6 で失敗し、同じハードウェアとリソースを使用する OpenShift 4.8 で成功する | |
| SSH を介した Windows の Fuse/karaf シェルで左/右/エンドキーが機能しない | |
| CVE-2021-22060 springframework: Spring Framework での追加のログ挿入 (CVE-2021-22096 のフォローアップ) [fuse-7] | |
| 7.x の Log4j2 が 6.x の Log4j よりも遅い | |
| CVE-2022-21724 jdbc-postgresql: Plugin クラスの指定時にクラスのインスタンス化がチェックされない [fuse-7] | |
| ref エンドポイントの問題 | |
| CVE-2021-22569 protobuf-java: バイナリーデータの解析手順で DoS が発生する可能性がある [fuse-7] | |
| CVE-2022-23181 tomcat: ローカル権限昇格の脆弱性 [fuse-7] | |
| toCharArray を Windows の Fuse プロパティーで使用すると失敗する | |
| jmsMessageType=Stream の場合に入力ストリームが閉じない | |
| CXF での次善のロック | |
| CVE-2021-42550 logback-classic: logback: 設定ファイル内からの JNDI 呼び出しによるリモートコード実行 [fuse-7] | |
| Fuse 7 BlueprintPropertiesParser ConcurrentModificationException | |
| aries-blueprint-spring 機能を使用した Spring セキュリティーの実装 | |
| camel-cxf mtomEnabled プロパティーが誤ってオーバーライドされている | |
| Fuse 7 on EAP 7: ClassNotFoundException: org.springframework.web.context.support.WebApplicationContextUtils | |
| CVE-2021-22096 springframework: 悪意のある入力により追加のログエントリーが挿入される [fuse-7] | |
| camel-core 2.23.2.fuse-7_10_0-00020-redhat-00001 に jaxb 2.3.0 の依存関係がある | |
| pax-jdbc-db2 のプロパティーを使用して DB2 の JDBC URL を解析する際の問題 | |
| [CAMEL-14372] java.lang.IllegalArgumentException: protocol = http host = null でバリデーターコンポーネントが失敗する | |
| SAP ドキュメントのフィールドが空/null の場合に [7.x] NPE が記録される | |
| CXF プロデューサーは、ストリーミングがオフで maxRetransmits > 1 の場合に 16KB を超えるペイロードを処理でできない | |
| "[7.x] The pax-web-jetty library disabled HTTP TRACE method by incorrectly exposing ""javax.servlet.ServletException""" | |
| Atlas Map - カスタム変換がドロップダウンボックスに表示されない | |
| アトラスマップ - XSD 内のインラインタイプが異なる同じ名前の要素が誤ってキャッシュされる | |
| Fuse Image7.9.0 で LC_ALL を設定できない | |
| "Fuse + AtlasMap: Unrecognized field ""dataSourceType"" " | |
| [HHH-14229] javax.persistence.ForeignKey は ConstraintMode.NO_CONSTRAINT を尊重しない | |
| jolokia caCert ファイルに複数の認証局が存在すると、Fuse Console クライアントの認証が失敗する | |
| [Hawtio] ログアウトボタンが消える | |
| "Camel MLLP コンポーネント上 ENTESB-17673 [Hawtio] 最新の Chrome バージョンが RHEL7 と RHEL8 で異なる | |
| CVE-2021-42340 tomcat: HTTP アップグレード接続リークが原因の OutOfMemoryError によって DoS が発生する可能性がある [fuse-7] | |
| camel undertow producer で読み取りタイムアウトが機能しない |