2016-07-05 4 views
0

コードが配置されているアプリケーションサーバーのタイプとバージョンを確認するレポートを生成する必要があります。私はgetServletContext().getServerInfo()を使用していましたが、TomcatとWeb Logicではうまくいきますが、Web Sphere-WASの場合、IBM WebSphere Application Server/8.5を印刷していましたが、バージョンは8.5.5.9でした。 .5が表示されない理由はわかりません。マイナーバージョンとメジャーバージョンのAPIを入手しても.5は印刷されません。以下は、ログインページの実際のバージョンを確認できるスナップショットです。 enter image description hereサーブレットの情報がWebSphere上のフルバージョンを取得していない

おかげ

答えて

2

これはWASの予想される動作です。この情報は、このAPAR hereに(間接的に)文書化されています。

WASProduct APIのgetServletConfig()。のgetServletContext ().getServerInfoは()正しいサーバー 情報 "IBM WebSphere Application Serverの/ 8.5"を返すように更新されます。また

getMajorVersion/getMinorVersion方法は、特定のサーブレットコンテナによって支持されているサーブレットAPIのバージョンを返します。おそらくあなたの目的には適していません。

Javaアプリケーションの外部では、PROFILE_ROOT/binで利用可能なversionInfo.sh|versionInfo.batを実行することによって、WebSphereインストールに関する詳細情報を入手できます。 Javaアプリケーション内では、WebSphereによって公開されるJMXインタフェースを使用してこの機能にアクセスできます。このようなプログラムの作成については、this linkをご参照ください。

+0

1つの質問..あなたが上に投稿したリンクは、これが8.5.5.1の一部であると述べています。私は8.5.5.9を使用しているので、問題は解決されません。 8.5.5以降のメジャーリリースもありますので、少なくとも8.5.5を取得する必要があります。 – Sid

+0

@Sid 1)8.5.5.9を使用しているので、APARの修正はすでに適用されています。そのため、あなたの出力はバージョンとして '8.5'と表示されます。 APARで説明されている問題は、WAS 8.5の実行中に値「8.0」が戻されたことです。 2)v8.5.5はメジャーリリースではありません。 [ここ](http://www-01.ibm.com/support/docview.wss?uid=swg27036319)にリストされているように、v8.5のリフレッシュ・パックです。 v8.5.5はLibertyプロファイルを別個のインストールとして再構築します。これはv8.5からの大きな変更です。完全なプロファイルについては、v8.5.5が典型的なフィックスパックです。 – Haxiel

関連する問題