diff options
author | Olivier Lamy <olamy@apache.org> | 2011-06-28 22:19:30 +0000 |
---|---|---|
committer | Olivier Lamy <olamy@apache.org> | 2011-06-28 22:19:30 +0000 |
commit | d7f0f916366c1a60b3ea4b2e6392fe3cdd85aa85 (patch) | |
tree | c28fb2ac0dbb07b57b4e9b5bd280a4e6f89683fd /archiva-modules | |
parent | a5c5d53fa11f7706ccafec757e386b33c7d3ac99 (diff) | |
download | archiva-d7f0f916366c1a60b3ea4b2e6392fe3cdd85aa85.tar.gz archiva-d7f0f916366c1a60b3ea4b2e6392fe3cdd85aa85.zip |
[MRM-1478] Enable DB caching
Submitted by Maria Catherine Tan
patch applied with modifications
git-svn-id: https://svn.apache.org/repos/asf/archiva/trunk@1140869 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'archiva-modules')
3 files changed, 95 insertions, 20 deletions
diff --git a/archiva-modules/archiva-web/archiva-webapp/pom.xml b/archiva-modules/archiva-web/archiva-webapp/pom.xml index f33940dba..afb20eca4 100644 --- a/archiva-modules/archiva-web/archiva-webapp/pom.xml +++ b/archiva-modules/archiva-web/archiva-webapp/pom.xml @@ -358,6 +358,20 @@ <scope>test</scope> <version>${struts.version}</version> </dependency> + <dependency> + <groupId>jpox</groupId> + <artifactId>jpox-ehcache</artifactId> + <exclusions> + <exclusion> + <groupId>commons-logging</groupId> + <artifactId>commons-logging</artifactId> + </exclusion> + <exclusion> + <groupId>ehcache</groupId> + <artifactId>ehcache</artifactId> + </exclusion> + </exclusions> + </dependency> </dependencies> <build> <resources> @@ -399,7 +413,7 @@ <tasks> <mkdir dir="${basedir}/target/archiva/WEB-INF/"/> <copy todir="${basedir}/target/archiva/WEB-INF/"> - <fileset dir="${basedir}/target" includes="classes/" excludes="**/struts.xml"/> + <fileset dir="${basedir}/target" includes="classes/" excludes="**/struts.xml,**/ehcache.xml"/> </copy> </tasks> </configuration> @@ -530,25 +544,6 @@ <artifactId>derby</artifactId> <version>10.1.3.1</version> </dependency> - <!-- Enable the following if you want JSP 2.0 or JVM version < 1.5 <dependency> - <groupId>commons-logging</groupId> - <artifactId>commons-logging</artifactId> - <version>1.1</version> - <type>jar</type> - </dependency> - <dependency> - <groupId>org.slf4j</groupId> - <artifactId>slf4j-jcl</artifactId> - <version>1.0.1</version> - <type>jar</type> - </dependency> - <dependency> - <groupId>log4j</groupId> - <artifactId>log4j</artifactId> - <version>1.2.14</version> - <type>jar</type> - </dependency> - --> </dependencies> </plugin> <plugin> diff --git a/archiva-modules/archiva-web/archiva-webapp/src/main/resources/ehcache.xml b/archiva-modules/archiva-web/archiva-webapp/src/main/resources/ehcache.xml new file mode 100644 index 000000000..3dc15b013 --- /dev/null +++ b/archiva-modules/archiva-web/archiva-webapp/src/main/resources/ehcache.xml @@ -0,0 +1,74 @@ +<ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <diskStore path="java.io.tmpdir" /> + + <!-- make default cache very short lived --> + + <defaultCache + maxElementsInMemory="100" + maxElementsOnDisk="0" + eternal="false" + overflowToDisk="false" + timeToIdleSeconds="300" + timeToLiveSeconds="600" + memoryStoreEvictionPolicy="LFU" /> + + <!-- + cache Redback classes longer to avoid a lot of SQL queries + See REDBACK-227 + --> + <cache name="defaultJpox" + maxElementsInMemory="10000" + maxElementsOnDisk="0" + eternal="false" + overflowToDisk="false" + timeToIdleSeconds="1800" + timeToLiveSeconds="14400" + memoryStoreEvictionPolicy="LFU" /> + + <cache name="org.codehaus.plexus.redback.rbac.jdo.JdoOperation" + maxElementsInMemory="10000" + maxElementsOnDisk="0" + eternal="false" + overflowToDisk="false" + timeToIdleSeconds="1800" + timeToLiveSeconds="14400" + memoryStoreEvictionPolicy="LFU" /> + + <cache name="org.codehaus.plexus.redback.rbac.jdo.JdoPermission" + maxElementsInMemory="10000" + maxElementsOnDisk="0" + eternal="false" + overflowToDisk="false" + timeToIdleSeconds="1800" + timeToLiveSeconds="14400" + memoryStoreEvictionPolicy="LFU" /> + + <cache name="org.codehaus.plexus.redback.rbac.jdo.JdoResource" + maxElementsInMemory="10000" + maxElementsOnDisk="0" + eternal="false" + overflowToDisk="false" + timeToIdleSeconds="1800" + timeToLiveSeconds="14400" + memoryStoreEvictionPolicy="LFU" /> + + <cache name="org.codehaus.plexus.redback.rbac.jdo.JdoRole" + maxElementsInMemory="10000" + maxElementsOnDisk="0" + eternal="false" + overflowToDisk="false" + timeToIdleSeconds="1800" + timeToLiveSeconds="14400" + memoryStoreEvictionPolicy="LFU" /> + + <cache name="org.codehaus.plexus.redback.rbac.jdo.JdoUserAssignment" + maxElementsInMemory="10000" + maxElementsOnDisk="0" + eternal="false" + overflowToDisk="false" + timeToIdleSeconds="300" + timeToLiveSeconds="600" + memoryStoreEvictionPolicy="LFU" /> + +</ehcache> + diff --git a/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/applicationContext.xml b/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/applicationContext.xml index 01d6dd055..857c4d9ec 100644 --- a/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/applicationContext.xml +++ b/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/applicationContext.xml @@ -159,6 +159,12 @@ <!-- NEEDED FOR POSTGRES, But causes problems in other JDBC implementations. <prop key="org.jpox.identifier.case">PreserveCase</prop> --> + + <!-- cache activation --> + <prop key="org.jpox.cache.level2">true</prop> + <prop key="org.jpox.cache.level2.type">ehcacheclassbased</prop> + <prop key="org.jpox.cache.level2.cacheName">defaultJpox</prop> + <prop key="org.jpox.cache.level2.configurationFile">/ehcache.xml</prop> </props> </property> </bean> |