<?xml version="1.0"?>

<!--
  ~ Licensed to the Apache Software Foundation (ASF) under one
  ~ or more contributor license agreements.  See the NOTICE file
  ~ distributed with this work for additional information
  ~ regarding copyright ownership.  The ASF licenses this file
  ~ to you under the Apache License, Version 2.0 (the
  ~ "License"); you may not use this file except in compliance
  ~ with the License.  You may obtain a copy of the License at
  ~
  ~   http://www.apache.org/licenses/LICENSE-2.0
  ~
  ~ Unless required by applicable law or agreed to in writing,
  ~ software distributed under the License is distributed on an
  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
  ~ KIND, either express or implied.  See the License for the
  ~ specific language governing permissions and limitations
  ~ under the License.
  -->
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
           http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">


  <bean name="cache#hashmap" class="org.apache.archiva.redback.components.cache.hashmap.HashMapCache">
    <property name="cacheHitRatio" value="1.0"/>
    <property name="cacheMaxSize" value="0"/>
    <property name="refreshTime" value="0"/>
  </bean>

  <bean name="cache#never" class="org.apache.archiva.redback.components.cache.hashmap.HashMapCache">
    <property name="cacheHitRatio" value="1.0"/>
    <property name="cacheMaxSize" value="0"/>
    <property name="refreshTime" value="0"/>
  </bean>

  <bean name="cache#alwaysrefresh" class="org.apache.archiva.redback.components.cache.hashmap.HashMapCache">
    <property name="cacheHitRatio" value="1.0"/>
    <property name="cacheMaxSize" value="0"/>
    <property name="refreshTime" value="-1"/>
  </bean>

  <bean name="cache#onesecondrefresh" class="org.apache.archiva.redback.components.cache.hashmap.HashMapCache">
    <property name="cacheHitRatio" value="1.0"/>
    <property name="cacheMaxSize" value="0"/>
    <property name="refreshTime" value="1"/>
  </bean>

  <bean name="cache#twosecondrefresh" class="org.apache.archiva.redback.components.cache.hashmap.HashMapCache">
    <property name="cacheHitRatio" value="1.0"/>
    <property name="cacheMaxSize" value="0"/>
    <property name="refreshTime" value="2"/>
  </bean>
 
</beans>