|
|
|
Может ли Spring менять имплементацию интерфейса в runtime
|
|||
|---|---|---|---|
|
#18+
Всем привет! Предусловие: Есть некое веб-приложение, которое деплоиться как war. В war'е есть некая reports.jar - в этой жарке есть функциональность по генерации репортов, генерит и посылает репорты по почте. Задача: Необходимо реализовать возможность замены задеплоенной reports.jar без редеплоя всего приложения. То есть у веб приложения должна быть админ страничка где аплоадом можно залить новую версию reports.jar. И приложение ее должно подхватить. Вопрос: Можно ли это сделать какими либо средаставми Spring? Можно ли рантайм менять реализацию интерфейсов в ApplicationContext ? Заранее спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2013, 12:30:37 |
|
||
|
Может ли Spring менять имплементацию интерфейса в runtime
|
|||
|---|---|---|---|
|
#18+
В reports.jar реализация кода на Java, не просто какие-то шаблоны? Не очень понятно зачем отчеты реализованы на Java. Средствами Spring этого не сделать. Либо средствами JEE сервера, либо OSGi, либо более легковесные плагины, например JPF. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2013, 12:38:07 |
|
||
|
Может ли Spring менять имплементацию интерфейса в runtime
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, спасибо за совет! В reports.jar - код на жаве - разные там jdbc, xslt трансформации, дергания веб сервисов, жава логика. OSGI не хотелось бы юзать, из за геморойности и сложности (мнение коллеги кто с этим поработал). Как вариант написать свой класслоадер, который бы перегружал жар, вот подхватит ли это Spring ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2013, 13:27:53 |
|
||
|
Может ли Spring менять имплементацию интерфейса в runtime
|
|||
|---|---|---|---|
|
#18+
roibushКак вариант написать свой класслоадер, который бы перегружал жар, вот подхватит ли это Spring ? Смотря как написать. Вообще сам Spring этому перпендикулярен. А почему бы не сделать Hot-redeploy на уровне JEE контейнера? Можно вообще report.jar оформить отдельным JEE модулем и его независимо деплоить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2013, 13:32:02 |
|
||
|
Может ли Spring менять имплементацию интерфейса в runtime
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, сори, я забыл сказать, то что по требованиям юзер может выбрать любую версию reports.jar и заранать репорты. Вот такая вот гибкость нужна ) Наверно придется писать свой класслоадер :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2013, 20:04:32 |
|
||
|
Может ли Spring менять имплементацию интерфейса в runtime
|
|||
|---|---|---|---|
|
#18+
roibushBlazkowicz, сори, я забыл сказать, то что по требованиям юзер может выбрать любую версию reports.jar и заранать репорты. Вот такая вот гибкость нужна ) Наверно придется писать свой класслоадер :)Может обратить внимание на скриптовые языки ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2013, 21:10:42 |
|
||
|
Может ли Spring менять имплементацию интерфейса в runtime
|
|||
|---|---|---|---|
|
#18+
roibushBlazkowicz, спасибо за совет! В reports.jar - код на жаве - разные там jdbc, xslt трансформации, дергания веб сервисов, жава логика. OSGI не хотелось бы юзать, из за геморойности и сложности (мнение коллеги кто с этим поработал). Как вариант написать свой класслоадер, который бы перегружал жар, вот подхватит ли это Spring ? Может быть попробовать JasperReport + JasperServer? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2013, 15:58:49 |
|
||
|
|

start [/forum/topic.php?fid=59&tid=2128033]: |
0ms |
get settings: |
9ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
178ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
| others: | 241ms |
| total: | 496ms |

| 0 / 0 |
