What is Aggregation?

The portal provides a consolidated view of multiple content sources, or portlets, in a single browser display. The process of consolidating and rendering this content together is known as aggregation. In Jetspeed, the aggregator is made up of several pluggable Spring components that plug into the Jetspeed engine.

Supported Aggregators

List of Aggregators:

Component NameDescriptionMultithreaded?JSR-168 Caching?
PageAggregatorGiven a PSML page, aggregates the content of all portlets on that page.noyes
AsyncPageAggregatorA multi-threaded, asynchronous PSML page aggregator.yesyes
PortletAggregatorRenders the content of one single portlet.no*yes
* multi-threading is accomplished with the Jetspeed Desktop combined with the PortletAggregator

Aggregator Spring Configuration

                
        <!-- Default portlet timeout in milliseconds:
        Zero means no portlet timeout option by default.
        -->
        <constructor-arg>
            <value>0</value>
        </constructor-arg>				

            

Changing the Page Aggregator to Multithreaded

The default aggregator is single-threaded. To switch to multi-threaded, edit the pipelines.xml spring configuration file:

                
<!-- Before -->
  <bean id="aggregatorValve"
        class="org.apache.jetspeed.aggregator.AggregatorValve"
        init-method="initialize"

   <constructor-arg>
       <ref bean="org.apache.jetspeed.aggregator.PageAggregator"/>
   </constructor-arg>
  </bean> 

  <!-- After -->
  <bean id="aggregatorValve"
        class="org.apache.jetspeed.aggregator.AggregatorValve"
        init-method="initialize"

   <constructor-arg>
       <ref bean="org.apache.jetspeed.aggregator.AsyncPageAggregator"/>
   </constructor-arg>
  </bean> 

            

jetspeed-portlet.xml Parameters

For the multithreaded aggregator, you can override the default setting for rendering timeout for a specific portlet. This value is set in milliseconds and represents the timeout value that Jetspeed will give the portlet to complete rendering before it gives up.

                
<portlet>
        <portlet-name>PickANumberPortlet</portlet-name>
        <js:metadata name="timeout">3000</js:metadata>
</portlet>