1 23 24 package com.sun.enterprise.cli.commands; 25 26 import com.sun.enterprise.cli.framework.*; 27 import javax.management.Attribute ; 28 import javax.management.AttributeList ; 29 import javax.management.remote.JMXServiceURL ; 30 import javax.management.remote.JMXConnector ; 31 import javax.management.remote.JMXConnectorFactory ; 32 import javax.management.MBeanServerConnection ; 33 import javax.management.ObjectName ; 34 import javax.management.MalformedObjectNameException ; 35 import javax.management.InstanceNotFoundException ; 36 import javax.management.IntrospectionException ; 37 import javax.management.ReflectionException ; 38 39 import java.util.Vector ; 40 import java.net.MalformedURLException ; 41 import java.io.IOException ; 42 import java.util.StringTokenizer ; 43 44 48 public class GenericCommand extends S1ASCommand 49 { 50 51 58 public boolean validateOptions() throws CommandValidationException 59 { 60 return super.validateOptions(); 61 } 62 63 67 public void runCommand() throws CommandException, CommandValidationException 68 { 69 if (!validateOptions()) 70 throw new CommandValidationException("Validation is false"); 71 MBeanServerConnection mbsc = getMBeanServerConnection(getHost(), getPort(), 73 getUser(), getPassword()); 74 final String objectName = getObjectName(); 75 final Object [] params = getParamsInfo(); 76 final String operationName = getOperationName(); 77 final String [] types = getTypesInfo(); 78 79 try 80 { 81 Object returnValue = mbsc.invoke(new ObjectName (objectName), 83 operationName, params, types); 84 handleReturnValue(returnValue); 85 CLILogger.getInstance().printDetailMessage(getLocalizedString( 86 "CommandSuccessful", 87 new Object [] {name})); 88 } 89 catch(Exception e) 90 { 91 displayExceptionMessage(e); 92 } 93 } 94 95 96 private void printDebug(MBeanServerConnection mbsc, String objectName) 97 throws Exception  98 { 99 CLILogger.getInstance().printDebugMessage("********** queryNames **********"); 100 CLILogger.getInstance().printDebugMessage("LIST OF ALL REGISTERED MBEANS:"); 101 final java.util.Set allMBeans = mbsc.queryNames( null, null); 102 int jj=1; 103 for (java.util.Iterator ii = allMBeans.iterator(); ii.hasNext(); ) { 104 ObjectName name = (ObjectName ) ii.next(); 105 CLILogger.getInstance().printDebugMessage("("+ jj++ + ") " + name.toString()); 106 } 107 108 109 CLILogger.getInstance().printDebugMessage("********** getMBeanInfo **********"); 110 final javax.management.MBeanInfo mbinfo = mbsc.getMBeanInfo(new ObjectName (objectName)); 111 CLILogger.getInstance().printDebugMessage("Description = " + mbinfo.getDescription()); 112 CLILogger.getInstance().printDebugMessage("Classname = " + mbinfo.getClassName()); 113 final javax.management.MBeanOperationInfo [] mboinfo = mbinfo.getOperations(); 114 for (int ii=0; ii<mboinfo.length; ii++) 115 { 116 CLILogger.getInstance().printDebugMessage("("+ii+") Description = " + 117 mboinfo[ii].getDescription()); 118 CLILogger.getInstance().printDebugMessage("("+ii+") Name = " + 119 mboinfo[ii].getName()); 120 } 121 122 } 123 124 } 125 | Popular Tags |