/**
* Call Mbean server for some mbeans with same domain, attributes.
* with <em>attributebinding=true</em> you can save all attributes from all found objects
* as your ant properties
* @param jmxServerConnection
* @param qry
* @return The query result
*/
protected String jmxQuery(MBeanServerConnection jmxServerConnection,
String qry) {
String isError = null;
Set<ObjectName> names = null;
String resultproperty = getResultproperty();
try {
names = jmxServerConnection.queryNames(new ObjectName(qry), null);
if (resultproperty != null) {
setProperty(resultproperty + ".Length",Integer.toString(names.size()));
}
} catch (Exception e) {
if (isEcho())
handleErrorOutput(e.getMessage());
return "Can't query mbeans " + qry;
}
if (resultproperty != null) {
Iterator<ObjectName> it = names.iterator();
int oindex = 0;
String pname = null;
while (it.hasNext()) {
ObjectName oname = it.next();
pname = resultproperty + "." + Integer.toString(oindex) + ".";
oindex++;
setProperty(pname + "Name", oname.toString());
if (isAttributebinding()) {
bindAttributes(jmxServerConnection, resultproperty, pname, oname);
}
}
}
return isError;
}
java类javax.management.MBeanServerConnection的实例源码
JMXAccessorQueryTask.java 文件源码
项目:apache-tomcat-7.0.73-with-comment
阅读 15
收藏 0
点赞 0
评论 0
JMXAccessorTask.java 文件源码
项目:lazycat
阅读 26
收藏 0
点赞 0
评论 0
/**
* Execute the specified command. This logic only performs the common
* attribute validation required by all subclasses; it does not perform any
* functional logic directly.
*
* @exception BuildException
* if a validation error occurs
*/
@Override
public void execute() throws BuildException {
if (testIfCondition() && testUnlessCondition()) {
try {
String error = null;
MBeanServerConnection jmxServerConnection = getJMXConnection();
error = jmxExecute(jmxServerConnection);
if (error != null && isFailOnError()) {
// exception should be thrown only if failOnError == true
// or error line will be logged twice
throw new BuildException(error);
}
} catch (Exception e) {
if (isFailOnError()) {
throw new BuildException(e);
} else {
handleErrorOutput(e.getMessage());
}
} finally {
closeRedirector();
}
}
}
JmxNetworkManagerTest.java 文件源码
项目:Byter
阅读 26
收藏 0
点赞 0
评论 0
/**
* Test if there are Controller and NetworkManager registered to MBeanServer
*/
@Test
public void testRegisteredObjects() throws IOException {
//connect to server
final JMXConnector connection = JmxConnectionHelper.buildJmxMPConnector(JMXSERVERIP,serverObj.getConnectorSystemPort());
//get MBeanServerConnection
MBeanServerConnection mbsConnection = JmxServerHelper.getMBeanServer(connection);
//do test
Assert.assertNotSame(0,mbsConnection.getMBeanCount()); //check if there are beans registered
//look for all standard mbeans
List<ObjectName> standardMbeans = JmxServerHelper.findObjectNames(mbsConnection,"de.b4sh.byter");
Assert.assertNotEquals(0,standardMbeans.size());
//see if there is a network manager registered to
ObjectName networkManager = null;
for(ObjectName on: standardMbeans){
if(on.getCanonicalName().contains("NetworkManager")){
networkManager = on;
}
}
Assert.assertNotNull(networkManager);
}
RMIConnector.java 文件源码
项目:openjdk-jdk10
阅读 23
收藏 0
点赞 0
评论 0
private void initTransients() {
rmbscMap = new WeakHashMap<Subject, WeakReference<MBeanServerConnection>>();
connected = false;
terminated = false;
connectionBroadcaster = new NotificationBroadcasterSupport();
}
AMXGlassfish.java 文件源码
项目:openjdk-jdk10
阅读 39
收藏 0
点赞 0
评论 0
/**
Listen for the registration of the {@link BootAMXMBean}.
Listening starts automatically. See {@link AMXBooter#BootAMXCallback}.
*/
public <T extends MBeanListener.Callback> MBeanListener<T> listenForBootAMX(
final MBeanServerConnection server,
final T callback)
{
final MBeanListener<T> listener = new MBeanListener<T>( server, getBootAMXMBeanObjectName(), callback);
listener.startListening();
return listener;
}
ReaderJmxTest.java 文件源码
项目:Byter
阅读 17
收藏 0
点赞 0
评论 0
@Test
public void t4testStartMultipleReader() throws IOException {
//create a test case file
TestCaseHelper.createTestCaseFile(testSpaceDir,"test-multi-file.test",10000,100);
//connect to client
final JMXConnector connection = getConnection();
final MBeanServerConnection mbs = getMbeanServer(connection);
final ObjectName readerObject = getReaderObjectName(mbs);
//set params
JmxClientReaderHelper.setFilePath(mbs,readerObject,testSpaceDir);
JmxClientReaderHelper.setFileName(mbs,readerObject,"test-multi-file.test");
JmxClientReaderHelper.setChunkSize(mbs,readerObject,16000);
JmxClientReaderHelper.setTakeMeasurements(mbs,readerObject,false);
JmxClientReaderHelper.setMeasurementVolume(mbs,readerObject,-1);
JmxClientReaderHelper.setReaderType(mbs,readerObject,ReaderType.rafr.getType());
JmxClientReaderHelper.startMultipleReader(mbs,readerObject,5);
ThreadManager.nap(2500);//let the reader read a bit :)
Assert.assertEquals(5,JmxClientReaderHelper.getReaderPoolSize(mbs,readerObject));
final String response = JmxClientReaderHelper.stopServicePool(mbs,readerObject);
log.log(Level.INFO, response);
}
OldMBeanServerTest.java 文件源码
项目:jdk8u-jdk
阅读 17
收藏 0
点赞 0
评论 0
private static void printAttrs(
MBeanServerConnection mbsc1, Class<? extends Exception> expectX)
throws Exception {
Set<ObjectName> names = mbsc1.queryNames(null, null);
for (ObjectName name : names) {
System.out.println(name + ":");
MBeanInfo mbi = mbsc1.getMBeanInfo(name);
MBeanAttributeInfo[] mbais = mbi.getAttributes();
for (MBeanAttributeInfo mbai : mbais) {
String attr = mbai.getName();
Object value;
try {
value = mbsc1.getAttribute(name, attr);
} catch (Exception e) {
if (expectX != null && expectX.isInstance(e))
value = "<" + e + ">";
else
throw e;
}
String s = " " + attr + " = " + value;
if (s.length() > 80)
s = s.substring(0, 77) + "...";
System.out.println(s);
}
}
}
JMXAccessorGetTask.java 文件源码
项目:lams
阅读 21
收藏 0
点赞 0
评论 0
/**
* @param jmxServerConnection
* @param name
* @return The value of the given named attribute
* @throws Exception
*/
protected String jmxGet(MBeanServerConnection jmxServerConnection,String name) throws Exception {
String error = null;
if(isEcho()) {
handleOutput("MBean " + name + " get attribute " + attribute );
}
Object result = jmxServerConnection.getAttribute(
new ObjectName(name), attribute);
if (result != null) {
echoResult(attribute,result);
createProperty(result);
} else
error = "Attribute " + attribute + " is empty";
return error;
}
MXBeanInteropTest1.java 文件源码
项目:jdk8u-jdk
阅读 34
收藏 0
点赞 0
评论 0
private final int doCompilationMXBeanTest(MBeanServerConnection mbsc) {
int errorCount = 0 ;
System.out.println("---- CompilationMXBean") ;
try {
ObjectName compilationName =
new ObjectName(ManagementFactory.COMPILATION_MXBEAN_NAME);
if ( mbsc.isRegistered(compilationName) ) {
MBeanInfo mbInfo = mbsc.getMBeanInfo(compilationName);
errorCount += checkNonEmpty(mbInfo);
System.out.println("getMBeanInfo\t\t" + mbInfo);
CompilationMXBean compilation = null ;
compilation =
JMX.newMXBeanProxy(mbsc,
compilationName,
CompilationMXBean.class) ;
System.out.println("getName\t\t"
+ compilation.getName());
boolean supported =
compilation.isCompilationTimeMonitoringSupported() ;
System.out.println("isCompilationTimeMonitoringSupported\t\t"
+ supported);
if ( supported ) {
System.out.println("getTotalCompilationTime\t\t"
+ compilation.getTotalCompilationTime());
}
}
System.out.println("---- OK\n") ;
} catch (Exception e) {
Utils.printThrowable(e, true) ;
errorCount++ ;
System.out.println("---- ERROR\n") ;
}
return errorCount ;
}
JMXAccessorTask.java 文件源码
项目:lams
阅读 26
收藏 0
点赞 0
评论 0
/**
* Execute the specified command. This logic only performs the common
* attribute validation required by all subclasses; it does not perform any
* functional logic directly.
*
* @exception BuildException
* if a validation error occurs
*/
public void execute() throws BuildException {
if (testIfCondition() && testUnlessCondition()) {
try {
String error = null;
MBeanServerConnection jmxServerConnection = getJMXConnection();
error = jmxExecute(jmxServerConnection);
if (error != null && isFailOnError()) {
// exception should be thrown only if failOnError == true
// or error line will be logged twice
throw new BuildException(error);
}
} catch (Throwable t) {
if (isFailOnError()) {
throw new BuildException(t);
} else {
handleErrorOutput(t.getMessage());
}
} finally {
closeRedirector();
}
}
}