我有一个如下的应用程序,
public class OpenApp {
public static void main(String[] args) {
if(args.length>0)
System.out.println("Hi " + args[0]);
System.in.read();
}
public static String sayHi(){
return "Hi";
}
}
所以OpenApp将会运行。我还有其他一些方法。我可以从另一个应用程序调用sayHi方法,而无需创建该类的新实例。因为我在运行OpenApp时有一些数据限制。
请纠正我如果我的问题是错的。我只是想尝试在两个JVM之间进行通信。所以,我读到,RMI是进行沟通的最佳方式。那还有别的办法吗?
答案 0 :(得分:1)
对于两个要进行通信的应用程序,您需要某种形式的Inter-Process Communication, IPC,几乎就是定义。所以你需要某种协议。所以,对你的问题的简短回答是:RMI不是唯一的方法,但所有其他方式都是相似的,沟通而不是直接的方法调用。
如果您只想在另一个应用程序的代码中调用该方法,那么将.jar与该类添加到您的应用程序,或load the .jar at runtime,并且(因为这是一个静态方法)只需调用该方法。但这只是普通的静态方法调用,所以你可能不是这个意思吗?