[
https://issues.jboss.org/browse/GTNPORTAL-1780?page=com.atlassian.jira.pl...
]
Julien Viet commented on GTNPORTAL-1780:
----------------------------------------
the cached fragment should be the same as it is "revalidated" by the portlet, it
means we have the sequence
1/ portal call portlet container render
2/ portlet returns "foomarkup" markup with some expiration time and etag=foo
3/ portal shows "foomarkup"
4/ portal call portlet render
5/ portlet container find the "foomarkup cached content that is valid (normal cache
behavior) and returns it
6/ portal shows "foomarkup"
7/ portal call portlet container render
8/ portlet container find the "foomarkup" cached content that is not valid
anymore and calls portlet render
9/ the portlet see that there is the etag=foo and decides that it should not generated the
markup anymore as the existing one is still valid, so it does not generate any markup and
tells the portlet container to use the current cached markup for more time (revalidation)
10/ portlet container returns the "foomarkup" cached content
11/ portal shows "foomarkup" again
it looks like this is what you are observing, right ?
Support Cached Portlet as spec 2.0
----------------------------------
Key: GTNPORTAL-1780
URL:
https://issues.jboss.org/browse/GTNPORTAL-1780
Project: GateIn Portal
Issue Type: Bug
Security Level: Public(Everyone can see)
Reporter: Khoi Nguyen
Assignee: Minh Hoang TO
Labels: portal-s47
Attachments: cached_portlet_sample.war
Original Estimate: 1 day
Remaining Estimate: 1 day
Currently, GateIn haven't supported the Cached portlet that introduced in PLT.22, we
get an exception when refresh a portal page that contains expired portlet.
{code}
SEVERE: Portlet render threw an exception
org.exoplatform.services.portletcontainer.PortletContainerException: Unknown invocation
response type [class org.gatein.pc.api.invocation.response.RevalidateMarkupResponse].
Expected a FragmentResponse or an ErrorResponse
at
org.exoplatform.portal.webui.application.UIPortletLifecycle.processRender(UIPortletLifecycle.java:288)
at
org.exoplatform.portal.webui.application.UIPortletLifecycle.processRender(UIPortletLifecycle.java:62)
at org.exoplatform.webui.core.UIComponent.processRender(UIComponent.java:144)
at org.exoplatform.webui.core.UIContainer.renderChildren(UIContainer.java:368)
at org.exoplatform.webui.core.UIContainer.renderChildren(UIContainer.java:358)
at sun.reflect.GeneratedMethodAccessor137.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at
org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite$PojoCachedMethodSiteNoUnwrapNoCoerce.invoke(PojoMetaMethodSite.java:229)
at
org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:52)
at
org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:121)
at UIPage.run(UIPage.gtmpl:8)
at org.exoplatform.groovyscript.GroovyScript.render(GroovyScript.java:111)
at org.exoplatform.groovyscript.GroovyTemplate.render(GroovyTemplate.java:119)
at org.exoplatform.groovyscript.text.TemplateService.merge(TemplateService.java:117)
at org.exoplatform.webui.core.lifecycle.Lifecycle.renderTemplate(Lifecycle.java:128)
at org.exoplatform.webui.core.lifecycle.Lifecycle.processRender(Lifecycle.java:85)
at
org.exoplatform.portal.webui.page.UIPageLifecycle.processRender(UIPageLifecycle.java:44)
at org.exoplatform.webui.core.UIComponent.processRender(UIComponent.java:144)
at
org.exoplatform.webui.core.UIComponentDecorator.renderChildren(UIComponentDecorator.java:101)
at sun.reflect.GeneratedMethodAccessor165.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at
org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite$PojoCachedMethodSiteNoUnwrapNoCoerce.invoke(PojoMetaMethodSite.java:229)
at
org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:52)
at
org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:121)
at UIPageBody.run(UIPageBody.gtmpl:35)
at org.exoplatform.groovyscript.GroovyScript.render(GroovyScript.java:111)
at org.exoplatform.groovyscript.GroovyTemplate.render(GroovyTemplate.java:119)
at org.exoplatform.groovyscript.text.TemplateService.merge(TemplateService.java:117)
at org.exoplatform.webui.core.lifecycle.Lifecycle.renderTemplate(Lifecycle.java:128)
at org.exoplatform.webui.core.lifecycle.Lifecycle.processRender(Lifecycle.java:85)
at org.exoplatform.webui.core.UIComponent.processRender(UIComponent.java:144)
at org.exoplatform.portal.webui.page.UIPageBody.processRender(UIPageBody.java:171)
at org.exoplatform.webui.core.UIContainer.renderChildren(UIContainer.java:368)
at org.exoplatform.webui.core.UIContainer.renderChildren(UIContainer.java:358)
at sun.reflect.GeneratedMethodAccessor137.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at
org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite$PojoCachedMethodSiteNoUnwrapNoCoerce.invoke(PojoMetaMethodSite.java:229)
at
org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:52)
at
org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:121)
at UIPortal.run(UIPortal.gtmpl:18)
at org.exoplatform.groovyscript.GroovyScript.render(GroovyScript.java:111)
at org.exoplatform.groovyscript.GroovyTemplate.render(GroovyTemplate.java:119)
at org.exoplatform.groovyscript.text.TemplateService.merge(TemplateService.java:117)
at org.exoplatform.webui.core.lifecycle.Lifecycle.renderTemplate(Lifecycle.java:128)
at org.exoplatform.webui.core.lifecycle.Lifecycle.processRender(Lifecycle.java:85)
at
org.exoplatform.portal.webui.portal.UIPortalLifecycle.processRender(UIPortalLifecycle.java:41)
at
org.exoplatform.portal.webui.portal.UIPortalLifecycle.processRender(UIPortalLifecycle.java:30)
at org.exoplatform.webui.core.UIComponent.processRender(UIComponent.java:144)
at
org.exoplatform.webui.core.UIComponentDecorator.renderChildren(UIComponentDecorator.java:101)
at sun.reflect.GeneratedMethodAccessor165.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at
org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite$PojoCachedMethodSiteNoUnwrapNoCoerce.invoke(PojoMetaMethodSite.java:229)
at
org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:52)
at
org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:121)
at UISiteBody.run(UISiteBody.gtmpl:31)
at org.exoplatform.groovyscript.GroovyScript.render(GroovyScript.java:111)
at org.exoplatform.groovyscript.GroovyTemplate.render(GroovyTemplate.java:119)
at org.exoplatform.groovyscript.text.TemplateService.merge(TemplateService.java:117)
at org.exoplatform.webui.core.lifecycle.Lifecycle.renderTemplate(Lifecycle.java:128)
at org.exoplatform.webui.core.lifecycle.Lifecycle.processRender(Lifecycle.java:85)
at org.exoplatform.webui.core.UIComponent.processRender(UIComponent.java:144)
at org.exoplatform.webui.core.UIContainer.renderChildren(UIContainer.java:368)
at org.exoplatform.webui.core.UIContainer.renderChildren(UIContainer.java:358)
at sun.reflect.GeneratedMethodAccessor137.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at
org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite$PojoCachedMethodSiteNoUnwrapNoCoerce.invoke(PojoMetaMethodSite.java:229)
at
org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:52)
at
org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:121)
at UIContainer.run(UIContainer.gtmpl:49)
at org.exoplatform.groovyscript.GroovyScript.render(GroovyScript.java:111)
at org.exoplatform.groovyscript.GroovyTemplate.render(GroovyTemplate.java:119)
at org.exoplatform.groovyscript.text.TemplateService.merge(TemplateService.java:117)
at org.exoplatform.webui.core.lifecycle.Lifecycle.renderTemplate(Lifecycle.java:128)
at org.exoplatform.webui.core.lifecycle.Lifecycle.processRender(Lifecycle.java:85)
at org.exoplatform.webui.core.UIComponent.processRender(UIComponent.java:144)
at
org.exoplatform.webui.core.UIComponentDecorator$UIComponentDecoratorLifecycle.processRender(UIComponentDecorator.java:113)
at
org.exoplatform.webui.core.UIComponentDecorator$UIComponentDecoratorLifecycle.processRender(UIComponentDecorator.java:104)
at org.exoplatform.webui.core.UIComponent.processRender(UIComponent.java:144)
at org.exoplatform.webui.core.UIContainer.renderChildren(UIContainer.java:368)
at org.exoplatform.webui.core.UIContainer.renderChildren(UIContainer.java:358)
at sun.reflect.GeneratedMethodAccessor137.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at
org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite$PojoCachedMethodSiteNoUnwrapNoCoerce.invoke(PojoMetaMethodSite.java:229)
at
org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:52)
at
org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:121)
at UIWorkingWorkspace.run(UIWorkingWorkspace.gtmpl:12)
at org.exoplatform.groovyscript.GroovyScript.render(GroovyScript.java:111)
at org.exoplatform.groovyscript.GroovyTemplate.render(GroovyTemplate.java:119)
at org.exoplatform.groovyscript.text.TemplateService.merge(TemplateService.java:117)
at org.exoplatform.webui.core.lifecycle.Lifecycle.renderTemplate(Lifecycle.java:128)
at org.exoplatform.webui.core.lifecycle.Lifecycle.processRender(Lifecycle.java:85)
at org.exoplatform.webui.core.UIComponent.processRender(UIComponent.java:144)
at org.exoplatform.webui.core.UIContainer.renderChildren(UIContainer.java:368)
at org.exoplatform.webui.core.UIContainer.renderChildren(UIContainer.java:358)
at org.exoplatform.webui.core.UIApplication.renderChildren(UIApplication.java:109)
at sun.reflect.GeneratedMethodAccessor269.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at
org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite$PojoCachedMethodSiteNoUnwrapNoCoerce.invoke(PojoMetaMethodSite.java:229)
at
org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:52)
at
org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:121)
at UIPortalApplicationChildren.run(UIPortalApplicationChildren.gtmpl:25)
at org.exoplatform.groovyscript.GroovyScript.render(GroovyScript.java:111)
at org.exoplatform.groovyscript.GroovyTemplate.render(GroovyTemplate.java:119)
at org.exoplatform.groovyscript.text.TemplateService.merge(TemplateService.java:117)
at org.exoplatform.webui.core.lifecycle.Lifecycle.renderTemplate(Lifecycle.java:128)
at
org.exoplatform.portal.webui.workspace.UIPortalApplicationLifecycle.processRender(UIPortalApplicationLifecycle.java:138)
at
org.exoplatform.portal.webui.workspace.UIPortalApplicationLifecycle.processRender(UIPortalApplicationLifecycle.java:100)
at
org.exoplatform.portal.webui.workspace.UIPortalApplicationLifecycle.processRender(UIPortalApplicationLifecycle.java:37)
at org.exoplatform.webui.core.UIComponent.processRender(UIComponent.java:144)
at
org.exoplatform.portal.webui.workspace.UIPortalApplication.processRender(UIPortalApplication.java:537)
at
org.exoplatform.portal.application.PortalRequestHandler.execute(PortalRequestHandler.java:117)
at org.exoplatform.web.WebAppController.service(WebAppController.java:165)
at
org.exoplatform.portal.application.PortalController.onService(PortalController.java:127)
at
org.exoplatform.container.web.AbstractHttpServlet.service(AbstractHttpServlet.java:132)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at
org.exoplatform.web.filter.ExtensibleFilter$ExtensibleFilterChain.doFilter(ExtensibleFilter.java:110)
at org.exoplatform.web.filter.ExtensibleFilter.doFilter(ExtensibleFilter.java:80)
at org.exoplatform.web.filter.GenericFilter.doFilter(GenericFilter.java:79)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.exoplatform.web.CacheUserProfileFilter.doFilter(CacheUserProfileFilter.java:72)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at
org.exoplatform.frameworks.jcr.web.ThreadLocalSessionProviderInitializedFilter.doFilter(ThreadLocalSessionProviderInitializedFilter.java:116)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at
org.exoplatform.services.security.web.SetCurrentIdentityFilter.doFilter(SetCurrentIdentityFilter.java:90)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.exoplatform.web.login.ClusteredSSOFilter.doFilter(ClusteredSSOFilter.java:73)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at
org.exoplatform.container.web.PortalContainerFilter.doFilter(PortalContainerFilter.java:69)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:563)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:662)
{code}
--
This message is automatically generated by JIRA.
For more information on JIRA, see:
http://www.atlassian.com/software/jira