powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Обмен данными между приложениями одного Tomcat
14 сообщений из 39, страница 2 из 2
Обмен данными между приложениями одного Tomcat
    #39346785
DS-Max
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
BlazkowiczНе могу сказать как это делается на варниках и в Томкате. В полноценном JEE для этого можно завести EJB JAR и выпячить его наружу через локальный интерфейс.


Интересно, можно ли реализовать Persistence Units в отдельном jar и положить его в tomcat/lib? Так вообще делают? Будет ли работать DI от Spring?
...
Рейтинг: 0 / 0
Обмен данными между приложениями одного Tomcat
    #39346787
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DS-MaxИнтересно, можно ли реализовать Persistence Units в отдельном jar и положить его в tomcat/lib? Так вообще делают? Будет ли работать DI от Spring?
Можно. С другой стороны на stackoverflow вот пишут, что не нужно так делать, как и использовать общий PU. Интересно почему?
...
Рейтинг: 0 / 0
Обмен данными между приложениями одного Tomcat
    #39347067
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DS-MaxЧто считается лучшей практикой для обмена данными между приложениями в рамках одного Tomcat?Обычный (локальный) вызов метода класса.
Не знаю, как это делать в CI и т.п. мавенах, но технически задача решается вполне тривиально для разработчиков в "одной локалке".

Предположим, что "ваш девопс" разместил tomcat-ы нужных версий на одном сетевом ресурсе и организовал второй сетевой ресурс, куда разработчик "общего приложения" выкладывает сборки в каталоги, именуемые по номерам этих сборок.
Если сборка остаётся в виде отдельных классов, то сборка вашего "отдельного приложения" тривиальна:
Код: plaintext
 java -cp //сервер2/сборка/номер ...
Если сборки выкладываются jar-никами ... Ну перечислите (добавите в проект) все jar-ы. Чуть больше писанины.

Если ваше "отдельное приложение" зависит только от общего приложение, но не от других "отдельных приложений", то и остальное достаточно тривиально.

Котяра (tomcat) опирается на структуру двух каталогов.
Первый задаётся свойством catalina.home, второй - свойством catalina.base.
"Домик" видит только сервер, "базу" - сервер и все приложения хоста.
Структура каталогов "домика" и "базы" задаётся в файле catalina.properties (по умолчанию).
Стандартный catalina.properties содержит примерно такое:
Код: plaintext
1.
2.
3.
4.
common.loader=\
${catalina.base}/lib,\
${catalina.base}/lib/*.jar,\
${catalina.home}/lib,\
${catalina.home}/lib/*.jar
Меняем ${catalina.base}/lib на ${catalina.base}/${build.number}.

Далее нам требуется, чтобы наше отдельное приложение находилось вне catalina.base.
Для этого внутри ${catalina.base}/conf (в правильном подкаталоге) должен быть параметризованный описатель развёртывания.
Примерно такой для "корневого" приложения:
Код: xml
1.
<context  DocBase=${ROOT.path}>



Тогда несложный скрипт вида:
Код: plaintext
1.
2.
3.
4.
5.
java ...\
 -Dcatalina.home="//сервер1/котяра/версия"\
 -Dcatalina.base="//сервер2/сборка"\
 -Dbuild.number="номер"
 -DROOT.path="/абсолютный/путь/отдельного/приложения"\
 org.apache.catalina.startup.Bootstrap -start
развернёт ваше "отдельное приложение" в качестве корневого с нужной сборкой "общего приложения" и в нужной версии котяры.

Скучно, но вполне прямолинейно, решение обобщается на "каждый разработчик выкладывает свою готовую сборку в сеть".
Только свойства придётся дополнить до максимально возможного числа разворачиваемых "отдельных приложений".
Если какое-то приложение вам в принципе не требуется - можно сделать так, чтобы при пустом значении свойства (-Dсвойство="") развёртывался пустой контекст.

P.S. Да, по рабоче-крестьянски, но вполне работоспособно.
...
Рейтинг: 0 / 0
Обмен данными между приложениями одного Tomcat
    #39347101
Фотография Паша01
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Автор, а почему ты каждое приложение не создашь как рест-сервис? И общаться они будут без проблем.
...
Рейтинг: 0 / 0
Обмен данными между приложениями одного Tomcat
    #39347102
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Паша01Автор, а почему ты каждое приложение не создашь как рест-сервис? И общаться они будут без проблем.
...
Рейтинг: 0 / 0
Обмен данными между приложениями одного Tomcat
    #39347103
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Паша01Автор, а почему ты каждое приложение не создашь как рест-сервис? И общаться они будут без проблем.
Наверное потому что ему нужно не столько общаться, сколько выделить общую функциональность это раз.
А "два" это удивительная разница в производительности между REST вызовом и вызовом Java метода.
...
Рейтинг: 0 / 0
Обмен данными между приложениями одного Tomcat
    #39347109
Фотография Паша01
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczПаша01Автор, а почему ты каждое приложение не создашь как рест-сервис? И общаться они будут без проблем.
Наверное потому что ему нужно не столько общаться, сколько выделить общую функциональность это раз.
А "два" это удивительная разница в производительности между REST вызовом и вызовом Java метода.

Тогда как вариант OSGI спецификация. Тяжелая для понимания вещь, но он же этого очень хочет, правда? ))))
...
Рейтинг: 0 / 0
Обмен данными между приложениями одного Tomcat
    #39347111
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Паша01но он же этого очень хочет, правда? ))))
)) Пока он озвучил задачу - каждому программисту свою песочницу.
...
Рейтинг: 0 / 0
Обмен данными между приложениями одного Tomcat
    #39347222
DS-Max
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Паша01Автор, а почему ты каждое приложение не создашь как рест-сервис? И общаться они будут без проблем.

BlazkowiczПаша01Автор, а почему ты каждое приложение не создашь как рест-сервис? И общаться они будут без проблем.
Наверное потому что ему нужно не столько общаться, сколько выделить общую функциональность это раз.
А "два" это удивительная разница в производительности между REST вызовом и вызовом Java метода.

Да, так.
...
Рейтинг: 0 / 0
Обмен данными между приложениями одного Tomcat
    #39347225
DS-Max
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123Паша01но он же этого очень хочет, правда? ))))
)) Пока он озвучил задачу - каждому программисту свою песочницу.

Скорее это одна из подзадач. Не самая главная :)
...
Рейтинг: 0 / 0
Обмен данными между приложениями одного Tomcat
    #39347251
DS-Max
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Паша01Автор, а почему ты каждое приложение не создашь как рест-сервис? И общаться они будут без проблем.

Кстати, они и так REST, SOAP или WebSocket сервисы.
И, кстати, тогда уж лучше WebSocket.
...
Рейтинг: 0 / 0
Обмен данными между приложениями одного Tomcat
    #39347273
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DS-Max,
Переведи.
А то у тебя полтора слова и молчание.
...
Рейтинг: 0 / 0
Обмен данными между приложениями одного Tomcat
    #39347310
DS-Max
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123DS-Max,
Переведи.
А то у тебя полтора слова и молчание.

Сори, на работе работать заставляют :(

Petro123)) Пока он озвучил задачу - каждому программисту свою песочницу.


Это не задача, а скорее бонус от разделения.
Основная задача это обмен между отдельными приложениями в одном Tomcat и более производительный чем REST.

Задача эта возникла в основном из-за нескольких PU (в каждом приложении свой) и общих таблицах. Но высокопроизводительное взаимодействие между локальными приложениями в любом случае пригодится и хотелось бы разобраться.

В теме прозвучали интересные советы, изучаю по мере наличия свободного времени.
...
Рейтинг: 0 / 0
Обмен данными между приложениями одного Tomcat
    #39347338
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DS-MaxЭто не задача, а скорее бонус от разделения
интереснее, когда собеседник вместе с бонусом видит минусы.
DS-Maxизучаю по мере наличия свободного времени
ОК
Тут было три решения. Изучайте.
Удачи!
...
Рейтинг: 0 / 0
14 сообщений из 39, страница 2 из 2
Форумы / Java [игнор отключен] [закрыт для гостей] / Обмен данными между приложениями одного Tomcat
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]