2011-02-28 17 views
0

私のソースコードでは、私のコードが展開されている現在のEARの最終更新日をプログラム的に取得したいと考えています。 私はOracle WebLogicを使用しています。 どうすればいいですか?あなたはファイルのプロパティを確認するか、EAR内部に存在するMANIFEST.MF内で見ることができたのいずれかあなたの答えWebLogicで現在のEARパスを取得

答えて

0

ため

Thxを。

+1

Thxをではなく、主な課題は、どのように私はそれを行うことができ...このEARのパスを取得するのですか? –

1

私は、あなたが解決しようとしている問題を踏んで、見ていることをお勧めします。

アプリケーションがいつビルドされたのか、導入されたアプリケーションの特定のバージョンを知りたいですか?そのような場合は、おそらく、これを設定するために何かをビルドプロセスに組み込むことによって最も効果的です。理想的には、アプリケーションをパッケージ化するために使用される特定のコンポーネントバージョンのマニフェストです。

アプリケーションが最初に管理者によっていつ配備されたのかを知りたい場合、または最も最近に配備された配備がもっと難しい場合は、この問題を解決するためにファイルシステムに依存することは悪い考えです。なぜなら、あなたはWebLogic Serverが何をしていても、それは少しでも不透明ではありません。

これを絶対に行う必要がある場合は、WebLogic Serverの標準的なステージング動作によって、ファイルの各バージョンが各サーバインスタンスの特定のサブディレクトリに格納され、非常に迅速に分離されます。 (それは、ドメイン($ DOMAIN_HOME)$ DOMAIN_HOMEは、実行時にすべてのサーバプロセスの現在のディレクトリでのルートディレクトリの下に「サーバ//段階」サブディレクトリがありますので、相対パスでは正常に動作する必要があります。

ことべきファイルがネットワーク上に展開された時間を与えますが、サーバーインスタンスを再起動しても、観察された動作をテストしたいのは間違いありません。ビルドプロセスまたはデプロイメントプロセスを中心としたWLSTスクリプトを使用して、よりエレガントに判断してください。

最後のtiアプリケーション自体がデプロイされていた(バージョンに関係なく)場合、アプリケーションライフサイクルイベントリスナーが間違いなく最善の方法です。残念ながら、個々のアプリケーションの稼働時間を与えるMBeanはありません。

あり、ここで、ライフサイクルのリスナーに大きな参照があります:

http://download.oracle.com/docs/cd/E17904_01/web.1111/e13712/app_events.htm#i178290

関連する問題