2013-11-24 2 views
0

У меня проблема с кешем liferay, поэтому проблема в том, что, когда мой кеш ExpirationTime заканчивает портлет при обновлении, перейдите в метод doView(), и там у меня есть statment, который идет в xml и возвращает true/false, если xml обновляется. Так что если xml не обновляется, я даю кешу новый setExpirationTime ... но на портлете страницы ничего не отображается .. Cache работает нормально .. мое обновление в 5 минут doestn update doView, так что проблема заключается в том, если statment и этот рендеринг .response ...Кэш в liferay

это источник (пример):

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;} 

ответ

2

Тест с этим 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.