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

Programación de clientes PMI de Partitioning Facility

En esta sección se describe cómo suscribirse a las estadísticas PMI de WPF (WebSphere Partitioning Facility). Si desea obtener más información sobre cómo habilitar esta infraestructura, consulte la sección de gestión. Para incluir reportTransactionComplete(…) en la aplicación, consulte la sección de programación de beans de sesión sin estado particionados (PSSB).

Suscripción a estadísticas PMI de Partitioning Facility utilizando el MBean WPFJMX

En lugar de utilizar la herramienta wpfadmin, también se puede utilizar el MBean WPFJMX para suscribirse a PMI de Partitioning Facility. En la siguiente sección se describen varias formas de obtener la instancia de MBean.

Suscripción a estadísticas PMI de Partitioning Facility utilizando código Java

A continuación se proporciona un ejemplo de cómo suscribirse y anular la suscripción de estadísticas PMI de Partitioning Facility utilizando código Java. Puede modificarlos para cambiar tipos de estadística, rangos, etc.
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;

/**
 * Crea una entrada resource.xml con un ámbito de nodo para un origen de datos
 * DB2 XA.
 * El origen de datos creado está especialmente indicado para CMP.
 * 
 * Necesita lo siguiente para ejecutarse con la classpath
 * $WAS_HOME\lib\admin.jar;
 * $WAS_HOME\lib\wasjmx.jar;
 * $WAS_HOME\lib\wasx.jar
 */
public class PMIJMXSample {

    /**
     * Método principal.
     * arg[0] es el tipo de conexión, por ejemplo, SOAP.
     * arg[1] es el sistema principal de la conexión, por ejemplo, localhost.
     * arg[2] es el puerto de la conexión, por ejemplo, 8879
     * arg[3] es el proceso opcional. El valor por omisión es Deployment Manager
     */
    public static void main(String[] args)
        throws
            MalformedObjectNameException,
            ConnectorException,
            MBeanException,
            ReflectionException,
            InstanceNotFoundException {

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

        // Inicializar el AdminClient.
        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)};

        // invocar el método subscribeWPFPMI
        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 };

        // invocar el método unsubscribeWPFPMI

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

    }

}

Suscripción a estadísticas PMI de Partitioning Facility utilizando código Jacl

Los usuarios pueden escribir un script jacl y, a continuación, utilizar wsamdin –f JACL_FILE para suscribirse a las estadísticas PMI de Partitioning Facility. A continuación se muestra un ejemplo Jacl de suscripción y anulación de la suscripción de PMI de Partitioning Facility:
# Script Jacl donde se muestra cómo suscribirse y anular la suscripción de PMI
WPF

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

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

# anular suscripción de WPF PMI
$AdminControl invoke $wpf unsubscribeWPFPMI $id

Suscripción a estadísticas PMI de Partitioning Facility utilizando código Jython

Los usuarios pueden escribir un script jython y, a continuación, utilizar wsamdin –lang jython –f JYTHON_FILE para suscribirse a las estadísticas PMI de Partitioning Facility. A continuación se muestra un ejemplo jython de suscripción y anulación de la suscripción de PMI de Partitioning Facility.
# Script Jython donde se muestra cómo suscribirse y anular la suscripción de
PMI WPF

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

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

# anular suscripción de WPF PMI
wpf.unsubscribeWPFPMI(id)



Related concepts
Programación de Partitioning Facility

Tema de referencia    

Condiciones de uso | Comentarios Última actualización: Mar 14, 2006 11:07:33 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. Reservados todos los derechos.
Este centro de información se ha realizado con tecnología de Eclipse. (http://www.eclipse.org)