0

WebSphere ApplicationServerv7.0.0.11を管理するためのアプリケーションを開発する必要があります。少し調べてみると、Mbeansを使用できることがわかりました。実際、Web-sphereのWebコンソールに似たものを作成する必要があります。

私の問題は、アプリケーションがC#.netにある必要があるため、web-sphereの管理APIを呼び出すためのコネクタ/アダプタがあることです。私を正しい方向に向けてください。

私はC#.net開発者であり、java /websphereの初心者です。IBM/Webshpere/Cimreposディレクトリにあるパッケージを使用してIBMサイトからAdminClientExampleを作成してみました。Jarファイルの名前はcom.ibm.wplc.was_7.0.0.11.jar、同じフォルダーにあるそのjarファイルを解凍したものです。

これで、マイアプリが起動し、websphereに正常に接続し、nodeAgentでmbeanを検出します。mbeanを呼び出すときに直面している問題。次のエラーメッセージが表示されます。

exception invoking launchProcess : javax.management.ReflectionExcetion: Target Method not found com.ibm.ws.management.nodeagent.NodeAgent.launchProcess

mbeanのリストに次のURLを使用しています

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

nodeAgent mbeanとは異なるメソッドを使用しようとしましたが、喜びはありません。常に同じ例外「メソッドが見つかりません」が発生します。

以下は、launchprocessを呼び出すために切り取られたコードです

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=%2Fcom.ibm.websphere.express.doc%2Finfo%2Fexp%2Fae%2Ftjmx_develop.html

私が間違っていることを教えてください、他のパッケージを含める必要がありますか?閲覧com.ibm.wplc.was_7.0.0.11.jarしましたが、nodeagentという名前のフォルダはありませんcom\ibm\ws\managemnt。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);
    }
4

1 に答える 1

0

私の問題は、adminClient.invokeメソッドにあり、パラメーターを正しく渡していないようです。正しいパラメータを設定した後、修正されました。誰かが同じ問題を抱えている場合、これが役立つことを願っています。

于 2012-10-16T13:22:37.750 に答える