gpt4 book ai didi

java - 在多个 jvm 实例中运行 java 代码

转载 作者:搜寻专家 更新时间:2023-11-01 01:53:51 25 4
gpt4 key购买 nike

我有一个 Windows 服务应用程序和一个使用 RMI 与服务通信的客户端。我需要对多个客户端进行一些并发测试,但我需要每个客户端都运行到不同的 jvm 实例,因为它的代码中有一些静态变量。我可以这样做吗?有任何想法吗?

最佳答案

是的,您可以使用 JDI 执行此操作 - VirtualMachineManager (您可以通过调用 Bootstrap.virtualMachineManager(); 获得)提供(至少一个)launching connector .然后,您可以在此连接器上调用 launch();,它会为您提供 VM mirror。对于它创建的虚拟机。然后,此镜像允许您在此 VM 上远程执行方法。

您可以根据需要使用此方法设置任意数量的远程 VM,但显然以这种方式执行操作会导致相对较大的性能损失,而且需要付出相当大的努力。除非付出的努力是天文数字,否则我个人主张修复代码以保证线程安全(使用 ThreadLocal),然后您就无需担心 JDI(或类似设置)。

关于java - 在多个 jvm 实例中运行 java 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16714043/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com