Фон
Я хочу кэшировать HTML-ответ некоторых моих страниц. Так как ehCache уже используется в моем приложении, очевидно искать решение там. Так уж получилось, что в ehCache есть готовые фильтры, такие как SimplePageCachingFilter.
Проблема
Эти фильтры обычно используют URL, включая строку запроса в качестве ключей. В моем случае у разных пользователей будет один и тот же URL-адрес, а содержимое этой страницы будет разным. Я не могу добавить идентификатор пользователя в строку запроса. Поэтому, возможно, решение для меня состоит в том, чтобы кэшировать страницы на основе файла cookie [или использовать какой-либо другой уникальный идентификатор пользователя] как часть ключа.
Вопрос
Мой вопрос заключается в том, как использовать другой ключ, отличный от того, который используется SimplePageCachingFilter. В документации предлагается переопределить javax.servlet.http.HttpServletRequest, чтобы учесть важный параметр QS, но не говорится о том, как я могу полностью переопределить способ формулировки ключа.
Отсутствие примера кода также является проблемой, поэтому я был бы признателен, если бы кто-нибудь указал мне пример кода с лучшим управлением клавишами.
Также было бы неплохо иметь контроль над аннулированием кеша, а не просто ждать, пока содержимое истечет само по себе, хотя это и не обязательно для моего приложения.