Как позвонить в удаленную банку? - PullRequest
0 голосов
/ 26 августа 2011

Новичок в Java, поэтому, пожалуйста, извините мою формулировку.

В настоящее время на одном сервере у меня есть java-оболочка вокруг стороннего jar-файла. Я использую: Class lc = Class.forName ("pkg.lib") для инициализации класса.

Мне нужно поместить эту стороннюю флягу на отдельный сервер. Как мое java-приложение на сервере 1 может вызвать сторонний jar на сервере 2?

Спасибо

Ответы [ 2 ]

1 голос
/ 26 августа 2011

Есть несколько подходов, которые вы можете попробовать:

  1. Реализация API веб-службы на Сервере 2, чтобы код на Сервере 1 мог вызывать некоторый URL на Сервере 2, который будет вызывать его для вызова стороннего JAR, а затем возвращать результат (как JSON, или XML, или сериализованный объектный формат, или какой у вас).

  2. Вы можете использовать JMX / RMI , чтобы выполнить удаленный вызов метода и получить отправленную обратно вам сериализованную копию результата.

  3. Вы можете использовать JMS для отправки сообщения с Сервера 1 на Сервер 2 и иметь прослушиватель на Сервере 2, который получает сообщение и отправляет сообщение с результатом обратно на Сервер 1.

  4. Или, если вы чувствуете, что испытываете трудности, вы можете реализовать свой собственный протокол связи, который будет использоваться между Сервером 1 и Сервером 2, и заставить его делать все, что вы захотите. Вы можете получить что-то похожее на RTMP , которое поддерживает двунаправленные вызовы удаленных процедур.

0 голосов
/ 26 августа 2011

Вы можете использовать Java RMI или, возможно, использовать веб-службы для публикации некоторых ваших функций на сервере 2 и использовать эту веб-службу с сервера 1. Если вы можете привести пример вашего варианта использования, мы можем попробоватьулучшить решение еще больше, если оно уже не дает никаких подсказок.

...