2013-05-01 2 views
0

В Java мы можем легко создать новый поток с использованием нового потока (Runnable r). Однако это использует Threads с нашей локальной машины.Java Run Thread на другой машине

Есть ли способ подключиться к другой машине (через ssh) и запустить функцию на новой теме на этой машине?

ответ

2

Есть ли способ подключиться к другой машине (через ssh) и запустить функцию на новой теме на этой машине?

Короткий ответ - нет. Есть много Java implementations of SSH, которые позволяют вам войти в систему и запустить команды на другой системе. Это означает, что вы можете запустить другой экземпляр Java (JVM) в другой системе. Вы можете запустить эту удаленную команду в локальном потоке, но вы не можете разветвить «поток» на удаленной системе.

Долгий ответ заключается в том, что существует много других способов удалять операцию, которая обычно означает запуск какого-либо сервера на удаленной машине, которая принимает запросы и возвращает ответы. Существует множество способов шифрования удаленных протоколов. SSL-запросы через HTTP к веб-серверу являются одним из механизмов. RMI over SSL - другой.

0

Вы можете использовать Java RMI для запуска кода на другом компьютере. Я никогда этого не делал, но, видимо, вы можете сделать это через SSH.

java RMI via SSH v2 protocol

0

Я реализовал что-то похожее на это, используя Амазонки Simple Queue Service - machine1 послал Runnables (сериализовано с Jackson) через очередь, которые затем были подхвачены и выполненной на machine2. У Simple Queue Service есть бесплатный уровень для маломасштабного использования, но есть много библиотек/программ обмена сообщениями с открытым исходным кодом, например. HornetQ или RabbitMQ.

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