0

Tomcat サーバーに 2 つの異なるアプリケーションをデプロイしています。あるアプリケーションの目的は、ルール エンジンを使用してデータを処理する別のアプリケーションを呼び出すことです。基本的には、リフレクションを介して別のアプリケーションの静的メソッドを呼び出します。

これは Jboss では問題なく動作します。しかし、何らかの理由で、同じアプリケーションを Tomcat にデプロイする必要があります。そして、ここで失敗します。あるアプリケーション クラスが別のアプリケーション クラスを見つけることができないようです。Tomcat はリフレクションをサポートしていませんか? または、異なるアプリケーション間での反映はできませんか?

ありがとう、にぷん

4

2 に答える 2

1

各アプリサーバーのクラスローディング構造に依存していると思います。クラスローダーの構造/階層は構成可能ですが、通常、2つのアプリは異なるクラスローダーを占有し、クラスローダー間でリフレクションを使用すると問題が発生する可能性があります。

これらのアプリ間の通信にリフレクションを使用しているのはなぜですか?これは実用的ではないか、実際には適切ではありません。2つのWebアプリがあるので、HTTP APIを使用して通信してみませんか?これを実行できる/実行したくない場合は、RMIなどの他のソリューションを調査します。

于 2013-01-02T11:24:08.350 に答える
0

この問題の原因がリフレクションではないかと思いますが、クラスローダーの階層です。

あるWebアプリが別のWebアプリのメソッドを呼び出さないようにする必要があります。これは、主要な設計上の欠陥です。

于 2013-01-02T11:24:34.170 に答える