※ 本記事は、Milad Shirazによる”Upgrade to JDK 17“を翻訳したものです。
2024年2月1日

Oracleが発表したこと
2023年半ばにJDK 11が非推奨とされたことにより、Oracleは、Oracle Integration (OIC)を含むすべてのOracle Integration CloudサービスをJDK 17で明示的に実行することを義務付けています。これには、オンプレミス接続エージェントなどの顧客サイトで外部で実行されている顧客やサービスに公開されない、内部で実行されているOracle Integrationサービスが含まれます。2023年10月から、JDK 8または11で実行されているホストをJDK 17にアップグレードして、Oracleの義務を満たすように依頼を開始しました。このガイドでは、JDK 17へのアップグレード方法と、まだアップグレードされていない場合に期待される内容について説明します。
接続エージェントとは?
オンプレミス接続エージェントを使用すると、オンプレミス・アプリケーションとOracle Integration間で統合を作成し、メッセージを交換できます。オンプレミスの接続エージェントはオンプレミスまたはクラウド環境でホストされ、オンプレミスまたはクラウド環境からOracle Integrationへの接続を確立します。
JDK 17へのアップグレード
JDKライセンスを購入する必要はありません。JDKインストールは、同じホストにインストールされている他の製品と共有できますが、お薦めしません。これは主に、一部の製品ではJDKの変更が必要な場合があり、製品ごとに異なる時期に異なるJDKバージョンが必要になる可能性があるためです。
次のオペレーティング・システムは、Oracle Integration Generation 2およびOracle Integration 3 オンプレミス環境に対してテストおよび認定されています。別のオペレーティング・システムを使用している場合は、互換性があることを確認するために私達に連絡して下さい。
- Oracle Linux 6.x
- Oracle Linux 7.x
- Oracle Linux 8.x
- RedHat Enterprise Linux 6.6
- RedHat Enterprise Linux 7.x
- RedHat Enterprise Linux 8.x
- Suse Linux Enterprise Edition 12 SP2
- Windows Standard Edition 2016
- Windows 2019
アップグレードを開始するには、まず接続エージェントのバージョンがJDK 17と互換性があることを確認します。接続エージェントが最新のOracle Integration updatesで最新ではない可能性はありますが、それでも可能です。これにより、JDK 17と互換性がない可能性があります。
agenthomeディレクトリから次のコマンドを実行して、接続エージェントがJDK 17と互換性があるかどうかを確認します。JDK 17の互換性には、Oracle Integration Generation 2の次の最小バージョンが必要です。
$ cat version
230505.0528.4033
Oracle Integrationのオンプレミス接続エージェントは、すべてJDK 17と互換性があります。
JDK 17へのアップグレード後に接続エージェントの起動時に次のエラーが表示された場合は、互換性のあるバージョンの接続エージェントを実行していません。
Agent is only supported on Java version 8 or 11. Please set JAVA_HOME and PATH to the location for Java (JDK 8 or 11). This error occurs because you are using an older version of the connectivity agent.
その場合は、次のステップを実行します:
- 以前のJDKバージョン(JDK 8またはJDK 11)で接続エージェントを1回起動します。
- 接続エージェントが最新バージョンにアップグレードされるまで待ちます。
- 接続エージェントを停止します。
- JDK 17で接続エージェントを再起動します。
JDK 17をダウンロードしてインストールするステップは、使用するオペレーティング・システムによって異なります。最小システム要件に関する詳細なドキュメントを参照し、JDK 17をダウンロードしてインストールします。
JDK 17をインストールした後、次のいずれかの方法で既存の接続エージェントを停止します:
- 接続エージェントが実行されているホストでctrl+cを入力します。
- 接続エージェント・プロセスを検索し、強制終了します。
Oracle IntegrationでKeyStoreを使用する場合は、エージェントが停止している間に、JKS KeyStoreをPKCS12 KeyStoreに変換します。PKCS12 KeyStoreをすでに使用している場合は、これらのステップを完了する必要はありません。
JKS KeyStoreをPKCS12 KeyStoreに変換しても、Oracle Integration Generation 2接続エージェントには影響しません。新しいKeyStoreは、Oracle Integration 3にアップグレードした後にのみ有効になります。
接続エージェントでJKS KeyStoreを使用する場合は、次のステップを実行します:
- 接続エージェントをホストするサーバーで、次のフォルダにあるkeystore.jksファイルのバックアップを作成します:
- Agent_Install_Location/agenthome/agent/cert
- バックアップ・ファイルを別のフォルダに移動します。
- コマンドラインから次のコマンドを実行して、JKS KeyStoreをPKCS12 KeyStoreに変換します:
- keytool -importkeystore -srckeystore keystore.jks -destkeystore keystore.p12 -srcstoretype JKS -deststoretype PKCS12 -deststorepass changeit -srcstorepass changeit
- 次の場所にあるkeystore.jksファイルを削除します:
- Agent_Install_Location/agenthome/agent/cert
- 接続エージェントを再起動する前に、少なくとも45秒待ちます。ご使用の環境および本番ロード・サイズに基づいてエージェントを再起動するには、「エージェントの再起動」を参照してください。
JDK 17にアップグレードしていない場合
JDK 8およびJDK 11での接続エージェントのサポートは、2023年12月31日に終了しました。どちらのバージョンも使用し続けると、接続性エージェントの四半期ごとの更新および接続エージェントを含む送信済サービス・リクエストのサポートは受信されなくなります。
また、接続エージェントに依存するサービスの中には、2024年1月15日以降に正しく機能しないものもあります。つまり、JDK 8およびJDK 11上の接続エージェント・トラフィックは、Oracleによってブロックされる可能性があります。
最後に、JDK 17に対するリリースのテストのみを行い、JDK 17以外のJDKバージョンで実行されているオンプレミス接続エージェントの四半期ごとの更新を提供しません。
