<?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#ehcache" class="org.apache.archiva.redback.components.cache.ehcache.EhcacheCache">
    <property name="diskExpiryThreadIntervalSeconds" value="600"/>
    <property name="diskPersistent" value="false"/>
    <property name="diskStorePath" value="./target/ehcache-test-store"/>
    <property name="eternal" value="false"/>
    <property name="maxElementsInMemory"  value="1000"/>
    <property name="memoryEvictionPolicy" value="LRU"/>
    <property name="name" value="test-cache"/>
    <property name="overflowToDisk" value="false"/>
    <property name="timeToIdleSeconds" value="600"/>
    <property name="timeToLiveSeconds" value="300"/>
  </bean>

  <bean name="cache#alwaysrefresh" class="org.apache.archiva.redback.components.cache.ehcache.EhcacheCache">
    <property name="diskExpiryThreadIntervalSeconds" value="600"/>
    <property name="diskPersistent" value="false"/>
    <property name="diskStorePath" value="./target/ehcache-test-store"/>
    <property name="eternal" value="false"/>
    <property name="maxElementsInMemory"  value="1000"/>
    <property name="memoryEvictionPolicy" value="LRU"/>
    <property name="name" value="alwaysrefresh"/>
    <property name="overflowToDisk" value="false"/>
    <property name="timeToIdleSeconds" value="0"/>
    <property name="timeToLiveSeconds" value="1"/>
  </bean>

  <bean name="cache#neverrefresh" class="org.apache.archiva.redback.components.cache.ehcache.EhcacheCache">
    <property name="diskExpiryThreadIntervalSeconds" value="600"/>
    <property name="diskPersistent" value="false"/>
    <property name="diskStorePath" value="./target/ehcache-test-store"/>
    <property name="eternal" value="true"/>
    <property name="maxElementsInMemory"  value="1000"/>
    <property name="memoryEvictionPolicy" value="LRU"/>
    <property name="name" value="neverrefresh"/>
    <property name="overflowToDisk" value="false"/>
    <property name="timeToIdleSeconds" value="0"/>
    <property name="timeToLiveSeconds" value="0"/>
  </bean>

  <bean name="cache#onesecondrefresh" class="org.apache.archiva.redback.components.cache.ehcache.EhcacheCache">
    <property name="diskExpiryThreadIntervalSeconds" value="600"/>
    <property name="diskPersistent" value="false"/>
    <property name="diskStorePath" value="./target/ehcache-test-store"/>
    <property name="eternal" value="false"/>
    <property name="maxElementsInMemory"  value="1000"/>
    <property name="memoryEvictionPolicy" value="LRU"/>
    <property name="name" value="onesecondrefresh"/>
    <property name="overflowToDisk" value="false"/>
    <property name="timeToIdleSeconds" value="1"/>
    <property name="timeToLiveSeconds" value="1"/>
  </bean>

  <bean name="cache#twosecondrefresh" class="org.apache.archiva.redback.components.cache.ehcache.EhcacheCache">
    <property name="diskExpiryThreadIntervalSeconds" value="600"/>
    <property name="diskPersistent" value="false"/>
    <property name="diskStorePath" value="./target/ehcache-test-store"/>
    <property name="eternal" value="false"/>
    <property name="maxElementsInMemory"  value="1000"/>
    <property name="memoryEvictionPolicy" value="LRU"/>
    <property name="name" value="onesecondrefresh"/>
    <property name="overflowToDisk" value="false"/>
    <property name="timeToIdleSeconds" value="2"/>
    <property name="timeToLiveSeconds" value="2"/>
  </bean>

</beans>