Jetspeed渲染过程

来源:互联网 发布:coel draw 11 for mac 编辑:程序博客网 时间:2024/04/26 18:26
Jetspeed是在AggregatorVavle中进行页面的聚合
以前
页面聚合是在PortletRendererImpl.renderNow()里面的rJob.execute()方法做的事情,
现在发现原来加载每个portlet的内容,include一个portlet的jsp内容使用的是如下堆栈:
Daemon Thread [http-8080-1] (Suspended (breakpoint at line 689 in ContentFragmentImpl))ContentFragmentImpl.setPortletContent(PortletContent) line: 689PortletRendererImpl.buildRenderingJob(PortletWindow, RequestContext, boolean, PortletDefinition, long) line: 359PortletRendererImpl.createRenderingJob(ContentFragment, RequestContext) line: 247PortletRendererImpl.renderNow(ContentFragment, RequestContext, boolean) line: 161PortletRendererImpl.renderNow(ContentFragment, RequestContext) line: 151PageAggregatorImpl.aggregateAndRender(ContentFragment, RequestContext, ContentPage) line: 107PageAggregatorImpl.aggregateAndRender(ContentFragment, RequestContext, ContentPage) line: 103PageAggregatorImpl.build(RequestContext) line: 77AggregatorValve.invoke(RequestContext, ValveContext) line: 46


1.究竟rb.execute()中哪一步,是怎样将portlet的dom写到了PortletContentIml的属性CharArrayWriter cw中呢?
2.这里面用到的api有servet的include,wrapper,servletContext