2013-11-19 2 views
1

Я использую шов 2.2.2.Final/hibernate и jpa, и мне было интересно, как справляться с некоторыми проблемами производительности, с которыми я столкнулся. У меня очень сложные формы, которые при запросе мне нужно сначала инициализировать некоторые списки.Seam 2.2.2. Стратегия основного кэширования

Поэтому я хочу кэшировать эти списки, и я думал, что компонент менеджера шва мог бы действительно выполнить эту работу. Однако, если я последую этому подходу, мне нужно будет создать 10-12 классов/компонентов менеджера. Один компонент менеджера для каждого списка.

И мне было интересно, если есть другая стратегия кэширования я мог бы следовать на основе шва framwework или спящий режим

ответ

0

Контроллер для каждого списка не является необходимым. Вы можете разделить его на то, что имеет смысл для вашей организации кода.
Кэширование с помощью ehcache - это операции ввода и вывода, их можно управлять с помощью методов, а не обязательно разделенных классов.

Вы можете так же легко иметь один кеширования контрольный класс с методами управления кэшем:

public List<List1> getList1FromCache() { 
     (List<List1>) this.cacheProvider.get("list1Cache", "list1"); 
     // refresh cache if null; 
     return list1; 
} 

public List<List2> getList2FromCache() { 
     (List<List1>) this.cacheProvider.get("list2Cache", "list2"); 
     // refresh cache if null; 
     return list2; 
} 

... и т.д.

со свойствами каждого списка, прописанных в файле EHCache собственности.

Смежные вопросы