私はよくある問題を抱えており、それを行う最善の方法についてあなたの意見を聞きたいと思っています。
分散サーバー システムで実行されるアプリケーションがあるとします。フロントエンドサーバーとバックエンドサーバーとしましょう。RMI を介して呼び出されるバックエンド サーバー上のメソッド。
通常、バックエンドの Java プロセスには、フロントエンドの Java プロセスとは異なるライブラリが必要です。バックエンドで実行時例外が発生する可能性があります。スローされた例外はバックエンドでキャッチされないため、フロントエンド サーバーに移動します。ここでの問題は、パッケージがクラスパスにないため (EJBTransactionRolledBackException など)、フロントエンドが例外を認識しないことです。ClassNotFoundException という別の例外がスローされます。これにより、スタックトレースにバックエンド サーバーからのスタックが含まれないため、実行が発生した場所を確認できなくなります。私が考えることができる別のシナリオは、例外をシリアル化できない場合です。
この問題をどのように解決しますか?try ... catch および rethrow ブロックを作成しなくても、スローされた実行時例外をログに記録できますか?