Lines 23-28
Link Here
|
23 |
import java.io.PrintWriter; |
23 |
import java.io.PrintWriter; |
24 |
import java.util.Iterator; |
24 |
import java.util.Iterator; |
25 |
import java.util.Set; |
25 |
import java.util.Set; |
|
|
26 |
|
27 |
import javax.management.MBeanOperationInfo; |
28 |
import javax.management.MBeanParameterInfo; |
26 |
import javax.management.MBeanServer; |
29 |
import javax.management.MBeanServer; |
27 |
import javax.management.ObjectName; |
30 |
import javax.management.ObjectName; |
28 |
import javax.management.MBeanInfo; |
31 |
import javax.management.MBeanInfo; |
Lines 98-108
Link Here
|
98 |
getAttribute( writer, qry, name ); |
101 |
getAttribute( writer, qry, name ); |
99 |
return; |
102 |
return; |
100 |
} |
103 |
} |
|
|
104 |
qry=request.getParameter("invoke"); |
105 |
if( qry!= null ) { |
106 |
String opName=request.getParameter("op"); |
107 |
String[] valuesStr=request.getParameter("ps").split(","); |
108 |
invokeOperation( writer, qry, opName,valuesStr ); |
109 |
return; |
110 |
} |
101 |
qry=request.getParameter("qry"); |
111 |
qry=request.getParameter("qry"); |
102 |
if( qry == null ) { |
112 |
if( qry == null ) { |
103 |
qry = "*:*"; |
113 |
qry = "*:*"; |
104 |
} |
114 |
} |
Lines 191-196
Link Here
|
191 |
} |
200 |
} |
192 |
|
201 |
|
193 |
} |
202 |
} |
|
|
203 |
|
204 |
public void invokeOperation(PrintWriter writer, String onameStr, String op, String[] valuesStr) |
205 |
{ |
206 |
try { |
207 |
ObjectName oname=new ObjectName( onameStr ); |
208 |
MBeanOperationInfo methodInfo = registry.getMethodInfo(oname,op); |
209 |
MBeanParameterInfo[] signature = methodInfo.getSignature(); |
210 |
String[] signatureTypes = new String[signature.length]; |
211 |
Object[] values = new Object[signature.length]; |
212 |
for (int i = 0; i < signature.length; i++) { |
213 |
MBeanParameterInfo pi = signature[i]; |
214 |
signatureTypes[i] = pi.getType(); |
215 |
values[i] = registry.convertValue(pi.getType(), valuesStr[i] ); |
216 |
} |
217 |
|
218 |
Object retVal = mBeanServer.invoke(oname,op,values,signatureTypes); |
219 |
writer.println("OK - Operation " + op + " returned " + retVal); |
220 |
} catch( Exception ex ) { |
221 |
writer.println("Error - " + ex.toString()); |
222 |
} |
223 |
} |
194 |
|
224 |
|
195 |
public String escape(String value) { |
225 |
public String escape(String value) { |
196 |
// The only invalid char is \n |
226 |
// The only invalid char is \n |