是否可以从运行应用程序调用方法

时间:2014-10-28 06:59:35

标签: java

我有一个如下的应用程序,

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是进行沟通的最佳方式。那还有别的办法吗?

1 个答案:

答案 0 :(得分:1)

对于两个要进行通信的应用程序,您需要某种形式的Inter-Process Communication, IPC,几乎就是定义。所以你需要某种协议。所以,对你的问题的简短回答是:RMI不是唯一的方法,但所有其他方式都是相似的,沟通而不是直接的方法调用。

如果您只想在另一个应用程序的代码中调用该方法,那么将.jar与该类添加到您的应用程序,或load the .jar at runtime,并且(因为这是一个静态方法)只需调用该方法。但这只是普通的静态方法调用,所以你可能不是这个意思吗?