Могут ли несколько Java-приложений работать под одной и той же виртуальной машиной? - PullRequest
3 голосов
/ 27 июля 2011

Я работаю с двумя разными Java-приложениями, и оба работают с разными JVM. На самом деле мне нужно передать некоторые данные между этими приложениями, Я уже использую подход с общими файлами, но ищу более лучший подход.

Итак, я думаю, что если каким-то образом мы сможем запустить эти приложения под одной и той же JVM, а затем можем передавать данные между этими приложениями. Я не знаю, как мы можем передавать данные между приложениями, работающими под одной JVM.

Ответы [ 5 ]

3 голосов
/ 27 июля 2011

Технология передачи данных между двумя приложениями - это RMI в Java, я думаю, вы должны использовать это.

Вот введение для этого: Введение в Java RMI

2 голосов
/ 27 июля 2011

Вы можете внедрить свои приложения в контакт друг с другом через Socket.

1 голос
/ 27 июля 2011

Эффективно они делают, когда вы используете сервер приложений. Сервер приложений обычно запускает ваше приложение в отдельном потоке, а не в JVM для каждого приложения. Если вы хотите получить подобное решение, вы можете написать примитивный сервер, который вызывает основной метод вашего приложения в определенных потоках.

Имейте в виду, что это также может вызвать дополнительную головную боль. Если один поток выходит из приложения, например, с System.exit(0), все ваши потоки будут закрыты.

0 голосов
/ 27 июля 2011

Для вашей задачи вам не нужно запускать приложения под одним экземпляром JVM.

Вы можете передавать данные между различными JVM.Есть множество доступных решений.

Например:

0 голосов
/ 27 июля 2011

Если ваши приложения не имеют внутренних конфликтов (несовместимых параметров JVM, конфликтующих синглетонов и т. Д.), Это, вероятно, выполнимо.Скорее всего, вам придется каким-то образом изменить ваш метод main ();возможно, ваши 2 приложения работают в своих собственных потоках.

Однако, не зная дополнительных подробностей, сложно судить о вещах.

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