@Override
public JmxConnection connect() {
try {
com.sun.tools.attach.VirtualMachine vm = com.sun.tools.attach.VirtualMachine.attach( descriptor );
Stopwatch sw = Stopwatch.createStarted();
// TODO - timeout
// https://community.oracle.com/blogs/emcmanus/2007/05/23/making-jmx-connection-timeout
JMXServiceURL jmxUrl = JmxUtils.determineServiceUrl( vm );
logger.info( "Connecting to JVM {} via {}", descriptor, jmxUrl );
JMXConnector connector = JMXConnectorFactory.connect( jmxUrl );
final MBeanServerConnection mbeanServerConnection = connector.getMBeanServerConnection();
sw.stop();
logger.info( "Connected to '{}' in {}ms", descriptor, sw.elapsed( TimeUnit.MILLISECONDS ) );
return new JmxConnection( connector, mbeanServerConnection, createConnectionMetaData( vm ) );
} catch( Exception e ) {
throw Throwables.propagate( e );
}
}
AttachApiConnector.java 文件源码
java
阅读 23
收藏 0
点赞 0
评论 0
项目:datadog-jmx-collector
作者:
评论列表
文章目录