これには、StackOverflowの上の私の非常に最初の質問ですが、私と一緒に負担してください。プログラムへのアクセスは、WebSphere Application Serverとそのリソース
何を達成しようとしていますか?
私は、WebSphere Application Serverの特定のインスタンスまたは複数のインスタンスにアクセスし、そこから詳細を取得するには、スタンドアロンのプログラムを記述する必要があります。私の研究が進んでいる限り、これを行うには2つの方法があります。私は現在、だから、私のコードはものになるだろう「コネクタ」アプローチと(そのファイアウォールの使いやすさに)それもSOAPコネクタ
を取っています
- アダプタ
- コネクタ
このように..
// Initialize the AdminClient.
Properties adminProps = new Properties();
adminProps.setProperty("type", AdminClient.CONNECTOR_TYPE_SOAP);
adminProps.setProperty("host", "localhost");
adminProps.setProperty("port", "8880");
AdminClient adminClient = AdminClientFactory.createAdminClient(adminProps);
String query = "WebSphere:*";
//String query = "WebSphere:type=Server,*";
ObjectName queryName = new ObjectName(query);
Set s = adminClient.queryNames(queryName, null);
if (!s.isEmpty()) {
iter = s.iterator();
while (iter.hasNext()) {
ObjectName nodeagent = (ObjectName) iter.next();
System.out.println("*********************************************");
System.out.println("KeyPropertyList: " + nodeagent.getKeyPropertyListString());
}
}
このコードを使用すると、WASの特定のインスタンス(C:¥Program Files¥IBM¥WebSphere¥AppServer¥profiles¥AppSrv01)上のすべてのMBeanのリストを取得できます。キー - プロパティリスト
今私は、MBeanのリストを持っています。次は何? リンク:_HTTP:?ここ//publib.boulder.ibm.com/infocenter/wasinfo/v7r0/index.jspトピック=/com.ibm.websphere.javadoc.doc /ウェブ/ mbeanDocs/index.htmlを
私のクエリです:
は、どのように私は私が興味を持って、特定のMBeanのインスタンスを取得し、すべての関連するプロパティを取得するのですか?例えば
:
AppManagement appM = AppManagementProxy.getJMXProxyForClient (adminClient);
System.out.println(appM.listApplications(null, null, null));
が
WASの特定のインスタンス上のすべてのアプリケーション(複数可)をリストし、[クエリ、SamplesGallery、ivtApp、DefaultApplication、PlantsByWebSphere]
私が興味を持っていますインストールされているアプリケーションについてもっと知ることで、彼らは起動していますか?もしそうなら、IPアドレス、ビルド番号はメンテナンス中などです(例として引用しています)。MBeanが提供する可能性のあるアプリケーションのすべての可能な情報を得ることができれば、 )
上記は単なる例であり、私はMBeansをさらに使いたいと思います。ですから、WASインスタンスが提供しなければならない任意のMBeanから情報を取得するのに役立つソリューション/サンプルコードを提供してください。 (使用してJMX)
追加詳細: IBM WebSphere Application Serverの、7.0.0.0(基本インストール)事前に
おかげで、 AJ
は、あなたの迅速な応答をありがとうのMBeanの識別子である
を試してみてください。メンテナンス中は、メンテナンス中にアプリケーションがダウンしている可能性があります。だから、それがダウンしているとき、おそらくそれからデータを得ることはできません。とにかく、ConfigService型のMBeanにConfigServiceProxyを使用することができます(間違っている場合は修正してください)。 MBeanにアクセスするためのより包括的なリストと、ここで言及したようなプロキシ(AppManagementProxy、ConfigServiceProxy)を持っているかどうか、または煩雑でエラーが発生しやすいAdminClient.invoke(ObjectName、operation、params、署名);方法? – ADJ
はい、ConfigServiceProxyは、すべてのWAS構成をナビゲートするためのMBeanであるConfigServiceへのアクセスを許可します。プロキシの包括的なリストがあるかどうかはわかりません。私は、MBeanのやりとりを使ってメインロジックが乱雑にならないように、あなた自身で作成することをお勧めします。 –
このような迅速な対応にもう一度感謝します。これは私が最初にやっていることです。だから、自分のプロキシを書くためのチュートリアルを私に指示できますか?私たちが最後に書くヘルパーのようなものでしょうか? MBeanHelper.getServerMbeansのようなもの? (私たちによって書かれたMBeanHelperクラス) – ADJ