AEM Formsのアップグレード後のシリアル化解除エラーの修正
IBM WebSphere Application Server 9.0.5.28でAdobe Experience Manager (AEM) Formsをバージョン 6.5.25にアップグレードすると、サーバーの起動中およびConfiguration Managerの実行中にデシリアライゼーションエラーが発生します。 この問題を解決するには、お客様がCRXを持っていないため、起動時にNososerial Java Agentを初期化する必要なJVM引数を使用してNososerial Java Agentを設定します。
説明 description
環境
- Product: Adobe Experience Manager (AEM) Forms JEE
- バージョン : 6.5.25、6.5.23からアップグレード
- Application server: IBM WebSphere Application Server 9.0.5.28
- オペレーティングシステム : Windows Server 2022 Datacenter
問題/症状
- AEM Forms 6.5.25にアップグレードし、IBM WebSphere上でアプリケーションを起動すると、多数の逆シリアル化がクラスに対して許可されない エラーメッセージがログに表示されます。
- エラーは、サーバーの起動時とConfiguration Managerの実行時の両方に表示されます。
解決策 resolution
この問題を解決するには、次の手順に従います。
-
notsoserial.jarファイルが、WebSphere上にデプロイされたAEM アプリケーションで使用されているディレクトリ(アプリケーションサーバーインスタンスのinstalledAppsディレクトリなど)に存在することを確認します。 -
is-deserialized.txtという名前の空のファイルをnotsoserial.jarと同じディレクトリに作成します。 -
WebSphere Admin Consoleで、
Servers >[ your server] > Java and Process Management > Process Definition > Java Virtual Machine > Generic JVM argumentsに移動します。 -
次のJVM引数を追加または更新します。
code language-none -javaagent:<path-to-notsoserial.jar> -Dnotsoserial.dryrun=<path-to-is-deserialized.txt> -
<path-to-notsoserial.jar>と<path-to-is-deserialized.txt>を完全なパスに置き換えます。 -
環境で特に必要とされる場合を除き、以前の関連するJVM引数をすべて削除します。
code language-none -Dorg.kantega.notsoserial.allow=... -Djdk.serialFilter=... -
変更を保存し、WebSphere アプリケーションサーバーを再起動します。
-
再起動後、スタートアップおよびConfiguration Managerの実行中に、シリアル化解除エラーが
SystemOut.logまたはその他の関連ログに表示されなくなったことを確認します。
メモ
-Dnotsoserial.dryrunプロパティを使用すると、起動時に許可リストが強制的に初期化されます。これは、JNDI ブートストラップ中に適切に動作するために必要です。- 今後のパッチまたはアップグレードのために、これらのJVM引数を配置しておきます。 メンテナンス後に逆シリアル化エラーが再び表示される場合は、これらの設定が引き続き存在することを確認します。
notsoserial.jarの場所は、デプロイメント構造によって異なります。 環境の正しいパスを参照していることを確認してください。- 上記の手順に加えて、追加のトラブルシューティング手順は提供されていません。