как получить доступ к методу от одного уха к другому уху на том же сервере приложений

Я развернул два EAR на одном сервере. я хочу получить доступ к одному методу в одном классе Java в EAR для другого класса Java во втором EAR.

какие существуют способы достижения этого. какой из них лучше всего сделать.

Спасибо


person ajay    schedule 05.05.2010    source источник
comment
Проверьте решение, которое работает по крайней мере на Glassfish v3: application-running-in-the-sa/13652620#13652620" title="glassfish 2 1 ejb 3 0 предоставление доступа к локальному ejb другим приложениям, работающим в sa">stackoverflow.com/questions/13512028/   -  person MeTTeO    schedule 04.12.2012


Ответы (2)


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

Разоблачение вашего метода как веб-сервиса также сработает... но я не вижу смысла использовать веб-сервисы между двумя Java-приложениями. Маршаллинг объектов в XML и XML в объекты будет потреблять циклы ЦП впустую, если нет необходимости в независимом от языка протоколе (как в случае между двумя Java-приложениями).

person Pascal Thivent    schedule 05.05.2010

Предоставьте его как веб-службу и используйте в другом приложении.

Ваш сервер приложений может разрешать совместное использование контекста JNDI, и, таким образом, вы можете получить требуемый класс с помощью поиска JNDI, но я бы не рекомендовал. Это будет означать, что ваши два уха должны всегда жить на одном сервере приложений (или кластере).

person Bozho    schedule 05.05.2010
comment
Какой подход вы бы порекомендовали использовать для информирования EAR 1 о веб-службе в EAR 2? Общий WSDL? (используя какое имя хоста?) URL-адрес только для локального хоста для службы REST? - person Thorbjørn Ravn Andersen; 05.05.2010
comment
что проще. Оба варианта, которые вы предложили, являются жизнеспособными. - person Bozho; 05.05.2010