Red Hat Training
A Red Hat training course is available for Red Hat Fuse
リリースノート
Red Hat Fuse の新機能
fuse-docs-support@redhat.com
概要
第1章 Fuse 7.2 の製品概要
1.1. Fuse のディストリビューション
Fuse 7.2 は、以下の 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
- OpenShift Online Professional レベルに事前インストールされた形で提供される Fuse ディストリビューションです (オンプレミス OpenShift クラスターにインストールすることも可能です)。このディストリビューションでは、アプリケーションの開発はブラウザーベースの UI で進められ、統合エキスパート以外が使用しやすいようにワークフローが簡易化されます。
1.2. 新機能
Fuse 7.2 には、主要なコンポーネントのアップグレードや新機能が多く含まれています。詳細は、各 Fuse ディストリビューションの「新機能」のセクションを参照してください。
1.3. サポートされる構成
バージョン 7.2 でサポートされる構成、標準仕様、およびコンポーネントに関する詳細は、以下のカスタマーポータルの記事を参照してください。
第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 Online | Red Hat が Red Hat インフラストラクチャーに Fuse Online をインストールし、提供します。 |
OpenShift Container Platform | お客様がインストールし、管理します。 |
2.2. 7.2 での変更点と新機能
Fuse Online 7.2 での変更点と新機能を以下に示します。
- Google カレンダー の新しいコネクター。
以下のコネクターがサポートされるようになりました。これらのコネクターは以前のリリースではテクノロジープレビューの機能でした。
- ログ はインテグレーションのログに接続し、自動ロギングへの追加となるメッセージを送ることができます。
- SAP Concur が経費管理ツールに接続し、さまざまな操作を実行します。
- Telegram がクラウドベースのメッセージングアプリに接続し、メッセージを送受信します。
-
タイマー は、指定する間隔または Unix の
cron
式を基にして、インテグレーションの実行をトリガーします。
テンプレートステップを追加して、コネクション間のデータを処理できるようになりました。
インテグレーションでは、テンプレートステップはソースからデータを取得し、Fuse Online にアップロードするテンプレートで定義された形式に挿入します。テンプレートステップの利点は、指定した一貫性のある形式でデータの出力を提供できることです。
本リリースでは、Fuse Online は Mustache テンプレートのみをサポートします。
データマッパー の更新。
- 現在選択しているマッピングのデータマッピング結果をプレビュー表示できるようになりました。データマッパーでマッピングプレビューを有効にするには、右上のエディター設定アイコンをクリックし、Show Mapping Preview を選択します。
- コレクション処理のトランスフォーメーションが追加されました。
2.3. OpenShift Online で実行されている既存インテグレーションのアップグレード
Fuse 7.2 のリリース時、OpenShift Online の Fuse Online インフラストラクチャーは自動的にアップグレードされます。インフラストラクチャーのアップグレード中、OpenShift Online で実行されている既存のインテグレーションはすべてアップグレード中およびアップグレード後の実行が継続されます。しかし、既存のインテグレーションは古いバージョンの Fuse ライブラリーおよび依存関係で実行を継続します。
Fuse Online のインフラストラクチャーが新しいリリースにアップグレードされたことを知らせる電子メールのメッセージを受け取った後、既存のインテグレーションを再パブリッシュ (再起動だけではなく) してアップグレードします。これはできるだけ早期に行ってください。Gmail に接続するインテグレーションがある場合は、先に以下の 重要事項 を確認してから、これらのインテグレーションをアップグレードしてください。
Fuse Online 環境でインテグレーションを再パブリッシュするには、左側のナビゲーションパネルで Integrations をクリックします。その後、インテグレーションごとに以下を行います。
- インテグレーションエントリーの右側で をクリックし、Edit を選択します。
- Fuse Online で編集するインテグレーションが表示されたら、右上の Publish をクリックします。
パブリッシュを行うと、最新の Fuse Online 依存関係を使用して再ビルドが強制されます。
統合に更新の必要がある新しい依存関係がある場合、Fuse Online ユーザーインターフェースに警告が表示されます。
2.4. 重要事項
Fuse Online ディストリビューションの Fuse 7.2 リリースにおける重要事項
以前のリリースでは、Gmail API のアクセストークンが期限切れになったため、Gmail に接続するパブリッシュされたインテグレーションの実行は停止されました。Fuse Online 7.2 ではこれが発生しないようになりましたが、それには以下のように新しいクレデンシャルを取得し、使用する必要があります。
- Google developers console で、新しい OAuth クレデンシャルのセットを作成します。詳細は「Register as a Gmail client」を参照してください。
- 新しい Google クライアント ID と新しい Google クライアントシークレットを Fuse Online Settings ページの Gmail エントリーにコピーし、Save をクリックした後に Ok をクリックします。
- 左側のナビゲーションパネルで Connections をクリックします。
Gmail コネクションごとに以下を行います。
- Gmail コネクションカードの右上にある をクリックし、View を選択します。
- Reconnect をクリックし、Google のプロンプトに応答します。
- 本項の前に説明したアップグレードの情報どおりに、各インテグレーションを再パブリッシュします。
- Fuse Online アカウントは、同時に実行可能なインテグレーションの数が制限されています。詳細は、価格プランを参照してください。Fuse Online の評価版のアカウントをご使用の場合は、1 度に 1 つのインテグレーションのみを実行できます。
- Fuse Online にアップロードする OpenAPI スキーマに出入力タイプが定義されていないことがあります。Fuse Online が出入力タイプを指定しない OpenAPI からカスタム API クライアントを作成した場合、API クライアントが処理できるフィールドにインテグレーションデータをマップするインテグレーションや、API クライアントが処理したフィールドから統合データをマップするインテグレーションを作成できません。インテグレーションにカスタム API を起点または終点とするマッピングが必要な場合、OpenAPI スキーマをアップロードするときに Review/Edit をクリックして API デザインツールの Apicurio Studio を開き、出入力タイプの仕様を追加します。
2.5. テクニカルサポートの利用
テクニカルサポートを受けるには、Fuse Online の右上にある をクリックし、Support をクリックして Fuse Online サポートページを表示します。このページを使用して、すべてのインテグレーションまたは指定したインテグレーションの診断情報をダウンロードします。このページでサポートチケットの作成手順やダウンロードした診断情報の提供手順を確認できます。
2.6. テクノロジープレビューの機能
本リリースには、以下に示すテクノロジープレビュー機能が含まれています。
テクノロジープレビューの機能は、Red Hat の本番環境のサービスレベルアグリーメント (SLA) ではサポートされず、機能的に完全ではないことがあるため、Red Hat は本番環境での使用は推奨しません。テクノロジープレビューの機能は、最新の技術をいち早く提供して、開発段階で機能のテストやフィードバックの収集を可能にするために提供されます。詳細は、「テクノロジプレビュー機能のサポート範囲」を参照してください。
必要時にインテグレーションの実行をトリガーするため、ユーザーが提供し、Fuse Online が利用できるようにする REST API サービスとのインテグレーションを開始します。Fuse Online は、各 REST API 操作に対してインテグレーションフローと呼ばれる実行パスを作成します。各インテグレーションフローにコネクションやステップを追加できます。REST API クライアント呼び出しごとに 1 つのインテグレーションフローの実行がトリガーされます。
以下に対するコネクターです。
- FHIR - FHIR (Fast Healthcare Interoperability Resources) サーバーに接続します。
- IRC - テキストベースの IRC (Internet Relay Chat) に接続し、メッセージを送受信します。
OAuth を使用する REST API クライアントでは、API クライアントコネクターの作成時に、そのコネクターから作成するコネクションのデフォルト OAuth2 の動作を変更することができます。OpenAPI 仕様への Fuse Online ベンダーエクステンションは以下をサポートします。
- クライアントクレデンシャルをパラメーターとして提供。
- HTTP レスポンスステータスコードを基にした新しいアクセストークンの取得。
第3章 Fuse on OpenShift
Fuse on OpenShift は Fuse Integration Services の新名称で、Fuse アプリケーションを OpenShift Container Platform にデプロイすることができます。
3.1. OpenShift のサポート対象バージョン
Fuse on OpenShift と使用する OpenShift Container Platform のサポート対象バージョンについては「Red Hat Fuse でサポートされる構成 」を参照してください。
3.2. サポートされるイメージ
Fuse on OpenShift は以下の Docker 形式のイメージを提供します。
-
fuse7/fuse-java-openshift
— Spring Boot -
fuse7/fuse-karaf-openshift
— Apache Karaf -
fuse7/fuse-eap-openshift
— Red Hat JBoss Enterprise Application Platform -
fuse7/fuse-console
— Hawtio コンソール -
fuse7/fuse-apicurito
— Apicurito REST API エディター -
fuse7/fuse-apicurito-generator
— Apicurito REST アプリケーションジェネレーター
3.3. Fuse 7.2 の新機能
Fuse on OpenShift バージョン 7.2 の主な新機能は次のとおりです。
- Apicurito API デザイナーを使用した API の定義
- Fuse 7.2 on OpenShift には、ライトウェイトバージョンの Apicurio Studio API デザイナーが同梱されているため、API 定義を OpenAPI (Swagger) 形式で作成できます。
- Apicurito ジェネレーターでの新しい API プロジェクトジェネレーター
- Apicurito は、指定の API 定義を基にして、API 実装の開始点のコードを生成するオプションを提供します。開始点のコードには、指定の API のスケルトン実装と、Fuse アプリケーションを OpenShift にビルドおよびデプロイするために必要なすべての設定が含まれます。
- 3scale サービス検索との統合
- Apicurito によって生成されるプロジェクトには、Red Hat 3scale API Management の管理コンソールでサービスの検索を有効にするために必要なメタデータも含まれています。
- 更新された Fuse Console (Hawtio) on OpenShift
Fuse Console on OpenShift は以下の機能で更新されました。Fuse Console には以下が追加されました。
- ナビゲーションバーに アプリランチャー ウィジェットが追加され、コンソールの切り替えが容易になりました。
- JVM コンソールのナビゲーションバーに コンテキストスイッチャー ウィジェットが追加され、コンテナーの切り替えが楽になりました。
- リストビューにてデプロイメントまたはデプロイメント設定で Pod をグループ化します。
- Pods ビューに Camel ルート数を表示します。
- ナビゲーションバーメニューにユーザー ID とユーザー名を表示します。
- OpenShift リソースは、OpenShift Web コンソールで対応するリソースを開くクリック可能なリンクとともに表示されます。
- OCP 3.11 で完全サポートされる Prometheus
- テクノロジープレビューだった Prometheus は Fuse 7.2 on OpenShift Container Platform (OCP) 3.11 で完全サポートされるようになりました。
3.4. 重要事項
Fuse on OpenShift ディストリビューションの Fuse 7.2 リリースにおける重要事項
- Fuse on OpenShift のイメージはセキュアなレジストリーを介して配布
-
Fuse 7.2.0 より、Fuse on OpenShift のイメージはセキュアな Red Hat レジストリー
registry.redhat.io
を介して配布されるようになりました。Fuse 7.2 のイメージを OpenShift にインストールするには、OCP のクレデンシャルを設定して、セキュアなレジストリーにアクセスできるようにする必要があります。クレデンシャルの設定方法は、『Fuse on OpenShift Guide』の「Get Started for Administrators」を参照してください。 - OCP 3.10 の初期のマイクロバージョンによってはビルドが停止することがある
- OCP 3.10 で Fuse on OpenShift を使用している場合、OCP 3.10.34 以上をインストールして、ENTESB-9420 に報告された既知の問題を回避することが推奨されます。そのため、影響を受ける OCP 3.10 バージョンをベースとした Red Hat Container Development Kit (CDK) 3.5 を Fuse 7.2 と使用しないことが推奨されます。CDK 3.8 を使用するようにしてください。
- Fabric8 Maven プラグインを使用したアプリケーションの再デプロイ
Fabric8 Maven プラグインを使用して、Fuse on OpenShift アプリケーションを OpenShift Container Platform にデプロイする場合、
mvn fabric8:deploy
コマンドを使用しただけではアプリケーションを再デプロイできません。以下のコマンドシーケンスを使用してください。mvn fabric8:undeploy mvn fabric8:deploy
第4章 Fuse スタンドアロン
4.1. サポートされるコンテナー
Fuse スタンドアロン 7.2 は以下のランタイムコンテナーでサポートされます。
- Spring Boot (スタンドアロン)
- Apache Karaf
- Red Hat JBoss Enterprise Application Platform (JBoss EAP)
4.2. テクノロジープレビューの機能
以下の Fuse スタンドアロンの機能は テクノロジープレビュー であるため、Fuse 7.2 ではサポートされません。
- Saga EIP
- Saga EIP (Enterprise Integration Pattern) はテクノロジープレビューの機能で、実稼働環境に適していない インメモリー Saga サービスのみが対象になります。LRA Saga サービスはサポートされません。詳細は『Apache Camel Development Guide』の「Saga EIP」を参照してください。
4.3. Fuse 7.2 の BOM ファイル
サポートされる Fuse 7.2 アーティファクトを使用するために Maven プロジェクトを設定するには、本セクションで説明する BOM バージョンを使用してください。
4.3.1. 旧スタイルの BOM
Fuse スタンドアロンアプリケーションをアップグレードして 7.2 の依存関係を使用するには、Maven の pom.xml
を編集し、下表にある BOM と Maven プラグインのバージョンを変更します。
表4.1 旧スタイルの BOM を使用している 7.2 の Maven BOM およびプラグインのバージョン
コンテナータイプ | Maven BOM またはプラグインアーティファクト groupId/artifactId | Fuse 7.2 向けのバージョン |
---|---|---|
Spring Boot |
|
|
|
| |
|
| |
Apache Karaf |
|
|
|
| |
|
| |
JBoss EAP |
|
|
4.3.2. 新スタイルの BOM
Fuse スタンドアロンアプリケーションをアップグレードして 7.2 の依存関係を使用するには、Maven の pom.xml
を編集し、下表にある BOM と Maven プラグインのバージョンを変更します。
表4.2 新スタイルの BOM を使用している 7.2 の Maven BOM およびプラグインのバージョン
コンテナータイプ | Maven BOM またはプラグインアーティファクト groupId/artifactId | Fuse 7.2 向けのバージョン |
---|---|---|
Spring Boot |
|
|
|
| |
|
| |
Apache Karaf |
|
|
|
| |
JBoss EAP |
|
|
新スタイルの BOM の使用に関する詳細は、『Migration Guide』の「Migrate Maven Projects」を参照してください。
4.4. 重要事項
Fuse スタンドアロンディストリビューションの Fuse 7.2 リリースにおける重要事項
- camel-linkedin の認証トークンの生成
LinkedIn は、CAPTCHA を使用したログインフォームでの応答を開始したため、スタンドアロンヘッドレス Fuse プロセスでユーザー名とパスワードを使用したログインを使用できません。代替方法として、コンポーネントが強化され、LinkedIn アクセストークンは
accessToken
コンポーネントプロパティーで生成および設定できます。また、expiryTime
プロパティーを使用すると、Unix Epoch を起点とするミリ秒単位のトークン有効期限を設定でき、指定がない場合のデフォルトは 60 日になります。トークンが期限切れになるとコンポーネントは再度ログインしようとしますが、ユーザー名とパスワードを使用した方法では CAPTCHA 応答によりログインに失敗します。そのため、コンポーネントは自動的に独自でトークンを更新できません。トークンを生成するには、ウェブブラウザーや
curl
などのユーティリティーを使用し、https://developer.linkedin.com/docs/oauth2 に記載されている LinkedIn の OAuth ログインプロセスに従います。この説明にあるように、ユーザーはブラウザーを使用してログインし、承認コードを生成する必要があります。承認コードは、LinkedIn コンポーネントで設定されるアクセストークンの生成に使用されます。生成されたトークンは 60 日間有効であるため、この処理を周期的に繰り返して手作業でトークンを更新し、更新されたトークンで Fuse アプリケーションを再起動する必要があります。- Kafka 2.0.0 クライアントを使用するよう更新された camel-kafka コンポーネント
-
AMQ Streams (Apache Kafka の Red Hat ディストリビューション) との互換性を向上するため、
camel-kafka
コンポーネントが更新され、Kafka 2.0.0 クライアントライブラリーを使用するようになりました。 - AMQ コネクションでの XA トランザクションの使用
-
AMQ ブローカーへの XA コネクションを使用する場合は、
XAConnectionFactory
のブローカー URL にコネクションパラメーターjms.xaAckMode=1
を明示的に設定する必要があります。この設定では Spring Boot のアクチュエーターヘルスチェックは動作しないことがあり、application.properties
ファイルにmanagement.health.jms.enabled=false
を設定して無効にする必要があります。
第5章 非推奨となった機能および削除された機能
Fuse 7 の今後の変更に関するご質問やヘルプは、support@redhat.com にお問い合わせください。
5.1. 非推奨となった機能
以下の機能は Fuse 7.2 で非推奨となったため、今後のリリースで削除される可能性があります。
- 非推奨となった 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.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.3. 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 Guide』を参照してください。
- 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:install
Karaf コンソールコマンドを使用して生成) は Fuse 7.0 で削除されました。Apache Karaf コンテナーをサービスとしてインストールする場合、この代わりにkaraf-service-*.sh
ディレクトリーから新しいbin/contrib
スクリプトを使用することが推奨されます。 - 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.4. Fuse 7.0 で置き換えられた機能
以下の機能は Fuse 7.0 で置き換えられました。
第6章 Fuse 7.2 でサポートされない機能
以下の機能は、Red Hat Fuse 7.2 ではサポートされません。
- サポートされない 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.2 の既知の問題について説明します。
7.1. CVE セキュリティー脆弱性
Fuse はミドルウェア統合プラットフォームであるため、多くのサードパーティーコンポーネントと統合される可能性があります。そのため、サードパーティーの依存関係の一部にセキュリティーの脆弱性がある可能性を常に排除することは困難です。ここでは、Fuse 7.2 のサードパーティーの依存関係に影響する既知のセキュリティー脆弱性について説明します。
- ENTESB-12489 CVE-2019-9827 - Fuse Console standalone on Amazon Web Services
-
セキュリティーの懸念があるため、スタンドアロンの Fuse アプリケーションを Amazon Web Services (AWS) にデプロイしないでください。この制限は、サポートされるすべてのスタンドアロン環境 (Spring Boot 1.x および 2.x、Karaf、および Red Hat JBoss Enterprise Application Platform) に適用されます。AWS に Fuse Console スタンドアロンをデプロイする場合は、Fuse 7.7 以降にアップグレードし、
hawtio.disableProxy
システムプロパティーをtrue
に設定して Fuse Console のプロキシーサーブレットを無効にすることが強く推奨されます。 - 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 jackson-databind セキュリティー脆弱性に関連する複数の CVE
FasterXML
jackson-databind
ライブラリーを使用し、JSON コンテンツをデシリアライズして Java オブジェクトをインスタンス化するアプリケーションは、潜在的に リモートコード実行 攻撃に脆弱です。しかし、脆弱性は自動的に発生せず、適切な軽減策を講じれば回避することができます。最低でも以下の前提条件をすべて満たさなければ攻撃を実行することはできません。
jackson-databind
の JSON コンテンツのデシリアライズに対し、ポリモーフィックな型の処理を有効にする必要があります。Jackson JSON でポリモーフィックな型の処理を有効にする方法は 2 つあります。-
@JsonTypeInfo
および@JsonSubTypes
アノテーションの組み合わせを使用します。 -
ObjectMapper.enableDefaultTyping()
メソッドを呼び出します。この方法はポリモーフィックな型をグローバルで有効にするため、危険です。
-
-
現在のバージョンの
jackson-databind
によってブラックリストに指定されていない ガジェットクラス が 1 つ以上 Java クラスパスにあります。ガジェットクラスは、機密性の高い (潜在的に悪用可能な) 操作を、constructor または setter メソッド (デシリアライズ中に呼び出しできるメソッド) の実行による副次的な影響として定義します。Jackson JSON ライブラリーによって維持されるガジェットブラックリストは、リモートコード実行の脆弱性から守るための最後の手段になります。
jackson-databind
の脆弱性に関して多くの CVE が存在するのは、多数のガジェットクラスが存在するためです。ガジェットクラスの種類別に異なる CVE が存在します。アプリケーションで
jackson-databind
を使用する必要がある場合、Jackson JSON でポリモーフィックな型の処理を行わないようにし、ObjectMapper.enableDefaultTyping()
メソッドを絶対に呼び出さないことが、リスクを軽減する最も重要な対策になります。
7.2. Fuse Online
Fuse Online ディストリビューションの既知の問題は次のとおりです。
- 667 'null' when using "ItemAt" transformation from List<> → Number
-
ItemAt
変換を使用してList
からDouble
へマップすると、データマッパーによって例外がスローされます。 - 1558 "Save as draft" and "Publish" buttons
- Save as draft ボタンと Publish ボタンのいずれかをクリックし、手順が開始されても、両方のボタンがアクティブなままになります。
- 698 DB Connector: SQL parser doesn’t recognize parameters for LIKE
-
LIKE
キーワードが含まれる SQL ステートメント (例:DELETE FROM TODO WHERE task LIKE ‘:#param’
) では、LIKE
キーワードを:#param
などのデータマッパーパラメーターとともに使用できません。
7.3. Fuse on OpenShift
このセクションでは、OpenShift 上の Fuse アプリケーションのデプロイメントに影響する問題を取り上げます。特定のコンテナーに影響する問題の詳細は、Spring Boot、Fuse on Apache Karaf、および Fuse on JBoss EAP のセクションも参照にしてください。Fuse on OpenShift ディストリビューションの既知の問題を以下に示します。
- ENTESB-9420 karaf-camel-rest-sql: Build creation stuck on "Receiving source from STDIN as archive"
- 初期のマイクロバージョンの OpenShift Container Platform (OCP) 3.10 にFuse アプリケーションをビルドまたはデプロイしようとすると、エラーが発生し、ビルドがハングする可能性があります。この問題が発生した場合、この問題が修正されている OCP 3.10.34 (またはそれ以降) にアップグレードすることが推奨されます。
- ENTESB-9514 CDK (minishift) + quickstart with binary build doesn’t work
- Red Hat Container Development Kit (CDK) 3.5 は、Fuse 7.2 on OpenShift で一部互換性のないバージョンの OpenShift を使用します (特に、Fuse on OpenShift のクイックスタートをビルドおよびデプロイできません)。この代わりに CDK 3.8 を使用することが推奨されます。
7.4. Fuse on Spring Boot
Fuse on Spring Boot の既知の問題は次のとおりです。
- ENTESB-9208 XA transaction doesn’t work with MSSQL database
- Fuse 7.2.0 GA リリースでは、Narayana をトランザクションとして使用すると、MSSQL データベースで XA トランザクションが動作しません。この問題は、今後のリリースの Fuse で修正される予定です。
7.5. Fuse on Apache Karaf
Fuse on Apache Karaf の既知の問題は次のとおりです。
- ENTESB-9750 Swagger doesn’t work in karaf-camel-rest-sql
-
Fuse 7.2.0 GA リリースでは、エンドポイントの URL の前に
/api-doc
を追加して Swagger API 定義にアクセスしようとすると、karaf-camel-rest-sql
クイックスタートによってエラーが発生します。この問題は、今後のリリースの Fuse で修正される予定です。 - ENTESB-8140 Start level of hot deploy bundles is 80 by default
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 Installing framework-security feature kills karaf
framework-security
オプションを使用して--no-auto-refresh
OSGi 機能をインストールしないと、Apache Karaf コンテナーがシャットダウンします。以下に例を示します。feature:install -v --no-auto-refresh framework-security
7.6. Apache Camel
Apache Camel の既知の問題は次のとおりです。
- ENTESB-7469 Camel Docker component cannot use Unix socket connections on EAP
-
Fuse 7.0 では、
camel-docker
コンポーネントは UNIX ソケットではなく REST API のみを介して Docker に接続できます。 - ENTESB-5231 PHP script language does not work
- PHP の OSGi バンドルがないため、PHP スクリプト言語は Apache Karaf コンテナー上の Camel アプリケーションでサポートされません。
- ENTESB-5232 Python language does not work
- Python の OSGi バンドルがないため、Python スクリプト言語は Apache Karaf コンテナー上の Camel アプリケーションでサポートされません。
- ENTESB-2443 Google Mail API - Sending of messages and drafts is not synchronous
- メッセージまたは下書きを送信すると、応答には ID を持つ Message オブジェクトが含まれます。API への別の呼び出しを介してこのメッセージを即座に取得できない可能性があります。このような場合、待機して呼び出しを再試行する必要があります。
- ENTESB-2332 Google Drive API JSON response for changes returns bad count of items for the first page
- 変更に対する Google Drive API JSON 応答によって返される最初のページのアイテム数は適切でありません。リスト操作の maxResults を設定すると、最初のページにすべての結果が返されないことがあります。この場合、複数のページを確認して完全リストを取得する必要があります (新しいリクエストに pageToken を設定して行います)。
第8章 Fuse 7.2 で解決された問題
以下のセクションには、Fuse 7.2 で解決された問題が記載されています。
8.1. Fuse 7.2 で改良された機能
以下の表に Fuse 7.2 で改良された機能を示します。
表8.1 Fuse 7.2 で改良された機能
問題 | 説明 |
---|---|
Prometheus を fuse-karaf/fuse-java openshift イメージの新しい実稼働バージョンに更新 | |
config map を Fuse コンソールテンプレートに追加 | |
Fuse コンソールで詳細設定を再設定するときにユーザーをログアウトしない | |
SAP タイプコンバーターが例外をスローするよう変更 | |
camel-http4 が Connection Manager の統計を JMX 経由で公開するよう変更 | |
JMX は howtio 自体ではなく JMX に関する概要にリダイレクトされる必要がある | |
camel-kafka の kafka-clients を AMQ Streams kafka-client と連携 | |
standalone-xa クイックスタートの改良 | |
Hawtio - 名前の編集および設定プロパティーの削除がない | |
camel-mqtt の削除および camel-paho の追加 | |
ホットデプロイバンドルの開始レベルのデフォルトは 80 | |
コンテンツセキュリティーポリシー HTTP ヘッダーを Howtio に適用 | |
Apicurito を開発/製品化ビルドパイプラインに追加 | |
Fuse on Openshift クイックスタートが新しい Fuse BOM を使用するようにする | |
camel MBean 名の統一 |
8.2. Fuse 7.2 の機能リクエスト
以下の表に Fuse 7.2 の機能リクエストを示します。
表8.2 Fuse 7.2 の機能リクエスト
問題 | 説明 |
---|---|
Fuse イメージストリームと OpenShift イメージのアプリケーションテンプレートを更新して Terms Based Red Hat レジストリーを使用 | |
デプロイ時に K8s サービスアノテーションを追加 | |
Fuse コンソールナビゲーションバーにアプリランチャーを追加 | |
Webhook 説明テキスト | |
Fuse コンソールのリストビューにてレプリカで Pod をグループ化 | |
Fuse コンソールナビゲーションバーに Pod 切り替えを追加 | |
Fuse コンソールにログイン済みユーザーの情報を表示 | |
Syndesis で使用される Camel-Slack コンシューマーの作成 | |
サービスメタデータの更新可能 | |
デフォルトのサービスメタデータによる Rest DSL プロジェクトの記述 |
8.3. Fuse 7.2 で解決されたバグ
以下の表に Fuse 7.2 で解決されたバグを示します。
表8.3 Fuse 7.2 で解決されたバグ
問題 | 説明 |
---|---|
CVE-2018-8018 camel-ignite: ignite: 不適切なデシリアライズによって GridClientJdkMarshaller エンドポイントを介したコード実行が可能 [fuse-7.0.0] | |
CVE-2018-8039 cxf-core: apache-cxf: TLS ホスト名の検証が com.sun.net.ssl.* で適切に動作しない [fuse-7.0.0] | |
CVE-2018-1288 kafka: 悪用されたフェッチリクエストによりユーザーが Broker アクションを実行できる | |
CVE-2018-1336 tomcat: UTF-8 デコーダーのバグによる DoS の可能性 [fuse-7.0.0] | |
CVE-2018-1257 spring: spring-framework: pring-messaging での ReDoS 攻撃 [fuse-7.0.0] | |
CVE-2018-12537 vertx: 不適切な CRLF シーケンスの中立によりリモート攻撃者は任意の HTTP レスポンスヘッダーをインジェクト可能 [fuse-7.0.0] | |
CVE-2018-8014 tomcat: CORS フィルターのセキュアでないデフォルトにより 'supportsCredentials' が有効化 [fuse-7.0.0] | |
CVE-2018-1259 spring-data-commons: Spring Data の XMLBeam 統合での XXE 攻撃 [fuse-7.0.0] | |
CVE-2016-5003 camel: xmlrpc: <ex:serializable> タグを介した信頼できない Java オブジェクトのデシリアライズ [fuse-6] | |
CVE-2016-5002 camel: xmlrpc: 悪用された DTD による XXE 脆弱性 SSRF [fuse-6] | |
Fuse Online による Docker Hub からの oauth-proxy のプル | |
Fuse 7.2 CR2 on EAP に製品化されたクイックスタートが含まれない | |
fuse-apicurito-generator で作成されたプロジェクトを OpenShift にデプロイできない | |
fabric8 BOM に異なるビルドの narayana springboot がある | |
spring-boot-camel-xa-template は製品化されたアーティファクトを使用しない | |
CAMEL-12867 のバックポート | |
maven-bundle-plugin in redhat-fuse の再パッケージ | |
spring boot camel cxf アプリで正常なシャットダウンができない | |
karaf-cxf-rest - cxf プラグインバージョンがない | |
Hawtio Spring Boot - 認証が機能しない | |
camel-jms-tx-spring - Camel Context XML にエラーが含まれている | |
README.md ファイルの未解決の TODO | |
camel-linkedin - Camel Context XML の冗長 '//' | |
Hawtio HTTP セキュリティーの改良機能が Spring Boot アプリケーションに適用されない | |
camel の File コンポーネントの文字セットオプションが適切に動作しない | |
アップストリームの Jira CAMEL-12882 を Fuse 7.1 camel バージョンに含める | |
管理された依存関係で Spring XML DSL で camel-zipkin を設定すると NoSuchMethodError が発生する | |
FMP が誤ったイメージストリームを使用する | |
restConfiguration の componentProperty または endpointProperty メソッドが jetty と動作しない | |
maximumReconnectAttempts の設定値よりも大きな値で camel-ftp が内部的にターゲット FTP サーバーへ接続する | |
CAMEL-12846 のバックポート | |
EAP 7.1 + パッチ 7.1.4 | |
CXF アプリのアンデプロイ後に ServerActivity がリークする | |
CXF アプリのアンデプロイ後に DeploymentManagerImpl がリークする | |
CAMEL-12436 のバックポート | |
Quartz2 - Bundle c3p0 がクラスパスの MySQL ドライバーを見つけられない | |
NumberFormatException により hibernate をインストールできない | |
camel-servlet を OSGI サービスとして公開 | |
CVE-2018-12440 camel: netty-tcnative-boringssl-static: DSA 署名でのメモリーキャッシュサイドチャネル攻撃 [fuse-7.0.0] | |
Java Security Manager が有効であると Fuse on EAP を起動できない | |
CVE-2018-8018 camel-ignite: ignite: 不適切なデシリアライズによって GridClientJdkMarshaller エンドポイントを介したコード実行が可能 [fuse-6.3.0] | |
[Hawtio] Camel の Route Chart で CTRL ボタンを押してオプションを再選択した後に選択が消える | |
コンソールの hawtio-swagger がレスポンスコード 500 を表示する | |
BOM に me.snowdrop:narayana-spring-boot-starter がない | |
[Hawtio] Help ページのリンク切れ | |
HAWTIO:OSGi:FRAMEWORK ビューアーで保存ボタンを表示 | |
fhir 機能をインストールできない | |
client.bat スクリプトを使用して Fuse 7.1 に接続できない | |
CTRL +C の使用後に Fuse をシャットダウンすると NPE が発生 | |
jetty バージョンと karaf 機能および use-karaf-bom の統一 | |
エラーが発生しても Karaf クライアントがコード 0 を返す | |
org.jboss.redhat-fuse/cxf-wadl2java-plugin が動作しない | |
jolokia:type=Discovery で lookupAgents の実行中に UnmarshalException が発生 | |
camel-linkedin: java.lang.SecurityException: Invalid CSRF code! | |
Kafka ブローカーの変更が原因のコンパイルエラー | |
ログの最後に `./bin/client 'log:tail'` の実行時が表示されない | |
persisstence クイックスタートの Readme に誤ったバージョンが含まれている | |
camel-jms クイックスタートの Readme に pax-jms-config 機能がない | |
"Hawtio:osgi:features: application-without-isolation/1.0.0 のインストールまたはアンインストール時 | |
[Hawtio] Camel のエンドポイントの Browse タブにあるチェックボックスの誤った動作 | |
eap-installer 7.1.1.CR1 のバージョンミスマッチ | |
camel-cdi を使用してインポートのリソース [./cxfws-cdi-xml.xml] を見るけることができない | |
Fuse 7.1 サンプルプロジェクトを OpenShift にデプロイできない | |
Windows でファイルを消費すると camel-hl7 のサンプルでエラーが発生する | |
"eap-camel-[amq|jpa] quickstart - Warning Missing SSO_URL" | |
spring-boot-camel-xa テンプレートが誤った git タグを示す | |
fabric8 クイックスタートの誤った Fuse バージョン | |
Camel-CXF: Karaf 機能が動作しない | |
REST リソースの OPTIONS Http リクエストが誤ったコンテンツの Allow ヘッダーを返す | |
Salesforce on-create | |
Hawtio: Red Hat Fuse のロゴが消える | |
Fuse コンソールのデフォルトコネクション詳細 | |
Hawtio: Help ページの誤ったリンク | |
Hawtio: 新しいタブ/ウインドウで開いたバンドル詳細がデータを表示しない | |
s2i-fuse71-eap-camel-cxf-jaxws : HTTP メソッド POST がこの URL によってサポートされない | |
camel-core WARN、CamelContext が定義されておらず bean にインジェクトできない | |
Post メソッドが Karaf の restlet コンポーネントで動作しない | |
CVE-2018-1284 hive: UDFXPathUtil.java で誤って処理された入力により、ユーザーは悪用された XML を介して任意のファイルにアクセス可能[fis-2.0] | |
自動作成された CXF Bus が CxfSpringEndpoint でシャットダウンしない | |
Fuse 7.x への CAMEL-12728 のバックポート | |
CTRL+L で Karaf CLI に入力された行が消去される | |
Karaf の jms コマンドは JMS 1.1 接続ファクトリーと動作しない (例 AMQ-6 client) | |
camel-sjms の SJMSBatchComponent でクレデンシャルを設定できない | |
[Hawtio] 特定ルートでのページ更新後に Camel ツリーが消える | |
eap-camel-cxf-jaxrs - NoSuchMethodError: SystemPropertyAction.getInteger | |
camel-hdfs2: Fuse 7 との問題 | |
Keycloak クイックスタートが RH-SSO 7.2.4 で動作しない | |
初めてサービスにアクセスするときに Keycloak クイックスタートで NullPointerException が発生する | |
camel-elasticsearch: リモート elasticsearch にアクセスできない | |
Hawtio: Karaf コンソールからのコンテキストを一時停止/開始後にコンテキストが複製される | |
[Hawtio] Camel での Endpoints の Chart のおかしな動作 | |
Unable to register security - ClassNotFoundException: BouncyCastleProvider | |
karaf-cxf-rest クイックスタートの誤った SERVICE_NAME | |
CamelContextTrackerRegistry で WildFly サーバーのリロードにより複数の CamelContextRegistry インスタンスが発生 | |
karaf-camel-rest-sql - 提供される mysql デプロイメントが動作しない | |
コンソールのログイン時に CXFJMS 設定アドレスのオプションとして提供されるエンコード/暗号化パスワード | |
SPRINGBOOT:HAWTIO: リモート接続でリダイレクトが多すぎる | |
camel-cxf-jaxws-cdi-secure が IBM java で動作しない | |
Hawtio のリダイレクトの問題 | |
Hawtio: 複数の言葉で構成されるプロパティー名を設定に追加できない | |
Hawtio: OSGi 機能の一部の依存関係がリンク切れ | |
Hawtio: リロード後に OSGi Configuration 詳細ページにデータが表示されない | |
Hawtio コンソールの新しい接続デフォルト | |
HAWTIO:HELP: JMX リンクで howtio にリダイレクトされる | |
Hawtio: リロード後に OSGi Bundles ページにデータが表示されない | |
Hawtio: ログインページで POST リクエストの連続ループ | |
EAP:FUSE:HAWTIO:CONNECT で接続を追加できない | |
fuse-karaf はハードコードされたバージョン番号でテスト |