WebSphere Extended Deployment, Version 6.0.x     Betriebssysteme: AIX, HP-UX, Linux, Solaris, Windows

Programmierung mit dem PMI-Client des Partitionierungs-Feature

Dieser Abschnitt beschreibt, wie Sie WPF-PMI-Statistiken subskribieren. Nähere Informationen zum Aktivieren dieser Infrastruktur finden Sie im Abschnitt zur Verwaltung. Wie Sie die Methode reportTransactionComplete(...) in Ihre Anwendung einbinden, wird im Abschnitt zur Programmierung von PSSBs beschrieben.

WPF-PMI-Statistiken mit der MBean WPFJMX subskribieren

WPF PMI kann nicht nur mit dem Tool wpfadmin, sondern auch mit der MBean WPFJMX subskribiert werden. Der folgende Abschnitt beschreibt die verschiedenen Möglichkeiten zum Abrufen der MBean-Instanz.

WPF-PMI-Statistiken mit Java-Code subskribieren

Das folgende Beispiel beschreibt, wie Sie WPF-PMI-Statistiken mit Java-Code subskribieren und abbestellen. Sie können dieses Beispiel bearbeiten, um Statistiktyp, Statistikbereich usw. zu ändern.
package com.ibm.websphere.wpf.jmx;

import java.util.Properties; 
import java.util.Set;

import javax.management.InstanceNotFoundException;
import javax.management.MBeanException;
import javax.management.MalformedObjectNameException;
import javax.management.ObjectName;
import javax.management.ReflectionException;

import com.ibm.websphere.management.AdminClient;
import com.ibm.websphere.management.AdminClientFactory;
import com.ibm.websphere.management.exception.ConnectorException;

/**
 * Erstellt einen für den Knoten gültigen resource.xml-Eintrag für eine DB2-XA-Datenquelle.
 * Die erstellte Datenquelle soll für CMP verwendet werden.
 * 
 * Folgendes muss im Klassenpfad enthalten sein:
 * $WAS_HOME\lib\admin.jar;
 * $WAS_HOME\lib\wasjmx.jar;
 * $WAS_HOME\lib\wasx.jar
 */
public class PMIJMXSample {

    /**
     * Hauptmethode (main)
     * arg[0] ist der Verbindungstyp, z. B. SOAP.
     * arg[1] ist der Verbindungshost, z. B. localhost.
     * arg[2] ist der Verbindungs-Port, z. B. 8879
     * arg[3] ist der optionale Prozess. Der Standardprozess ist der Deployment Manager.
     */
    public static void main(String[] args)
        throws
            MalformedObjectNameException,
            ConnectorException,
            MBeanException,
            ReflectionException,
            InstanceNotFoundException {

        System.out.println("Sample starts");

        // Den AdminClient initialisieren.
        String connectorType = args[0];
        String connectorHost = args[1];
        String connectorPort = args[2];

        String jmxServer = "Deployment Manager";
        if (args.length >= 4) {
            jmxServer = args[3];
        }

        Properties adminProps = new Properties();
        adminProps.setProperty(AdminClient.CONNECTOR_TYPE, connectorType);
        adminProps.setProperty(AdminClient.CONNECTOR_HOST, connectorHost);
        adminProps.setProperty(AdminClient.CONNECTOR_PORT, connectorPort);
        AdminClient adminClient = AdminClientFactory.createAdminClient(adminProps);

        ObjectName queryName = new ObjectName("WebSphere:type=WPF,process=" 
        + jmxServer + ",*");

        ObjectName wpfJMX = null;
        Set s = adminClient.queryNames(queryName, null);
        if (!s.isEmpty()) {
            wpfJMX = (ObjectName) s.iterator().next();
        }
        else {
            System.out.println("WPF JMX MBean was not found");
            System.exit (0);
        }

        String subscribeWPFPMIName = "subscribeWPFPMI";
        String[] subscribeSignatures =
            new String[] {
                "java.lang.String",
                "java.lang.String",
                "java.lang.Integer",
                "java.lang.Integer",
                "java.lang.Integer",
                "java.lang.Integer" };
        Object[] subscribeParams =
            new Object[] {
                "WPFKeyBasedPartitionSample",
                "WPFKeyBasedPartition",
                new Integer(0),
                new Integer(1),
                new Integer(5),
                new Integer(60000)};

        // Methode subscribeWPFPMI aufrufen
        Long id = (Long) adminClient.invoke(wpfJMX, subscribeWPFPMIName, 
        subscribeParams, subscribeSignatures);

        System.out.println("Subscription ID is " + id);

        String unsubscribeWPFPMIName = "unsubscribeWPFPMI";
        String[] unsubscribeSignatures = new String[] { "java.lang.Long" };
        Object[] unsubscribeParams = new Object[] { id };

        // Methode unsubscribeWPFPMI aufrufen

        adminClient.invoke(wpfJMX, unsubscribeWPFPMIName, unsubscribeParams, 
        unsubscribeSignatures);

    }

}

WPF-PMI-Statistiken mit Jacl-Code subskribieren

Sie können ein Jacl-Script schreiben und anschließend mit dem Befehl wsamdin –f JACL_FILE WPF-PMI-Statistiken subskribieren. Das folgende Jacl-Beispiel veranschaulicht, wie Sie WPF PMI subskribieren und abbestellen:
# Jacl-Script, das zeigt, wie WPF PMI subskribiert und abbestellt wird

# get WPF Mbean
set wpf [lindex [$AdminControl queryNames "type=WPF,process=Deployment Manager,*"] 
0]puts $wpf

# subscribe WPF PMI
set id [$AdminControl invoke $wpf subscribeWPFPMI "WPFKeyBasedPartitionSample 
WPFKeyBasedPartition 0 1 5 60000"]
puts $id		

# unsubscribe WPF PMI
$AdminControl invoke $wpf unsubscribeWPFPMI $id

WPF-PMI-Statistiken mit Jython-Code subskribieren

Sie können ein Jython-Script schreiben und anschließend mit dem Befehl wsamdin –lang jython –f JYTHON_FILE WPF-PMI-Statistiken subskribieren. Das folgende Jython-Beispiel veranschaulicht, wie Sie WPF PMI subskribieren und abbestellen.
# Jython-Script, das zeigt, wie WPF PMI subskribiert und abbestellt wird

# get WPF Mbean
strObjectName=AdminControl.queryNames("type=WPF,process=Deployment Manager,*")
objectName = AdminControl.makeObjectName(strObjectName)
wpf = TypedProxy.makeProxy(AdminControl, objectName, 
"com.ibm.websphere.wpf.jmx.WPFJMX")

# subscribe WPF PMI
id = wpf.subscribeWPFPMI("WPFKeyBasedPartitionSample", "WPFKeyBasedPartition",
0, 1, 5, 60000)
print id		

# unsubscribe WPF PMI
wpf.unsubscribeWPFPMI(id)



Related concepts
Programmierumgebung des Partitionierungs-Feature

Referenzartikel    

Nutzungsbedingungen | Feedback Letzte Aktualisierung: Mar 23, 2006 9:57:42 AM EST
http://publib.boulder.ibm.com/infocenter/wxdinfo/v6r0/index.jsp?topic=?topic=/com.ibm.websphere.xd.doc/info/WPF51/rwpfclientprog.html

© Copyright IBM 2005, 2006. Alle Rechte vorbehalten.
Dieses Information Center beruht auf der Eclipse-Technologie. (http://www.eclipse.org)