AttachApiConnector.java 文件源码

java
阅读 23 收藏 0 点赞 0 评论 0

项目:datadog-jmx-collector 作者:
@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 );
    }
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号