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

Programação do Cliente PMI do Recurso de Particionamento

Esta seção descreve como assinar estatísticas de PMI do recurso de particionamento (WPF). Para obter informações adicionais que descrevem como ativar esta infra-estrutura, consulte a seção de gerenciamento. Para incluir reportTransactionComplete(…) no seu aplicativo, consulte a seção de programação do PSSB (Partitioned Stateless Session Bean).

Assinar Estatísticas de PMI do Recurso de Particionamento Utilizando o MBean WPFJMX

Em vez de utilizar a ferramenta wpfadmin, você também pode utilizar WPFJMX MBean para assinar o PMI do recurso de particionamento. A seguinte seção descreve as maneiras de se obter a instância MBean.

Assinar Estatísticas de PMI do Recurso de Particionamento Utilizando Código Java

Aqui está um exemplo de como assinar e cancelar a assinatura de estatísticas de PMI do recurso de particionamento utilizando o código Java. Você pode modificá-las para alterar tipos de estatísticas, intervalos 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;

/**
 * Cria uma entrada com escopo de nó em resource.xml
 para uma origem de dados XA de DB2.
 * A origem de dados criada é para uso de CMP.
 * 
 * Você precisa do seguinte para execução com o caminho de classe
 * $WAS_HOME\lib\admin.jar;
 * $WAS_HOME\lib\wasjmx.jar;
 * $WAS_HOME\lib\wasx.jar
 */
public class PMIJMXSample {

    /**
     * método Main.
     * arg[0] é o tipo de conexão, como SOAP.
     * arg[1] é o host da conexão, como host local.
     * arg[2] é a porta de conexões, como 8879
     * arg[3] é o processo opcional. O padrão é Deployment Manager
     */
    	  public static void main(String[] args)
        throws
            MalformedObjectNameException,
            ConnectorException,
            MBeanException,
            ReflectionException,
            InstanceNotFoundException {

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

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

        // chamar o 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 };

        // chamar o método unsubscribeWPFPMI

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

    }

}

Assinar Estatísticas de PMI do Recurso de Particionamento Utilizando Código Jacl

Os usuários podem gravar um script jacl e, em seguida, utilizar wsamdin -f JACL_FILE para assinar estatísticas de PMI do recurso de particionamento. O seguinte mostra um exemplo de Jacl de assinatura e cancelamento de assinatura de PMI do recurso de particionamento:
# Script Jacl para mostrar como assinar e cancelar assinatura da PMI do WPF

# 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

Assinar Estatísticas de PMI do Recurso de Particionamento Utilizando Código Jython

Os usuários podem gravar um script jython e, em seguida, utilizar wsamdin -lang jython -f JYTHON_FILE para assinar estatísticas de PMI do recurso de particionamento. A seguir há um exemplo de jython de assinatura e cancelamento de assinatura do PMI do recurso de particionamento.
# Script Jython para mostrar como assinar e cancelar assinatura da PMI do 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")

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

# unsubscribe WPF PMI
wpf.unsubscribeWPFPMI(id)



Related concepts
Programação do Recurso de Particionamento

Tópico de Referência    

Termos de Uso | Feedback Última atualização: Mar 21, 2006 12:52:01 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. Todos os Direitos Reservados.
Este centro de informações é desenvolvido em tecnologia Eclipse. (http://www.eclipse.org)