这两个过程应该相互沟通。
class Message {
String message;
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
}
public class Demo {
public static void main(String[] args) {
Demo demo = new Demo();
Message initiator = null;
Message receiver = null;
// Here is where I am stuck up. The below line is not correct
// as some command is expected here I believe.
ProcessBuilder p1 = new ProcessBuilder(initiator).start();
// Objects initiator and receiver should be instantiated in separate
// processes and their methods should inter communicate.
// what am I doing wrong?
// Is there any other way to do this?
}
}
我试着使用ProcessBuilder、Runtime.exec和Process语法,但都提到在创建流程时使用命令
例如:
ProcessBuilder p1=新的ProcessBuilder(一些命令(.start;
如何在两个不同的过程中实现这种实例化?
我提到了几个与这个流程创建相关的线程,但没有一个能满足我的需求。
如有任何帮助,我们将不胜感激。
ProcessBuilder帮助启动一个新流程。您给它的命令与您在命令行中键入的命令大致相同。如果这是一个java应用程序,你会使用类似于"java-jarmayapp.jar"的东西。一旦应用程序启动,它将在一个单独的进程中运行,因此也将运行一个独立的JVM(如果它是一个java应用程序(。如果你需要在启动后与这个单独的流程进行沟通,那么有很多选择,包括。
- Java远程方法调用(RMI(
- Java消息服务(JMS(
- 使用Restful调用的Http
有很多使用这些技术的例子,请看一看。