<?xml version="1.0" encoding="UTF-8"?>

<!--
  ~ Copyright 2010-2014 Ning, Inc.
  ~ Copyright 2014-2017 Groupon, Inc
  ~ Copyright 2014-2017 The Billing Project, LLC
  ~
  ~ The Billing Project 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.
  -->

<ehcache:config xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'
                xmlns:ehcache='http://www.ehcache.org/v3'
                xmlns:jsr107='http://www.ehcache.org/v3/jsr107'
                xmlns:terracotta='http://www.ehcache.org/v3/clustered'
                xsi:schemaLocation="http://www.ehcache.org/v3
                                    http://www.ehcache.org/schema/ehcache-core-3.3.xsd
                                    http://www.ehcache.org/v3/jsr107
                                    http://www.ehcache.org/schema/ehcache-107-ext-3.3.xsd
                                    http://www.ehcache.org/v3/clustered
                                    http://www.ehcache.org/schema/ehcache-clustered-ext-3.3.xsd">
    <ehcache:service>
        <jsr107:defaults default-template="defaultCacheConfiguration" enable-management="true" enable-statistics="true">
            <!-- See AuditSqlDao -->
            <jsr107:cache name="audit-log" template="defaultShortTTLCacheConfiguration"/>
            <jsr107:cache name="audit-log-via-history" template="defaultShortTTLCacheConfiguration"/>
        </jsr107:defaults>
    </ehcache:service>

    <ehcache:cache-template name="defaultShortTTLCacheConfiguration">
        <ehcache:expiry>
            <ehcache:ttl unit="seconds">20</ehcache:ttl>
        </ehcache:expiry>

        <ehcache:resources>
            <ehcache:heap unit="entries">100000</ehcache:heap>
        </ehcache:resources>
    </ehcache:cache-template>

    <ehcache:cache-template name="defaultCacheConfiguration">
        <ehcache:expiry>
            <ehcache:none/>
        </ehcache:expiry>

        <ehcache:resources>
            <ehcache:heap unit="entries">100000</ehcache:heap>
        </ehcache:resources>
    </ehcache:cache-template>
</ehcache:config>

