如何在Java中启动许多(100多个)程序实例?

时间:2019-04-01 21:03:07

标签: java intellij-idea

我正在为订单分配系统集成设计模式。客户可以下订单,然后中介将广播的request广播给所有供应商(100+),这些供应商的代码中会生成有库存的随机产品代码。为客户选择了最快的供应商。

要对此进行仿真和测试,我需要运行100个Supplier类的实例。在IntelliJ中,您可以使用主方法bij右键单击它并单击运行来运行类。我该如何以与班级相距100倍的方式进行教学?或者人们将如何进行这种模拟?

如果在IntelliJ中无法做到这一点,那么我是否应该编写bash脚本或一些东西来多次启动已编译的程序?

还是有专门针对这种情况的工具?

预先感谢

迈克

2 个答案:

答案 0 :(得分:1)

您能否只创建一个测试类并只运行需要模拟100次的代码?您说您已经完成了随机数生成,所以难道您不就需要循环100次功能吗?

否则,可以创建一个bash脚本来运行jar 100次。

答案 1 :(得分:1)

您提到了设计模式,您是否看过“企业集成模式”?

在这种情况下,您可以使用recipient list模式。

这里是使用Apache Camel框架的示例。

http://camel.apache.org/recipient-list.html

否则,如果要用纯Java编写它,则可以使用Java流api ...创建ID的列表(1..100),流式传输列表...并分别处理每个ID。

您将不会运行程序的100个实例,而是将运行一个实例,然后按顺序或并行地 处理它们100个id。

祝你好运。