2015-06-10 2 views
0

Предположим, что у меня есть класс Client с основным методом, который что-то делает (возможно, подключается к классу Server).Запуск нескольких приложений java из одного приложения Java

Есть ли способ создать класс (скажем, ClientLauncher), который запускает n клиентов (n переданных как параметр) в качестве разных приложений Java?

Обратите внимание, что я не хочу, чтобы эти клиенты были разными потоками внутри одного приложения. Я хочу получить тот же эффект, который получаю, нажав кнопку запуска в Eclipse несколько раз (запуск различных основных методов).

+0

Возможно, хотя я бы рекомендовал сделать это с использованием shell/batch script вместо написания программы. – RealSkeptic

+0

Вы можете запускать дополнительные программы с помощью командной строки. Это можно вызывать из Java. Это так, как вы думаете? –

+2

Итак, вы хотите запустить jvm на клиента? Вам нужно будет использовать Runtime для запуска отдельных процессов. см. http://stackoverflow.com/questions/8496494/running-command-line-in-java – Romski

ответ

3

Я не знаю, почему вы не хотите запускать клиентов с использованием потоков, Runtime.getRuntime().exec() может вызвать extarnal банки в классе

Process run= Runtime.getRuntime().exec("java -jar jarpath_here"); 

Если поместить это в цикле нужно иметь несколько процессов.

+1

Скорее используйте более продвинутый класс 'ProcessBuilder', но это его суть. – Kayaman

Смежные вопросы