Как запустить много (более 100) экземпляров программы на Java? - PullRequest
1 голос
/ 02 апреля 2019

Я делаю систему заказов с шаблонами проектирования интеграции для школьного задания. Клиент может разместить заказ, а посредник передает широковещательный запрос всем поставщикам (более 100), у которых есть код, который генерирует случайные коды продуктов, которые есть в наличии. Самый быстрый поставщик выбирается для клиента.

Чтобы смоделировать и проверить это, мне нужно запустить 100 экземпляров моего класса «Поставщик». В IntelliJ вы можете запускать классы с помощью основного метода bij, щелкнув по нему правой кнопкой мыши и выбрав команду run Как я могу сделать это таким образом, чтобы он запускал 100 раз класс? Или как мужчины подошли бы к этому виду симуляции?

Если это невозможно в IntelliJ, должен ли я тогда написать скрипт bash или что-нибудь для запуска скомпилированной программы много раз?

Или есть специальные инструменты для такой ситуации?

Заранее спасибо,

Mike

Ответы [ 2 ]

1 голос
/ 02 апреля 2019

Вы упомянули шаблоны проектирования, рассматривали ли вы «Шаблоны интеграции предприятия»?

В этом случае вы можете использовать шаблон recipient list.

Вот пример использования платформы Apache Camel.

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

В противном случае, если вы хотите написать его на простом Java, вы можете использовать java stream api ... создать список идентификаторов (1..100), streamсписок ... и обрабатывать каждый идентификатор по отдельности.

Вы не будете запускать 100 экземпляров своей программы, вы запустите один экземпляр, и либо вы будете обрабатывать их по 100 идентификаторам последовательно, либо параллельно .

Удачи.

1 голос
/ 02 апреля 2019

Не могли бы вы просто создать тестовый класс и просто запустить код, который вам нужно смоделировать 100 раз?Вы сказали, что генерация случайных чисел уже завершена, поэтому не могли бы вы просто зациклить нужные функции 100 раз?

В противном случае, да, вы можете создать скрипт bash, чтобы запускать jar 100 раз, если вам это нужно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...