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

Programmazione del client PMI dell'utilità di partizione

In questa sezione viene descritto come registrarsi alle statistiche PMI dell'utilità di partizione (WPF). Per ulteriori informazioni su come abilitare questa infrastruttura, fare riferimento alla sezione di gestione. Per includere reportTransactionComplete(…) nell'applicazione, fare riferimento alla sezione di programmazione PSSB (partitioned stateless session bean).

Registrazione alle statistiche PMI dell'utilità di partizione mediante l'MBean WPFJMX

Invece di utilizzare lo strumento wpfadmin, è possibile utilizzare l'MBean WPFJMX per registrare l'PMI dell'utilità di partizione. Nella seguente sezione vengono descritti i diversi modi per ottenere l'istanza MBean.

Registrazione alle statistiche PMI dell'utilità di partizione mediante il codice Java

Di seguito è riportato un esempio di come registrare e annullare la registrazione delle statistiche PMI dell'utilità di partizione utilizzando il codice Java. È possibile modificare le registrazioni per modificare statistiche, tipi, intervalli e così via.
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 voce resource.xml, nell'ambito di un nodo, per un'origine dati DB2 XA.
 * L'origine dati creata è per un uso CMP.
 * 
 * I seguenti file sono necessari per eseguire la classpath 
 * $WAS_HOME\lib\admin.jar;
 * $WAS_HOME\lib\wasjmx.jar;
 * $WAS_HOME\lib\wasx.jar
 */
public class PMIJMXSample {

    /**
     * Metodo principale.
     * arg[0] è il tipo di connessione, come SOAP.
     * arg[1] è l'host di connessione, come localhost.
     * arg[2] è la porta delle connessioni, come 8879
     * arg[3] è il processo facoltativo. Il processo predefinito è Deployment Manager
     */
    public static void main(String[] args)
        throws
            MalformedObjectNameException,
            ConnectorException,
            MBeanException,
            ReflectionException,
            InstanceNotFoundException {

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

        // Inizializzare 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)};

        // richiamare il metodo 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 };

        // richiamare il metodo unsubscribeWPFPMI

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

    }

}

Registrazione alle statistiche PMI dell'utilità di partizione mediante il codice Jacl

Gli utenti possono scrivere uno script jacl e utilizzare quindi il comando wsamdin –f JACL_FILE per sottoscrivere le statistiche PMI dell'utilità di partizione. Il seguente codice mostra un esempio Jacl che registra e annulla la registrazione della PMI dell'utilità di partizione:
# Script Jacl che mostra come registrare e annullare la registrazione a PMI WPF

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

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

# annulla la registrazione a PMI WPF
$AdminControl invoke $wpf unsubscribeWPFPMI $id

Registrazione alle statistiche PMI dell'utilità di partizione mediante il codice Jython

Gli utenti possono scrivere uno script jython e utilizzare quindi il comando wsamdin -lang jython –f JYTHON_FILE per sottoscrivere le statistiche PMI dell'utilità di partizione. Il seguente codice mostra un esempio jython che registra e annulla la registrazione della PMI dell'utilità di partizione.
# Script Jython che mostra come registrare e annullare la registrazione a PMI WPF

# 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")

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

# annulla la registrazione a PMI WPF
wpf.unsubscribeWPFPMI(id)



Related concepts
Programmazione per l'utilità di partizione

Argomento Riferimenti    

Termini di utilizzo | Commenti Ultimo aggiornamento: Mar 20, 2006 1:10:47 PM 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. Tutti i diritti riservati.
Questo centro informazioni utilizza la tecnologia Eclipse. (http://www.eclipse.org)