WebSphere Extended Deployment, Version 6.0.x     운영 체제: AIX, HP-UX, Linux, Solaris, Windows

파티션 기능 PMI 클라이언트 프로그래밍

이 섹션에서는 파티션 기능(WPF) PMI 통계에 등록하는 방법을 설명합니다. 이 하부 구조를 사용 가능하게 하는 방법을 설명하는 추가 정보는 관리 절을 참조하십시오. 응용프로그램에 reportTransactionComplete(…)를 포함시키려면 PSSB(Partitioned Stateless Session Bean) 프로그래밍 섹션을 참조하십시오.

WPFJMX MBean을 사용하여 파티션 기능 PMI 통계 등록

wpfadmin 도구를 사용하는 대신 WPFJMX MBean을 사용하여 파티션 기능 PMI를 등록할 수도 있습니다. 다음 섹션에서는 MBean 인스턴스를 확보하는 방법을 설명합니다.

Java 코드를 사용하여 파티션 기능 PMI 통계 등록

다음은 Java 코드를 사용하여 파티션 기능 PMI 통계를 등록 및 등록 취소하는 방법에 대한 예입니다. 통계 유형, 범위 등을 변경하도록 해당 통계를 수정할 수 있습니다.
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;

/**
 * Creates a node scoped resource.xml entry for a DB2 XA datasource.
 * The datasource created is for CMP use.
 * 
 * You need following to run with the classpath 
 * $WAS_HOME\lib\admin.jar;
 * $WAS_HOME\lib\wasjmx.jar;
 * $WAS_HOME\lib\wasx.jar
 */
public class PMIJMXSample {

    /**
     * Main method.
     * arg[0] is the connection type, such as SOAP.
     * arg[1] is the connection host, such as localhost.
     * arg[2] is the connections port, such as 8879
     * arg[3] is the optional process. Default is Deployment Manager
     */
    public static void main(String[] args)
        throws
            MalformedObjectNameException,
            ConnectorException,
            MBeanException,
            ReflectionException,
            InstanceNotFoundException {

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

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

        // invoke the subscribeWPFPMI method
        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 };

        // invoke the unsubscribeWPFPMI method

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

    }

}

Jacl 코드를 사용하여 파티션 기능 PMI 통계 등록

사용자는 jacl 스크립트를 작성한 다음 wsamdin –f JACL_FILE을 사용하여 파티션 기능 PMI 통계에 등록할 수 있습니다. 다음은 파티션 기능 PMI를 등록 및 등록 취소하는 Jacl에 대한 예입니다.
# Jacl script to show how to subscribe and unsubscribe WPF PMI

# 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

Jython 코드를 사용하여 파티션 기능 PMI 통계 등록

사용자는 jython 스크립트를 작성한 다음 wsamdin –lang jython –f JYTHON_FILE을 사용하여 파티션 기능 PMI 통계에 등록할 수 있습니다. 다음은 파티션 기능 PMI를 등록 및 등록 취소하는 Jython에 대한 예입니다.
# Jython script to show how to subscribe and unsubscribe WPF PMI

# 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
파티션 기능 프로그래밍

참조 주제:    

이용 약관 | 피드백 마지막 갱신 날짜: Mar 21, 2006 11:38:53 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. All Rights Reserved.
이 Information Center는 Eclipse 테크놀러지로 강화되었습니다. (http://www.eclipse.org)