当前位置: 首页 > 知识库问答 >
问题:

为WebSphere 7.0.0.11创建管理客户端时出错

戚俊健
2023-03-14

我需要研发用于管理WebSphere Application Server v7.0.0.11的App。我探索了一下,发现我们可以使用Mbean。实际上,我需要创建类似于Web-phere的Web控制台的东西。

我的问题是应用程序应该用C#。那么有没有连接器/适配器来调用web-sphere的管理API呢?请给我指出正确的方向。

我是一个C#. net开发人员,完全是java/webphere的新手,我尝试使用 /Webshpere/Cimrepos目录中找到的包从IBM站点创建管理客户端示例。Jar文件的名称是com.ibm.wplc.was_7.0.0.11. jar我在同一个文件夹中解压缩了该jar文件。

所以现在My App启动了,成功连接到webphere并在nodeAgent上找到mbean。我在调用mbean时遇到的问题。我收到了以下错误消息。

调用launchProcess:javax.management的异常。ReflectionException:未找到com.ibm.ws.management.nodeagent.nodeagent.launchProcess目标方法

我正在使用以下url获取mbean列表

http://pic.dhe.ibm.com/infocenter/wasinfo/v7r0/index.jsp?topic=/com.ibm.websphere.javadoc.doc/web/mbeanDocs/index.html

我尝试使用来自nodeAgent mbean的不同方法,但没有成功,我总是收到相同的异常“方法未找到”。

以下是为调用启动进程而截取的代码

private void invokeLaunchProcess(String serverName)  
    {  
        // Use the launchProcess operation on the NodeAgent MBean to start  
        // the given server  
        String opName = "launchProcess";  
        String signature[] = { "java.lang.String" };  
        String params[] = { serverName };  
        boolean launched = false;  
        try  
        {  
            Boolean b = (Boolean)adminClient.invoke(nodeAgent, opName, params, null);  
            launched = b.booleanValue();  
            if (launched)  
                System.out.println(serverName + " was launched");  
            else  
                System.out.println(serverName + " was not launched");  

        }  
        catch (Exception e)  
        {  
            System.out.println("Exception invoking launchProcess: " + e);  
        }  
    }

完整的代码可以在下面的链接中找到

http://pic.dhe.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic=/com.ibm.websphere.express.doc/info/exp/ae/tjmx_develop.html

请告诉我我做错了什么,我需要包含其他包吗?我浏览了com.ibm.wplc.was_7.0.0.11. jar,在com\ibm\ws\managemnt中没有任何名为nodeagent的文件夹。我在Appserver\runtimes库中找到了相同的jar文件。

任何帮助都非常感谢,提前致谢。

获取Mbean

private void getNodeAgentMBean(String nodeName)
    {
        // Query for the ObjectName of the NodeAgent MBean on the given node
        try
        {
            String query = "WebSphere:type=NodeAgent,node=" + nodeName + ",*";
            ObjectName queryName = new ObjectName(query);
            Set s = adminClient.queryNames(queryName, null);
            if (!s.isEmpty())
                nodeAgent = (ObjectName)s.iterator().next();
            else
            {
                System.out.println("Node agent MBean was not found");
                System.exit(-1);
            }
        }
        catch (MalformedObjectNameException e)
        {
            System.out.println(e);
            System.exit(-1);
        }
        catch (ConnectorException e)
        {
            System.out.println(e);
            System.exit(-1);
        }catch (Exception e){
            e.printStackTrace();
            System.exit(-1);
        }

        System.out.println("Found NodeAgent MBean for node " + nodeName);
    }

共有1个答案

臧翰采
2023-03-14

似乎我的问题是adminClient.invoke方法没有正确传递参数。有了正确的参数后,它得到了修复。如果有人有同样的问题,我希望这有所帮助。

 类似资料:
  • 我对BigQuery世界还不熟悉。。。我使用的是python google。云包和我只需要在BigQuery表上运行Python查询并打印结果。这是创建查询作业的查询函数的一部分。 如果我多次运行test()函数,我会得到错误: 由于我必须多次运行test()函数,我是否每次都必须删除名为“test job”的作业,还是每次都必须分配一个新作业名称(例如,随机名称或基于日期时间的名称)?

  • 创建客户端有两种方式,一种是直接使用特化的构造器函数,另一种是使用工厂构造器函数。 第一种方式返回的是具体的客户端结构体指针对象,第二种方式返回的是客户端接口对象。 使用特化的构造器函数创建客户端 特化的构造器函数有下面几个: func NewHTTPClient(uri ...string) (client *HTTPClient) func NewTCPClient(uri ...string

  • The AdminClient API supports managing and inspecting topics, brokers, acls, and other Kafka objects. To use the AdminClient API, add the following Maven dependency: <dependency>     <groupId>org.apac

  • 我试图将Spring Boot应用程序配置为管理客户端,但在设置以下依赖项后无法构建: 我不知道为什么它有两个相同的RestTemplateBuilder... 如何解决这个问题?

  • 我是java和web服务以及的新手。我最近使用一些教程创建了一个web服务。当我第一次学习eclipse教程时,让我创建一个客户机。但是当我尝试创建一个新项目和一个新的web服务客户机时,它会给出。具体如下所示: im使用Axis2-1.6.1,它说java遵从性级别是6,我搜索了一下,但是找不到解决这个问题的相关方案。感谢任何帮助。

  • 使用keycloak rest API创建以下内容。 试图为使用KeyCloak的应用程序编写完全自动化的CI解决方案。我在测试期间自动重新创建k8s中的keycloak服务器,以100%确保所有内容都是相同的。 目前使用KeyCloak5。 但是我无法将我的新用户分配给客户机-角色领域-管理中的所有角色。我试图阅读api文档,但我找不到如何执行该命令。