Кеш в liferay
У меня проблема с кешем Liferay, поэтому проблема в том, что когда портлет ExpirationTime истекает при обновлении кеша, он переходит к методу doView(), и там у меня есть if if statment, которая переходит в xml и возвращает true/false, если xml обновлен. Так что, если xml не обновляется, я даю кешу новый setExpirationTime... но на странице портлет ничего не показывает.. Кеш работает нормально... мое обновление за 5 минут обновляет метод doView, так что проблема заключается в том, что если statment и это делают.Отклик...
это источник (пример):
public void doView(RenderRequest renderRequest, RenderResponse renderResponse)throws IOException, PortletException {
if(!isItNew(renderRequest,renderResponse)){
//FALSE
//must to add time to cache
renderResponse.getCacheControl().setUseCachedContent(true);
renderResponse.getCacheControl().getExpirationTime(100);
}else{
//TRUE
//call xml and send to view
include(viewJSP,renderRequest,renderRequest);
}
И метод
private boolean isItNew(RenderRequest renderRequest,RenderResponse renderResponse) {
//go to XML and return true or false
return false;}
1 ответ
Решение
Протестируйте с этим значением portal.properties:
#
# Specify the number of minutes before a session expires. This value is
# always overridden by the value set in web.xml.
#
session.timeout=30
И связанное значение в web.xml.