Есть ли хорошая реализация BrowserCache для RESTEasy?(лучше, чем LightweightBrowserCache) - PullRequest
0 голосов
/ 29 ноября 2011

Мы используем LightweightBrowserCache, предоставленный RESTEasy 2.2.3.GA, но заметили, что при достижении предела размера кеша кеш очищается полностью.Очевидно, что это значительно снижает вероятность попадания в кэш, потому что наиболее часто используемые элементы не могут оставаться в кэше.

Мы хотели бы создать более сложную реализацию (например, основанную на Ehcache), которая бывысвободить наименее использованные предметы при достижении предела размера.

Кто-нибудь знает о хорошей реализации с открытым исходным кодом org.jboss.resteasy.client.cache.BrowserCache, которую мы могли бы использовать?

или

Реализовали ли вы свой org.jboss.resteasy.client.cache.BrowserCache, и если да, то знаете ли вы о каких-либо ошибках, которые мы должны избегать?

Ответы [ 2 ]

2 голосов
/ 22 марта 2012

Мы использовали Apache HTTP Client с его компонентом Caching вместе с RestEasy Client Framework, чтобы обойти это ограничение LightweightBrowserCache. RestEasy позволяет интегрироваться с клиентским компонентом Apache HTTP, подробности можно найти в документации RestEasy.

0 голосов
/ 20 января 2017

Вы можете попробовать по умолчанию метод кэширования Resteasy.

Кэшировать ответ только для запроса GET, когда ответ 200 OK,

Тестовая среда: Jboss6.4 и maven 3.0

Зависимость :

<dependency>
  <groupId>org.jboss.resteasy</groupId>
  <artifactId>resteasy-cache-core</artifactId>
  <version>Any version after 3.0</version>
</dependency>

Изменения кода : добавление синглтона для ServerCacheFeature в ваш класс приложения.

singletons.add(new ServerCacheFeature());

Добавьте эту аннотацию к вашей функции:

@Cache(maxAge=15, mustRevalidate = false, noStore = false, proxyRevalidate = false, sMaxAge = 15)

noStore можно использовать для включения / выключения кэширования или

...