Jetspeed是在AggregatorVavle中进行页面的聚合
以前
页面聚合是在PortletRendererImpl.renderNow()里面的rJob.execute()方法做的事情,
现在发现原来加载每个portlet的内容,include一个portlet的jsp内容使用的是如下堆栈:
[color=red]
1.究竟rb.execute()中哪一步,是怎样将portlet的dom写到了PortletContentIml的属性CharArrayWriter cw中呢?
2.这里面用到的api有servet的include,wrapper,servletContext
[/color]
以前
页面聚合是在PortletRendererImpl.renderNow()里面的rJob.execute()方法做的事情,
现在发现原来加载每个portlet的内容,include一个portlet的jsp内容使用的是如下堆栈:
Daemon Thread [http-8080-1] (Suspended (breakpoint at line 689 in ContentFragmentImpl))
ContentFragmentImpl.setPortletContent(PortletContent) line: 689
PortletRendererImpl.buildRenderingJob(PortletWindow, RequestContext, boolean, PortletDefinition, long) line: 359
PortletRendererImpl.createRenderingJob(ContentFragment, RequestContext) line: 247
PortletRendererImpl.renderNow(ContentFragment, RequestContext, boolean) line: 161
PortletRendererImpl.renderNow(ContentFragment, RequestContext) line: 151
PageAggregatorImpl.aggregateAndRender(ContentFragment, RequestContext, ContentPage) line: 107
PageAggregatorImpl.aggregateAndRender(ContentFragment, RequestContext, ContentPage) line: 103
PageAggregatorImpl.build(RequestContext) line: 77
AggregatorValve.invoke(RequestContext, ValveContext) line: 46
[color=red]
1.究竟rb.execute()中哪一步,是怎样将portlet的dom写到了PortletContentIml的属性CharArrayWriter cw中呢?
2.这里面用到的api有servet的include,wrapper,servletContext
[/color]