首页 > 两个 java 程序如何进行交互?

两个 java 程序如何进行交互?

项目经理让我完成对一个web项目的日志级别动态修改,要我提供一个接口用于修改日志级别,我首先想到了使用servlet,通过访问servlet来修改,可项目经理却叫我使用Main方法来实现这一功能,生成一个jar包,通过本地的脚本语言调用这个jar包的Main方法来修改日志级别。Socket也不能使用。

两个java程序在以上不能使用的方法外,还能可以使用哪些方法进行交互呢?


建议最好问清楚你项目经理的真实意图,而不是纠结于两个Java进程通讯上。

如果他的意思应该是希望你能沉淀一个Agent,部署在本地,接收控制台的指令。因为除了修改日志级别这种事情之外,还可能有其它事情需要做。比如“灰度开关”等,那这个事情就不仅仅只是两个进程通讯这么简单了,还有通讯协议需要梳理、Client/Server架构需要搭建等等。


pipe,消息队列等等。进程怎么通信就怎么搞…不过共享内存java应该做不了


RMI和RPC咯,如果这两个框架项目中有用到还好,没用到的话初次使用估计比较麻烦。
有个比较简单的办法,你写一个jar包使用jar命令执行然后修改日志级别,让调用方使用Runtime运行时执行jar命令调用你的jar包。


#!/bin/ksh
echo "--------helloWorld------->>"
JAVA_HOME="/usr/jdk/jdk1.6.0_34"
JAVA_OPTIONS=" -hotspot -Xms128m -Xmx512m "
CLASS_PATH=.;./lib;
java -jar helloWorld.jar


这样?

进程间通信。

【热门文章】
【热门文章】