首页 文章

以编程方式访问Websphere Application Server及其资源

提问于
浏览
2

这是我在StackOverflow上的第一个问题,请耐心等待 .

我想要实现的目标是什么?

我需要编写一个独立的程序来访问特定实例或Websphere Application Server的多个实例,并从中获取详细信息 . 就我的研究而言,有两种方法可以做到这一点 .

  • 适配器

  • 连接器

我目前采用的是'连接器'方法,也是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的列表,并成功打印Key - Property list .

现在我有一个MBean列表 . 接下来是什么?链接:_http://publib.boulder.ibm.com/infocenter/wasinfo/v7r0/index.jsp?topic = / com.ibm.websphere.javadoc.doc / web / mbeanDocs / index.html

这是我的查询:

如何获取我感兴趣的特定MBean的实例并获取所有相关属性?

例如:

AppManagement appM = AppManagementProxy.getJMXProxyForClient (adminClient);
System.out.println(appM.listApplications(null, null, null));

将列出该特定WAS实例上的所有应用程序

[query,SamplesGallery,ivtApp,DefaultApplication,PlantsByWebSphere]

我有兴趣了解更多关于已安装的应用程序的说法,它们是否正常运行?如果是这样,IP地址,内部版本号,是否处于维护状态等(仅引用它们作为示例)如果我可以获得MBean可以提供的应用程序的所有可能细节,那么它将完成我的任务(部分)

前面提到的只是一个例子,我想从MBeans中获得更多 . 因此,请提供一个解决方案/示例代码,以帮助我从WAS实例提供的任何MBean获取信息 . (使用JMX)

其他详细信息:IBM WebSphere Application Server,7.0.0.0(基本安装)

先谢谢你,AJ

2 回答

  • 1

    通过查询所有服务器并检查应用程序是否在每个服务器上运行,然后查找从每个服务器获取主机,可以间接获得IP地址 . 我不确定内部版本号是否可用 . “维护”是什么意思?

    您可以从Application和J2EEApplication(JSR 88)MBean获取更多信息 . 因此,ObjectName(“WebSphere:type = Application,name = myapp”),它是特定于WebSphere的,或ObjectName(“WebSphere:type = J2EEApplication,name = myapp”) .

    您可以使用ConfigServiceProxy获取配置信息并查询getid(“/ DefaultApplication:myapp /”) . 您可以查看PROFILE_HOME / config / cells / CELL / applications / APP.ear / deployments / APP / deployment.xml以查看配置中可用的信息类型 . 您可以将其与WAS_HOME / web / configDocs /中的类型信息进行匹配,从appdeployment包开始 .

  • 0

    尝试

    String query = "WebSphere:*,mbeanIdentifier=<XXX>";
    

    mbean的标识符在哪里

相关问题