Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> hibernate cache between two app 
:(
    Опции темы
gelo86
Дата 10.1.2010, 13:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 388
Регистрация: 26.10.2007

Репутация: нет
Всего: нет



Часто создаются две одделных програм, одна для аднима, другая public. Дапусим в public проге хибернате закешировал некотарые данные. Далее в админе ети данные поменялись. Так как public имеет свои одделный кеш, то ета прога неувидет изменения. Какие решения есть для таких ситуаций ? какоита обший кеш ?
PM MAIL   Вверх
MaxPayneC
Дата 10.1.2010, 14:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 324
Регистрация: 18.2.2006

Репутация: 3
Всего: 9



Пожалуй только паттерн session-per-transaction.
PM   Вверх
gelo86
Дата 10.1.2010, 14:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 388
Регистрация: 26.10.2007

Репутация: нет
Всего: нет



Цитата(MaxPayneC @  10.1.2010,  14:24 Найти цитируемый пост)
Пожалуй только паттерн session-per-transaction. 

Пожалусто обясните, как етот паттерн может мне помочь ?
PM MAIL   Вверх
MaxPayneC
Дата 10.1.2010, 16:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 324
Регистрация: 18.2.2006

Репутация: 3
Всего: 9



Будет исключена рассинхронизация сессии хибернейт и реального состояния базы.
PM   Вверх
gelo86
Дата 10.1.2010, 16:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 388
Регистрация: 26.10.2007

Репутация: нет
Всего: нет



Но проблема не с сессией, а кешем в разных прогах.
PM MAIL   Вверх
COVD
Дата 11.1.2010, 17:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1655
Регистрация: 26.7.2005

Репутация: 4
Всего: 43



Цитата

Далее в админе ети данные поменялись

Данные меняются в едином хранилище (базе). А проблема кешей - синхронизироваться с хранилищем.
PM MAIL   Вверх
dobrolub
Дата 14.1.2010, 01:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 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
PM   Вверх
gelo86
Дата 14.1.2010, 09:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 388
Регистрация: 26.10.2007

Репутация: нет
Всего: нет



Цитата(dobrolub @  14.1.2010,  01:46 Найти цитируемый пост)
1. посмотри в сторону ear с двумя вебаппами и одним ejb задачей которого и будет общение с базой через хайбернейт.

Я используйы embedded jetty. В нем ето возможно ?
PM MAIL   Вверх
dobrolub
Дата 14.1.2010, 09:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 385
Регистрация: 18.12.2009
Где: Vancouver, Canada

Репутация: 4
Всего: 16



это только сервлет контайнер, может glassfish или resin?
PM   Вверх
gelo86
Дата 20.10.2010, 19:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 388
Регистрация: 26.10.2007

Репутация: нет
Всего: нет



Цитата(COVD @  11.1.2010,  17:53 Найти цитируемый пост)
Данные меняются в едином хранилище (базе). А проблема кешей - синхронизироваться с хранилищем. 


Так проблема и состоит в том, что обновив данные в одной проге, мне надо в другой прочистить кеш/синхронизироваться с хранилищем. У меня толко томкат и вары. Просто клиент хочет имет две одделныэ проги для админа и для публика.
PM MAIL   Вверх
Key
Дата 20.10.2010, 23:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 36
Регистрация: 6.12.2007

Репутация: нет
Всего: 1



Можно добавить репликацию кеша, например у JBossCache есть такая возможность или заюзать Ehcache + JGroups, вот тут описано 
http://ehcache.org/documentation/distribut...th_jgroups.html
Смотря какой second level cache используете в Hibernate.
Тогда можно синхронизировать обновление кеша на всех серверах, там апдейт айтемов, удаление, что угодно.
PM MAIL ICQ   Вверх
mantracoder
Дата 20.10.2010, 23:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 51
Регистрация: 3.8.2007

Репутация: нет
Всего: 1



Цитата(gelo86 @ 20.10.2010,  19:00)
Цитата(COVD @  11.1.2010,  17:53 Найти цитируемый пост)
Данные меняются в едином хранилище (базе). А проблема кешей - синхронизироваться с хранилищем. 


Так проблема и состоит в том, что обновив данные в одной проге, мне надо в другой прочистить кеш/синхронизироваться с хранилищем. У меня толко томкат и вары. Просто клиент хочет имет две одделныэ проги для админа и для публика.

По хорошему нужен общий бэкенд для админа и паблика.
PM MAIL   Вверх
gelo86
Дата 21.10.2010, 12:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 388
Регистрация: 26.10.2007

Репутация: нет
Всего: нет



Цитата(mantracoder @  20.10.2010,  23:39 Найти цитируемый пост)
По хорошему нужен общий бэкенд для админа и паблика. 


Ето да. По другому и быть неможет. Бакенд (код) один, но гуи разные -> два инстанца будут запушены, один дла публика другой для админа.

Добавлено через 4 минуты и 11 секунд
Цитата(Key @  20.10.2010,  23:25 Найти цитируемый пост)
Можно добавить репликацию кеша, например у JBossCache есть такая возможность или заюзать Ehcache + JGroups


Можно будет сделать без третего сервера (как теракотта) ?
PM MAIL   Вверх
Key
Дата 21.10.2010, 22:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 36
Регистрация: 6.12.2007

Репутация: нет
Всего: 1



Цитата

Можно будет сделать без третего сервера (как теракотта) ? 


Да, например через JGROUPS, там можно выбрать много вариантов (мультикаст с гарантированием доставки, TCP и т.п.). Часто для кластеров используют. Только не уверен работают ли с ним последние версии EhCache.
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.0990 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.