java 远程调用,具体实现

1、使用java代码通过ssh登陆linux并执行命令,正常情况下sshd服务都会有,知道用户密码就可以使用这种方式了。

2、要在远程linux服务器上执行命令,可以在linux服务器上启动一个服务做执行脚本的代理,不断接受来自你这个项目发来的脚本信息,然后执行,再把结果返回给你项目中去。

第一种:以消息队列的方式发送这些脚本信息,linux代理不断接受,并返回结果。项目同时要不断接受结果。

第二种:项目中产生的脚本,直接记录到数据库,linux上的代理访问这个数据库,获取脚本信息,并将执行结果写入数据库。项目中轮询执行结果。

上面我说的消息队列可以采用activemq,或者rabbitmq这些。

命令执行,java中直接Runtime.getRuntime().exec(command);就行了。

如何使用 Idea 远程调试 Java 代码

项目的部署方式有在本地搭建服务器进行启动或是debug,或是将项目在远程服务器上面部署。一般如果在本地搭建服务器的时候,可以直接选择启动或是直接debug,但是如果项目部署在远程的服务器上面的时候, 我们该如何进行调试呢?而一些大公司的项目是不需要在本地搭建应用服务器的,为了环境统一,应用服务器都是在远程服务器上面,这时我们就需要用远程debug,通过远程服务器的ip地址和远程开启的debug端口进行调试:

1.首先把远程服务器上面需要调试的代码放在IDE里面

2.在菜单栏选择run ->edit Configuration,点击+号,选择remote,然后在配置项里面输入远程需要调试机器的IP地址和所对应的端口号,最后在最上面输入该次一远程调试的项目名字,方便自己区分不同的项目

3.将配置项中的-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5080添加到JAVA_OPTS的属性中,重启远程tomcat服务器

3.再次选择菜单条run按钮,找到debug+“自己设置的项目名字”,点击然后就可以进行远程debug调试

4.在本地项目中设置断点,然后访问远程机器上面的IP和端口,然后就可以在本地debug调试了

如何对生产环境的JAVA应用进行远程调试

通过开启jdwp功能可以进行eclipse连接远端tomcat的调试。

参考地址:

但是通常情况下,建议通过以输出日志或者测试服务器测试的方式进行调试,生产环境能不动就不动。否则会出大问题的。