powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Может ли Spring менять имплементацию интерфейса в runtime
7 сообщений из 7, страница 1 из 1
Может ли Spring менять имплементацию интерфейса в runtime
    #38474093
roibush
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет!

Предусловие:
Есть некое веб-приложение, которое деплоиться как war.
В war'е есть некая reports.jar - в этой жарке есть функциональность по генерации репортов, генерит и посылает репорты по почте.

Задача:
Необходимо реализовать возможность замены задеплоенной reports.jar без редеплоя всего приложения. То есть у веб приложения должна быть админ страничка где аплоадом можно залить новую версию reports.jar. И приложение ее должно подхватить.


Вопрос:
Можно ли это сделать какими либо средаставми Spring? Можно ли рантайм менять реализацию интерфейсов в ApplicationContext ?

Заранее спасибо!
...
Рейтинг: 0 / 0
Может ли Spring менять имплементацию интерфейса в runtime
    #38474114
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В reports.jar реализация кода на Java, не просто какие-то шаблоны?
Не очень понятно зачем отчеты реализованы на Java.
Средствами Spring этого не сделать.
Либо средствами JEE сервера, либо OSGi, либо более легковесные плагины, например JPF.
...
Рейтинг: 0 / 0
Может ли Spring менять имплементацию интерфейса в runtime
    #38474252
roibush
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz, спасибо за совет!

В reports.jar - код на жаве - разные там jdbc, xslt трансформации, дергания веб сервисов, жава логика.

OSGI не хотелось бы юзать, из за геморойности и сложности (мнение коллеги кто с этим поработал).

Как вариант написать свой класслоадер, который бы перегружал жар, вот подхватит ли это Spring ?
...
Рейтинг: 0 / 0
Может ли Spring менять имплементацию интерфейса в runtime
    #38474261
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
roibushКак вариант написать свой класслоадер, который бы перегружал жар, вот подхватит ли это Spring ?
Смотря как написать. Вообще сам Spring этому перпендикулярен.
А почему бы не сделать Hot-redeploy на уровне JEE контейнера?
Можно вообще report.jar оформить отдельным JEE модулем и его независимо деплоить.
...
Рейтинг: 0 / 0
Может ли Spring менять имплементацию интерфейса в runtime
    #38492354
roibush
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz, сори, я забыл сказать, то что по требованиям юзер может выбрать любую версию reports.jar и заранать репорты. Вот такая вот гибкость нужна ) Наверно придется писать свой класслоадер :)
...
Рейтинг: 0 / 0
Может ли Spring менять имплементацию интерфейса в runtime
    #38492406
WGA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
WGA
Гость
roibushBlazkowicz, сори, я забыл сказать, то что по требованиям юзер может выбрать любую версию reports.jar и заранать репорты. Вот такая вот гибкость нужна ) Наверно придется писать свой класслоадер :)Может обратить внимание на скриптовые языки ?
...
Рейтинг: 0 / 0
Может ли Spring менять имплементацию интерфейса в runtime
    #38492778
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
roibushBlazkowicz, спасибо за совет!

В reports.jar - код на жаве - разные там jdbc, xslt трансформации, дергания веб сервисов, жава логика.

OSGI не хотелось бы юзать, из за геморойности и сложности (мнение коллеги кто с этим поработал).

Как вариант написать свой класслоадер, который бы перегружал жар, вот подхватит ли это Spring ?

Может быть попробовать JasperReport + JasperServer?
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Может ли Spring менять имплементацию интерфейса в runtime
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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