Spring / Java, хороший метод для удаленного взаимодействия с приложением Java командной строки на другом сервере? - PullRequest
3 голосов
/ 16 марта 2011

Я работаю над веб-приложением Spring, где мне нужно взаимодействовать с удаленным Java-приложением из командной строки, чтобы выполнить простой поисковый запрос для этого приложения и получить результаты. Первоначально я интегрировал это в свое приложение Spring, но моему приложению требуется много памяти (это приложение, которое использует огромные объемы данных), и я не думаю, что они могут сосуществовать на одном сервере больше.

Я запускаю все на Amazon ec2, поэтому задержка между серверами должна быть очень низкой. Я полагаю, что мог бы использовать прямое соединение SSH, но не уверен, что это лучший подход. Я бы хотел, чтобы приложение командной строки, с которым я взаимодействую, было как можно более простым (я бы не стал превращать его в веб-сервис, если бы мне это не нужно). Я все еще довольно новичок в Java, так что извините, если это звучит как основной вопрос.

Ответы [ 2 ]

2 голосов
/ 16 марта 2011

У вас есть несколько вариантов, кроме веб-службы. Некоторые из них:

  1. Буферы протокола

  2. JMS

  3. Простой сокет-клиент / сервер Java

  4. Бережливость

0 голосов
/ 17 марта 2011

Если у вас есть или может быть пружина на обоих концах -

Экспонирование сервисных объектов и использование их из другого процесса становится чрезвычайно тривиальным с помощью Поддержка удаленного взаимодействия Spring * .(RmiServiceExporter может быть наиболее подходящим и наименее тривиальным для настройки в этом случае)

Он действительно устраняет весь код котельной и позволяет сосредоточиться на логике вашего бизнеса / обслуживания.

Вы можетенаписать сервис hello world и использовать его из другой Java-программы менее чем за двадцать минут.Как только вы настроите эту «инфраструктуру», вы сможете сосредоточиться на своей реальной бизнес-логике.

(Вам абсолютно не обязательно знать rmi, чтобы это заработало, хотя рабочие знания rmi могут помочь, если вы столкнетесь спроблемы. Но тогда, зачем SO сообщество?;))

...