4

J2EE アプリケーションは JBoss にデプロイされ、場合によっては OC4J にデプロイされます。どちらが使用されているかを知ることはできますか? 実行時にコンテナー情報を返すメソッドがあることを願っています。

4

4 に答える 4

3

私が考えることができる最も簡単な方法は、実行時にシステム プロパティを確認することです。これは、両方のサーバーがほぼ確実に独自のプロパティを定義するためです。たとえば、JBoss 4 はjboss.server.dirシステム プロパティを定義します。そのプロパティが存在するかどうかを確認し、存在する場合は、そのサーバーで実行していると見なすことができます。OC4J にも同様のものがあります。

または、サーバーのインフラストラクチャの一部であるクラスを反射的にロードしてみてください ( org.jboss.VersionJBoss 4 など)。存在する場合は、現在使用しているサーバーがわかります。

于 2009-11-17T08:25:45.563 に答える
0

ほとんどの場合、 JMXを使用する必要があります。どちらのコンテナーも、自身に関する詳細を MBean として公開する可能性があります。JMXおよびJBoss のドキュメントに関する Oracle のドキュメントを次に示します。

于 2009-11-17T00:34:53.633 に答える