| <!-- |
| ~ 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. |
| --> |
| <ehcache> |
| |
| <!-- Sets the path to the directory where cache .data files are created. |
| |
| If the path is a Java System Property it is replaced by |
| its value in the running VM. |
| |
| The following properties are translated: |
| user.home - User's home directory |
| user.dir - User's current working directory |
| java.io.tmpdir - Default temp file path --> |
| <diskStore path="java.io.tmpdir/jsecurity-ehcache"/> |
| |
| |
| <!--Default Cache configuration. These will applied to caches programmatically created through |
| the CacheManager. |
| |
| The following attributes are required: |
| |
| maxElementsInMemory - Sets the maximum number of objects that will be created in memory |
| eternal - Sets whether elements are eternal. If eternal, timeouts are ignored and the |
| element is never expired. |
| overflowToDisk - Sets whether elements can overflow to disk when the in-memory cache |
| has reached the maxInMemory limit. |
| |
| The following attributes are optional: |
| timeToIdleSeconds - Sets the time to idle for an element before it expires. |
| i.e. The maximum amount of time between accesses before an element expires |
| Is only used if the element is not eternal. |
| Optional attribute. A value of 0 means that an Element can idle for infinity. |
| The default value is 0. |
| timeToLiveSeconds - Sets the time to live for an element before it expires. |
| i.e. The maximum time between creation time and when an element expires. |
| Is only used if the element is not eternal. |
| Optional attribute. A value of 0 means that and Element can live for infinity. |
| The default value is 0. |
| diskPersistent - Whether the disk store persists between restarts of the Virtual Machine. |
| The default value is false. |
| diskExpiryThreadIntervalSeconds- The number of seconds between runs of the disk expiry thread. The default value |
| is 120 seconds. |
| memoryStoreEvictionPolicy - Policy would be enforced upon reaching the maxElementsInMemory limit. Default |
| policy is Least Recently Used (specified as LRU). Other policies available - |
| First In First Out (specified as FIFO) and Less Frequently Used |
| (specified as LFU) |
| --> |
| |
| <defaultCache |
| maxElementsInMemory="10000" |
| eternal="false" |
| timeToIdleSeconds="120" |
| timeToLiveSeconds="120" |
| overflowToDisk="false" |
| diskPersistent="false" |
| diskExpiryThreadIntervalSeconds="120" |
| /> |
| |
| <!-- We want eternal="true" (with no timeToIdle or timeToLive settings) because JSecurity manages session |
| expirations explicitly. If we set it to false and then set corresponding timeToIdle and timeToLive properties, |
| ehcache would evict sessions without JSecurity's knowledge, which would cause many problems |
| (e.g. "My JSecurity session timeout is 30 minutes - why isn't a session available after 2 minutes?" |
| Answer - ehcache expired it due to the timeToIdle property set to 120 seconds.) |
| |
| diskPersistent=true since we want an enterprise session management feature - ability to use sessions after |
| even after a JVM restart. --> |
| <!-- <cache name="jsecurity-activeSessionCache" |
| maxElementsInMemory="20000" |
| eternal="true" |
| overflowToDisk="true" |
| diskPersistent="true" |
| diskExpiryThreadIntervalSeconds="600"/> --> |
| |
| <cache name="org.jsecurity.realm.text.PropertiesRealm-0-accounts" |
| maxElementsInMemory="1000" |
| eternal="true" |
| overflowToDisk="true"/> |
| |
| </ehcache> |