Pet*_*nis 4 java testing concurrency jvm
我有一个Windows服务应用程序和一个使用RMI与服务进行通信的客户端.我需要对多个客户端进行一些并发测试,但我需要每个客户端运行到不同的jvm实例,因为它的代码中有一些静态变量.我能这样做吗?有任何想法吗?
是的,您可以使用JDI执行此操作 - VirtualMachineManager(您可以通过调用获得Bootstrap.virtualMachineManager();)提供(至少一个)启动连接器.然后,您可以调用launch();此连接器,该连接器为其创建的VM 提供VM镜像.然后,此镜像允许您远程执行此VM上的方法.
您可以根据需要使用此方法设置尽可能多的远程VM,但显然这样做会对性能造成相对大的影响,而且这是一项相当大的努力.除非努力是天文数字,否则我个人主张修复代码以保证线程安全(使用ThreadLocal),然后你不用担心JDI(或类似的设置).
| 归档时间: |
|
| 查看次数: |
1559 次 |
| 最近记录: |