<!DOCTYPE html>
<!--
 | Generated by Apache Maven Doxia at 2013-12-09
 | Rendered using Apache Maven Fluido Skin 1.3.0
-->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta name="Date-Revision-yyyymmdd" content="20131209" />
    <meta http-equiv="Content-Language" content="en" />
    <title>Apache Archiva Redback Components Aggregator - About</title>
    <link rel="stylesheet" href="./css/apache-maven-fluido-1.3.0.min.css" />
    <link rel="stylesheet" href="./css/site.css" />
    <link rel="stylesheet" href="./css/print.css" media="print" />

      
    <script type="text/javascript" src="./js/apache-maven-fluido-1.3.0.min.js"></script>

    
            </head>
        <body class="topBarEnabled">
          
                        
                    
                

    <div id="topbar" class="navbar navbar-fixed-top ">
      <div class="navbar-inner">
                                  <div class="container"><div class="nav-collapse">
            
                
                                <ul class="nav">
                          <li class="dropdown">
        <a href="#" class="dropdown-toggle" data-toggle="dropdown">Modules <b class="caret"></b></a>
        <ul class="dropdown-menu">
        
                      <li>      <a href="redback-components/index.html"  title="Apache Archiva Redback Components">Apache Archiva Redback Components</a>
</li>
                  
                      <li>      <a href="spring-cache/index.html"  title="Spring Cache Component">Spring Cache Component</a>
</li>
                  
                      <li>      <a href="expression-evaluator/index.html"  title="Expression Evaluator Components">Expression Evaluator Components</a>
</li>
                  
                      <li>      <a href="spring-jdo2/index.html"  title="Spring JDO2 Component">Spring JDO2 Component</a>
</li>
                  
                      <li>      <a href="spring-quartz/index.html"  title="Spring Quartz Component">Spring Quartz Component</a>
</li>
                  
                      <li>      <a href="spring-registry/index.html"  title="Redback Spring Registry Component">Redback Spring Registry Component</a>
</li>
                  
                      <li>      <a href="spring-taskqueue/index.html"  title="Spring Task Queue">Spring Task Queue</a>
</li>
                  
                      <li>      <a href="spring-apacheds/index.html"  title="Spring Apache Directory Server Components">Spring Apache Directory Server Components</a>
</li>
                  
                      <li>      <a href="spring-utils/index.html"  title="Spring Utils Goodies">Spring Utils Goodies</a>
</li>
                  
                      <li>      <a href="redback-features/index.html"  title="Redback :: Components :: Karaf features">Redback :: Components :: Karaf features</a>
</li>
                  
                      <li>      <a href="modello-plugins/index.html"  title="Modello Plugins">Modello Plugins</a>
</li>
                          </ul>
      </li>
                      <li class="dropdown">
        <a href="#" class="dropdown-toggle" data-toggle="dropdown">ASF <b class="caret"></b></a>
        <ul class="dropdown-menu">
        
                      <li>      <a href="http://www.apache.org/foundation/how-it-works.html"  title="How Apache Works">How Apache Works</a>
</li>
                  
                      <li>      <a href="http://www.apache.org/foundation/"  title="Foundation">Foundation</a>
</li>
                  
                      <li>      <a href="http://www.apache.org/foundation/sponsorship.html"  title="Sponsoring Apache">Sponsoring Apache</a>
</li>
                  
                      <li>      <a href="http://www.apache.org/foundation/thanks.html"  title="Thanks">Thanks</a>
</li>
                          </ul>
      </li>
                <li class="dropdown">
        <a href="#" class="dropdown-toggle" data-toggle="dropdown">Project Documentation <b class="caret"></b></a>
        <ul class="dropdown-menu">
        
                      <li class="dropdown-submenu">
                                      <a href="project-info.html"  title="Project Information">Project Information</a>
              <ul class="dropdown-menu">
                                  <li>      <a href="index.html"  title="About">About</a>
</li>
                                  <li>      <a href="plugin-management.html"  title="Plugin Management">Plugin Management</a>
</li>
                                  <li>      <a href="distribution-management.html"  title="Distribution Management">Distribution Management</a>
</li>
                                  <li>      <a href="dependency-info.html"  title="Dependency Information">Dependency Information</a>
</li>
                                  <li>      <a href="dependency-convergence.html"  title="Dependency Convergence">Dependency Convergence</a>
</li>
                                  <li>      <a href="source-repository.html"  title="Source Repository">Source Repository</a>
</li>
                                  <li>      <a href="mail-lists.html"  title="Mailing Lists">Mailing Lists</a>
</li>
                                  <li>      <a href="issue-tracking.html"  title="Issue Tracking">Issue Tracking</a>
</li>
                                  <li>      <a href="integration.html"  title="Continuous Integration">Continuous Integration</a>
</li>
                                  <li>      <a href="plugins.html"  title="Project Plugins">Project Plugins</a>
</li>
                                  <li>      <a href="license.html"  title="Project License">Project License</a>
</li>
                                  <li>      <a href="modules.html"  title="Project Modules">Project Modules</a>
</li>
                                  <li>      <a href="team-list.html"  title="Project Team">Project Team</a>
</li>
                                  <li>      <a href="project-summary.html"  title="Project Summary">Project Summary</a>
</li>
                                  <li>      <a href="dependencies.html"  title="Dependencies">Dependencies</a>
</li>
                              </ul>
            </li>
                  
                      <li class="dropdown-submenu">
                                      <a href="project-reports.html"  title="Project Reports">Project Reports</a>
              <ul class="dropdown-menu">
                                  <li>      <a href="apidocs/index.html"  title="JavaDocs">JavaDocs</a>
</li>
                              </ul>
            </li>
                          </ul>
      </li>
                  </ul>
          
                      <form id="search-form" action="http://www.google.com/search" method="get"  class="navbar-search pull-right" >
    
  <input value="http://archiva.apache.org/redback/components" name="sitesearch" type="hidden"/>
  <input class="search-query" name="q" id="query" type="text" />
</form>
<script type="text/javascript" src="http://www.google.com/coop/cse/brand?form=search-form"></script>
          
                                                    
        
        
        <ul class="nav pull-right"><li>
    
    <a href="https://twitter.com/archiva" class="twitter-follow-button" data-show-count="false" data-align="right" data-size="large" data-show-screen-name="true" data-lang="en">Follow archiva</a>
    <script type="text/javascript">!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="//platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>

        </li></ul>
                
                               <ul class="nav pull-right">
              <li class="dropdown">
                <a href="#" class="dropdown-toggle" data-toggle="dropdown">External Links <b class="caret"></b></a>
                <ul class="dropdown-menu">
                      <li>      <a href=".."  title="Archiva">Archiva</a>
</li>
                  </ul>
              </li>
            </ul>
          
                      </div>
          
        </div>
      </div>
    </div>
    
        <div class="container">
          <div id="banner">
        <div class="pull-left">
                                                  <a href="../index.html" id="bannerLeft">
                                                                                                <img src="../images/archiva.png"  alt="Apache Archiva"/>
                </a>
                      </div>
        <div class="pull-right">                  <a href="http://www.apache.org/" id="bannerRight">
                                                                                        <img src="http://www.apache.org/images/asf_logo_wide.png"  alt="Apache Software Foundation"/>
                </a>
      </div>
        <div class="clear"><hr/></div>
      </div>

      <div id="breadcrumbs">
        <ul class="breadcrumb">
                
                    
                  <li id="publishDate">Last Published: 2013-12-09</li>
                  <li class="divider">|</li> <li id="projectVersion">Version: 1.0-SNAPSHOT</li>
                          <li class="divider">|</li>             <li class="">
                    <a href="http://www.apache.org/" class="externalLink" title="Apache">
        Apache</a>
        </li>
      <li class="divider ">/</li>
                <li class="">
                    <a href="./" title="Apache Archiva Redback Components Aggregator">
        Apache Archiva Redback Components Aggregator</a>
        </li>
      <li class="divider ">/</li>
        <li class="">About</li>
                
                
                    
      
                            </ul>
      </div>

      
                
        <div id="bodyColumn" >
                                  
            <div class="section">
<h2>About Apache Archiva Redback Components Aggregator<a name="About_Apache_Archiva_Redback_Components_Aggregator"></a></h2><a name="About_Apache_Archiva_Redback_Components_Aggregator"></a>
<p>Utilities component used by Archiva and Continuum.</p>
<div class="section">
<h3>Project Modules<a name="Project_Modules"></a></h3><a name="Project_Modules"></a>
<p>This project has declared the following modules:</p>
<table border="0" class="table table-striped">
<tr class="a">
<th>Name</th>
<th>Description</th></tr>
<tr class="b">
<td><a href="../redback/components/redback-components/index.html">Apache Archiva Redback Components</a></td>
<td>Parent Pom for various components used in Redback, Apache Archiva and Apache Continuum.</td></tr>
<tr class="a">
<td><a href="../redback/components/spring-cache/spring-cache-api/index.html">Spring Cache API</a></td>
<td>Common Cache API.</td></tr>
<tr class="b">
<td><a href="../redback/components/spring-cache/spring-cache-test/index.html">Spring Cache Tests</a></td>
<td>Commons Test Cache API.</td></tr>
<tr class="a">
<td><a href="../redback/components/spring-cache/spring-cache-providers/spring-cache-hashmap/index.html">Spring Cache Provider :: hashmap</a></td>
<td>Commons Cache API : simple in memory HashMap implementation.</td></tr>
<tr class="b">
<td><a href="../redback/components/spring-cache/spring-cache-providers/spring-cache-ehcache/index.html">Spring Cache Provider :: ehcache</a></td>
<td>Commons Cache API : ehcache implementation.</td></tr>
<tr class="a">
<td><a href="../redback/components/spring-cache/spring-cache-providers/spring-cache-oscache/index.html">Spring Cache Provider :: oscache</a></td>
<td>Commons Cache API : oscache implementation.</td></tr>
<tr class="b">
<td><a href="../redback/components/spring-cache/spring-cache-providers/index.html">Spring Cache Providers</a></td>
<td>Commons Cache API Providers Parent Pom.</td></tr>
<tr class="a">
<td><a href="../redback/components/spring-cache/index.html">Spring Cache Component</a></td>
<td>Cache API with various implementations : simple HashMap, ehcache, oscache. Based on Spring container.</td></tr>
<tr class="b">
<td><a href="../redback/components/expression-evaluator/index.html">Expression Evaluator Components</a></td>
<td>Parent Pom for various components used in Redback, Apache Archiva and Apache Continuum.</td></tr>
<tr class="a">
<td><a href="../redback/components/spring-jdo2/index.html">Spring JDO2 Component</a></td>
<td>Parent Pom for various components used in Redback, Apache Archiva and Apache Continuum.</td></tr>
<tr class="b">
<td><a href="../redback/components/spring-quartz/index.html">Spring Quartz Component</a></td>
<td>Parent Pom for various components used in Redback, Apache Archiva and Apache Continuum.</td></tr>
<tr class="a">
<td><a href="../redback/components/spring-registry/spring-registry-api/index.html">Redback Spring Registry Api</a></td>
<td>Parent Pom for various components used in Redback, Apache Archiva and Apache Continuum.</td></tr>
<tr class="b">
<td><a href="../redback/components/spring-registry/spring-registry-commons/index.html">Redback Spring Registry commons-configuration</a></td>
<td>Parent Pom for various components used in Redback, Apache Archiva and Apache Continuum.</td></tr>
<tr class="a">
<td><a href="../redback/components/spring-registry/index.html">Redback Spring Registry Component</a></td>
<td>Parent Pom for various components used in Redback, Apache Archiva and Apache Continuum.</td></tr>
<tr class="b">
<td><a href="../redback/components/spring-taskqueue/index.html">Spring Task Queue</a></td>
<td>Parent Pom for various components used in Redback, Apache Archiva and Apache Continuum.</td></tr>
<tr class="a">
<td><a href="../redback/components/spring-apacheds/index.html">Spring Apache Directory Server Components</a></td>
<td>Parent Pom for various components used in Redback, Apache Archiva and Apache Continuum.</td></tr>
<tr class="b">
<td><a href="../redback/components/spring-utils/index.html">Spring Utils Goodies</a></td>
<td>Contains some spring goodies.</td></tr>
<tr class="a">
<td><a href="../redback/components/redback-features/index.html">Redback :: Components :: Karaf features</a></td>
<td>Parent Pom for various components used in Redback, Apache Archiva and Apache Continuum.</td></tr>
<tr class="b">
<td><a href="../redback/components/modello-plugins/modello-db-keywords/index.html">Modello Database Keywords Library</a></td>
<td>Modello extensions used by Archiva and Continuum.</td></tr>
<tr class="a">
<td><a href="../redback/components/modello-plugin-store/modello-plugin-store/index.html">Modello Store Plugin</a></td>
<td>Modello extensions used by Archiva and Continuum.</td></tr>
<tr class="b">
<td><a href="../redback/components/modello-plugins/modello-plugin-jpox/index.html">Modello JPox Plugin</a></td>
<td>Modello extensions used by Archiva and Continuum.</td></tr>
<tr class="a">
<td><a href="../redback/components/modello-plugins/modello-plugin-redback-registry/index.html">Redback Registry Reader/Writer</a></td>
<td>Modello extensions used by Archiva and Continuum.</td></tr>
<tr class="b">
<td><a href="../redback/components/modello-plugins/jpox-modello-maven-plugin/index.html">Jpox Modello Maven Plugin</a></td>
<td>Modello extensions used by Archiva and Continuum.</td></tr>
<tr class="a">
<td><a href="../redback/components/modello-plugins/index.html">Modello Plugins</a></td>
<td>Modello extensions used by Archiva and Continuum.</td></tr></table></div></div>
                  </div>
          </div>

    <hr/>

    <footer>
            <div class="container">
              <div class="row span12">Copyright &copy;                    2006-2013
                        <a href="http://www.apache.org/">The Apache Software Foundation</a>.
            All Rights Reserved.      
                    
      </div>

        
                <p id="poweredBy" class="pull-right">
                          <a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy">
        <img class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png" />
      </a>
              </p>
        
          
    
    
                
    <div id="ohloh" class="pull-right">
      <script type="text/javascript" src="http://www.ohloh.net/p/8659/widgets/project_basic_stats.js"></script>
    </div>
        </div>
    </footer>
  </body>
</html>