![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
gelo86 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 388 Регистрация: 26.10.2007 Репутация: нет Всего: нет |
Часто создаются две одделных програм, одна для аднима, другая public. Дапусим в public проге хибернате закешировал некотарые данные. Далее в админе ети данные поменялись. Так как public имеет свои одделный кеш, то ета прога неувидет изменения. Какие решения есть для таких ситуаций ? какоита обший кеш ?
|
|||
|
||||
MaxPayneC |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 324 Регистрация: 18.2.2006 Репутация: 3 Всего: 9 |
Пожалуй только паттерн session-per-transaction.
|
|||
|
||||
gelo86 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 388 Регистрация: 26.10.2007 Репутация: нет Всего: нет |
||||
|
||||
MaxPayneC |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 324 Регистрация: 18.2.2006 Репутация: 3 Всего: 9 |
Будет исключена рассинхронизация сессии хибернейт и реального состояния базы.
|
|||
|
||||
gelo86 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 388 Регистрация: 26.10.2007 Репутация: нет Всего: нет |
Но проблема не с сессией, а кешем в разных прогах.
|
|||
|
||||
COVD |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 26.7.2005 Репутация: 4 Всего: 43 |
Данные меняются в едином хранилище (базе). А проблема кешей - синхронизироваться с хранилищем. |
|||
|
||||
dobrolub |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 385 Регистрация: 18.12.2009 Где: Vancouver, Canada Репутация: 4 Всего: 16 |
Предлагается два вариант к рассмотрению:
1. посмотри в сторону ear с двумя вебаппами и одним ejb задачей которого и будет общение с базой через хайбернейт. 2. в одном приложении разделение секций админа и юзера возможно с помощью <web-app> <security-constraint> <web-resource-colleciton>/admin*</web-resource-collection> <auth-constraint> <role-name>admin</role-name> </auth-constraint> </security-constraint> <security-constraint> <web-resource-colleciton>*</web-resource-collection> <auth-constraint> <role-name>admin</role-name> <role-name>user</role-name> </auth-constraint> </security-constraint> </web-app> Это сообщение отредактировал(а) dobrolub - 14.1.2010, 01:47 |
|||
|
||||
gelo86 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 388 Регистрация: 26.10.2007 Репутация: нет Всего: нет |
||||
|
||||
dobrolub |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 385 Регистрация: 18.12.2009 Где: Vancouver, Canada Репутация: 4 Всего: 16 |
это только сервлет контайнер, может glassfish или resin?
|
|||
|
||||
gelo86 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 388 Регистрация: 26.10.2007 Репутация: нет Всего: нет |
Так проблема и состоит в том, что обновив данные в одной проге, мне надо в другой прочистить кеш/синхронизироваться с хранилищем. У меня толко томкат и вары. Просто клиент хочет имет две одделныэ проги для админа и для публика. |
|||
|
||||
Key |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 36 Регистрация: 6.12.2007 Репутация: нет Всего: 1 |
Можно добавить репликацию кеша, например у JBossCache есть такая возможность или заюзать Ehcache + JGroups, вот тут описано
http://ehcache.org/documentation/distribut...th_jgroups.html Смотря какой second level cache используете в Hibernate. Тогда можно синхронизировать обновление кеша на всех серверах, там апдейт айтемов, удаление, что угодно. |
|||
|
||||
mantracoder |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 51 Регистрация: 3.8.2007 Репутация: нет Всего: 1 |
По хорошему нужен общий бэкенд для админа и паблика. |
|||
|
||||
gelo86 |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 388 Регистрация: 26.10.2007 Репутация: нет Всего: нет |
Ето да. По другому и быть неможет. Бакенд (код) один, но гуи разные -> два инстанца будут запушены, один дла публика другой для админа. Добавлено через 4 минуты и 11 секунд
Можно будет сделать без третего сервера (как теракотта) ? |
|||
|
||||
Key |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 36 Регистрация: 6.12.2007 Репутация: нет Всего: 1 |
Да, например через JGROUPS, там можно выбрать много вариантов (мультикаст с гарантированием доставки, TCP и т.п.). Часто для кластеров используют. Только не уверен работают ли с ним последние версии EhCache. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |