JAVA远程监控调试线上服务器

查阅网上很多资料,最后还是解决了,网上的远程基本是局域网内操作
我的项目是springboot 项目,其他项目也是类似,

贴出自动配置

@Configuration
public class ConfigureRMI {

    //这里我配置外网ip会报错,所以这里先配置127,启动就带参启动解决这个问题
    private String rmiHost="127.0.0.1";

    private Integer rmiPort=28080;

    @Bean
    public RmiRegistryFactoryBean rmiRegistry() {
        final RmiRegistryFactoryBean rmiRegistryFactoryBean = new RmiRegistryFactoryBean();
        rmiRegistryFactoryBean.setPort(rmiPort);
        rmiRegistryFactoryBean.setAlwaysCreate(true);
        return rmiRegistryFactoryBean;
    }

    @Bean
    @DependsOn("rmiRegistry")
    public ConnectorServerFactoryBean connectorServerFactoryBean() throws Exception {
        final ConnectorServerFactoryBean connectorServerFactoryBean = new ConnectorServerFactoryBean();
        connectorServerFactoryBean.setObjectName("connector:name=rmi");
        connectorServerFactoryBean.setServiceUrl(String.format("service:jmx:rmi://%s:%s/jndi/rmi://%s:%s/jmxrmi", rmiHost, rmiPort, rmiHost, rmiPort));
        return connectorServerFactoryBean;
    }
}

然后就是掏出你的命令运行

java -jar -Djava.rmi.server.hostname=39.106.xx.xx spider-0.0.1-SNAPSHOT.jar 
#注意这个hostname 必须是外网IP

然后,在你的本地jdk目录里找到bin目录,打开监控调试工具(jvisualvm,jconsole) 你就可以远程连接你项目了

image.png
image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。