不同java程序 jvm,在不同的JVM中运行Java命令

Goal: I have client-server program in which client and server runs in different jvms.

To test the same, I want to invoke the Server in a different JVM programatically and then use current jvm to run the client and execute different C/S tests.

Is there any way I can execute a method or run Java commands in different jvm programatically?

解决方案

1) The most powerful tool in java to run process is ProcessBuilder:

ProcessBuilder pb = new ProcessBuilder("java", "-server", "-jar", "yourJar.jar");

Process p = pb.start();

Than using Process you are able to manipulate child process e.g. read InputStream, destroy e.t.c.

2) If you are able to edit both source code review this question to build efficient communication between JVM on the same host.

If you cannot change code, simply create own loader which load Server and implements inter JVM communication and invoke methods you need, because it in the same JVM space.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值