You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jcs-dev@jakarta.apache.org by tv...@apache.org on 2007/05/10 18:04:27 UTC
svn commit: r536904 [38/38] - in /jakarta/jcs/trunk: ./
auxiliary-builds/javagroups/
auxiliary-builds/javagroups/src/java/org/apache/jcs/auxiliary/javagroups/
auxiliary-builds/javagroups/src/test/org/apache/jcs/auxiliary/javagroups/
auxiliary-builds/jd...
Modified: jakarta/jcs/trunk/xdocs/getting_started/intro.xml
URL: http://svn.apache.org/viewvc/jakarta/jcs/trunk/xdocs/getting_started/intro.xml?view=diff&rev=536904&r1=536903&r2=536904
==============================================================================
--- jakarta/jcs/trunk/xdocs/getting_started/intro.xml (original)
+++ jakarta/jcs/trunk/xdocs/getting_started/intro.xml Thu May 10 09:03:42 2007
@@ -1,250 +1,268 @@
-<?xml version="1.0"?>
-
-<document>
- <properties>
- <title>Getting Started -- Intoduction</title>
- <author email="asmuts@apache.org">Aaron Smuts</author>
- </properties>
-
- <body>
-
- <section name="Getting Started">
- <p>
- To start using JCS you need to (1) understand the core
- concepts, (2) download JCS, (3) get the required
- dependencies, (4) configure JCS, and (5) then start
- programming to it. The purpose of the getting started
- guide is to help you get up and running with JCS as
- quickly as possible. In depth doumentation on the
- various features of JCS is provided in the User's Guide.
- </p>
- </section>
-
- <section name="STEP 1: Understand the Core Concepts">
- <p>
- In order to use JCS, you must understand a few core
- concepts, most importantly you need to know the
- difference between "elements," "regions," and
- "auxiliaries".
- </p>
- <p>
- JCS is an object cache. You can put objects, or
- "elements," into JCS and reference them via a key, much
- like a hashtable.
- </p>
- <p>
- You can think of JCS as a collection of hashtables that
- you reference by name. Each of these hashtables is
- called a "region," and each region can be configured
- independently of the others. For instance, I may have a
- region called Cities where I cache City objects that
- change infrequently. I may also define a region called
- Products where I cache product data that changes more
- frequently. I would configure the volatile Product
- region to expire elements more quickly than the City
- region.
- </p>
- <p>
- "Auxiliaries" are optional plugins that a region can
- use. The core auxiliaries are the Indexed Disk Cache,
- the TCP Lateral Cache, and the Remote Cache Server. The
- Disk Cache, for example, allows you to swap items onto
- disk when a memory threshold is reached. You can read
- more about the available auxiliaries
- <a href="../Plugins.html">HERE</a>
- .
- </p>
- </section>
-
-
- <section name="STEP 2: Download JCS">
- <p>
- Download the latest version of JCS. The latest JCS
- builds are located
- <a
- href="http://svn.apache.org/viewcvs.cgi/jakarta/jcs/trunk/tempbuild/">
- HERE
- </a>
- </p>
- <p>
- If you would like to build JCS yourself, check it out
- from Subversion and build it as you would any other
- project built by Maven 1.x. The location of the
- repository is documented in the project info pages that
- are linked via the left nav.
- </p>
- </section>
-
- <section name="STEP 3: Get the Required Dependencies">
- <p>
- As of version 1.2.7.0, the core of JCS (the LRU memory
- cache, the indexed disk cache, the TCP lateral, and the
- RMI remote server) requires only two other jars.
- </p>
- <p>
- <a
- href="http://gee.cs.oswego.edu/dl/classes/EDU/oswego/cs/dl/util/concurrent/intro.html">
- concurrent
- </a>
- </p>
- <p>commons-logging</p>
- <p>
- Versions 1.2.6.9 and below also require the following
- two additional jars:
- </p>
- <p>commons-collections</p>
- <p>commons-lang</p>
- <p>
- All of the other dependencies listed on the project info
- page are for optional plugins.
- </p>
- </section>
-
- <section name="STEP 4: Configure JCS">
- <p>
- JCS is configured from a properties file called
- "cache.ccf". There are alternatives to using this file,
- but they are beyond the scope of the getting started
- guide.
- </p>
- <p>
- The cache configuration has three parts: default,
- regions, and auxiliaries. You can think of the
- auxiliaries as log4j appenders and the regions as log4j
- categories. For each region (or category) you can
- specify and auxiliary (or appender to use). If you don't
- define a region in the cache.ccf, then the default
- settings are used. The difference between JCS and log4j
- is that in JCS, pre-defined regions do not inherent
- auxiliaries from the default region.
- </p>
- <p>
- The following cache.ccf file defines one region called
- "testCache1" and uses the Indexed Disk Cache, here
- called "DC" by default. The LRU Memory Cache is selected
- as the memory manager.
- </p>
- <source>
- <![CDATA[
-# DEFAULT CACHE REGION
-jcs.default=DC
-jcs.default.cacheattributes=
- org.apache.jcs.engine.CompositeCacheAttributes
-jcs.default.cacheattributes.MaxObjects=1000
-jcs.default.cacheattributes.MemoryCacheName=
- org.apache.jcs.engine.memory.lru.LRUMemoryCache
-jcs.default.cacheattributes.UseMemoryShrinker=false
-jcs.default.cacheattributes.MaxMemoryIdleTimeSeconds=3600
-jcs.default.cacheattributes.ShrinkerIntervalSeconds=60
-jcs.default.elementattributes=org.apache.jcs.engine.ElementAttributes
-jcs.default.elementattributes.IsEternal=false
-jcs.default.elementattributes.MaxLifeSeconds=21600
-jcs.default.elementattributes.IdleTime=1800
-jcs.default.elementattributes.IsSpool=true
-jcs.default.elementattributes.IsRemote=true
-jcs.default.elementattributes.IsLateral=true
-
-# PRE-DEFINED CACHE REGIONS
-jcs.region.testCache1=DC
-jcs.region.testCache1.cacheattributes=
- org.apache.jcs.engine.CompositeCacheAttributes
-jcs.region.testCache1.cacheattributes.MaxObjects=1000
-jcs.region.testCache1.cacheattributes.MemoryCacheName=
- org.apache.jcs.engine.memory.lru.LRUMemoryCache
-jcs.region.testCache1.cacheattributes.UseMemoryShrinker=false
-jcs.region.testCache1.cacheattributes.MaxMemoryIdleTimeSeconds=3600
-jcs.region.testCache1.cacheattributes.ShrinkerIntervalSeconds=60
-jcs.region.testCache1.cacheattributes.MaxSpoolPerRun=500
-jcs.region.testCache1.elementattributes=org.apache.jcs.engine.ElementAttributes
-jcs.region.testCache1.elementattributes.IsEternal=false
-
-# AVAILABLE AUXILIARY CACHES
-jcs.auxiliary.DC=
- org.apache.jcs.auxiliary.disk.indexed.IndexedDiskCacheFactory
-jcs.auxiliary.DC.attributes=
- org.apache.jcs.auxiliary.disk.indexed.IndexedDiskCacheAttributes
-jcs.auxiliary.DC.attributes.DiskPath=${user.dir}/jcs_swap
-jcs.auxiliary.DC.attributes.MaxPurgatorySize=10000000
-jcs.auxiliary.DC.attributes.MaxKeySize=1000000
-jcs.auxiliary.DC.attributes.MaxRecycleBinSize=5000
-jcs.auxiliary.DC.attributes.OptimizeAtRemoveCount=300000
-jcs.auxiliary.DC.attributes.ShutdownSpoolTimeLimit=60
- ]]>
- </source>
- <p>
- Basic JCS configuration is described in more detail
- <a href="../BasicJCSConfiguration.html">HERE</a>
- </p>
- <p>
- Element level configuration is described in more detail
- <a href="../ElementAttributes.html">HERE</a>
- </p>
- <p>
- For more information on advanced configuration options
- and the available plugins, see the User's Guide.
- </p>
- </section>
-
- <section name="STEP 5: Programming to JCS">
- <p>
- JCS provides a convenient class that should meet all
- your needs. It is called, appropriately enough,
- <code>org.apache.jcs.JCS</code>
- </p>
- <p>
- To get a cache region you simply ask JCS for the region
- by name. If you wanted to use JCS for City objects, you
- would do something like this:
- </p>
- <source>
- <![CDATA[
-import org.apache.jcs.JCS;
-import org.apache.jcs.access.exception.CacheException;
-
-. . .
-
- private static final String cacheRegionName = "city";
-
- private JCS cache = null;
-
-. . .
- // in your constructor you might do this
- try
- {
- setCache( JCS.getInstance( this.getCacheRegionName() ) );
- }
- catch ( CacheException e )
- {
- log.error( "Problem initializing cache for region name ["
- + this.getCacheRegionName() + "].", e );
- }
-
-. . .
-
- // to get a city out of the cache by id you might do this:
- String key = "cityId:" + String.valueOf( id );
-
- City city = (City) cache.get( key );
-
-. . .
-
- // to put a city object in the cache, you could do this:
- try
- {
- // if it isn't null, insert it
- if ( city != null )
- {
- cache.put( key, city );
- }
- }
- catch ( CacheException e )
- {
- log.error( "Problem putting "
- + city + " in the cache, for key " + key, e );
- }
- ]]>
- </source>
- </section>
-
- </body>
-</document>
\ No newline at end of file
+<?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.
+-->
+
+<document>
+ <properties>
+ <title>Getting Started -- Intoduction</title>
+ <author email="asmuts@apache.org">Aaron Smuts</author>
+ </properties>
+
+ <body>
+
+ <section name="Getting Started">
+ <p>
+ To start using JCS you need to (1) understand the core
+ concepts, (2) download JCS, (3) get the required
+ dependencies, (4) configure JCS, and (5) then start
+ programming to it. The purpose of the getting started
+ guide is to help you get up and running with JCS as
+ quickly as possible. In depth doumentation on the
+ various features of JCS is provided in the User's Guide.
+ </p>
+ </section>
+
+ <section name="STEP 1: Understand the Core Concepts">
+ <p>
+ In order to use JCS, you must understand a few core
+ concepts, most importantly you need to know the
+ difference between "elements," "regions," and
+ "auxiliaries".
+ </p>
+ <p>
+ JCS is an object cache. You can put objects, or
+ "elements," into JCS and reference them via a key, much
+ like a hashtable.
+ </p>
+ <p>
+ You can think of JCS as a collection of hashtables that
+ you reference by name. Each of these hashtables is
+ called a "region," and each region can be configured
+ independently of the others. For instance, I may have a
+ region called Cities where I cache City objects that
+ change infrequently. I may also define a region called
+ Products where I cache product data that changes more
+ frequently. I would configure the volatile Product
+ region to expire elements more quickly than the City
+ region.
+ </p>
+ <p>
+ "Auxiliaries" are optional plugins that a region can
+ use. The core auxiliaries are the Indexed Disk Cache,
+ the TCP Lateral Cache, and the Remote Cache Server. The
+ Disk Cache, for example, allows you to swap items onto
+ disk when a memory threshold is reached. You can read
+ more about the available auxiliaries
+ <a href="../Plugins.html">HERE</a>
+ .
+ </p>
+ </section>
+
+
+ <section name="STEP 2: Download JCS">
+ <p>
+ Download the latest version of JCS. The latest JCS
+ builds are located
+ <a
+ href="http://svn.apache.org/viewcvs.cgi/jakarta/jcs/trunk/tempbuild/">
+ HERE
+ </a>
+ </p>
+ <p>
+ If you would like to build JCS yourself, check it out
+ from Subversion and build it as you would any other
+ project built by Maven 1.x. The location of the
+ repository is documented in the project info pages that
+ are linked via the left nav.
+ </p>
+ </section>
+
+ <section name="STEP 3: Get the Required Dependencies">
+ <p>
+ As of version 1.2.7.0, the core of JCS (the LRU memory
+ cache, the indexed disk cache, the TCP lateral, and the
+ RMI remote server) requires only two other jars.
+ </p>
+ <p>
+ <a
+ href="http://gee.cs.oswego.edu/dl/classes/EDU/oswego/cs/dl/util/concurrent/intro.html">
+ concurrent
+ </a>
+ </p>
+ <p>commons-logging</p>
+ <p>
+ Versions 1.2.6.9 and below also require the following
+ two additional jars:
+ </p>
+ <p>commons-collections</p>
+ <p>commons-lang</p>
+ <p>
+ All of the other dependencies listed on the project info
+ page are for optional plugins.
+ </p>
+ </section>
+
+ <section name="STEP 4: Configure JCS">
+ <p>
+ JCS is configured from a properties file called
+ "cache.ccf". There are alternatives to using this file,
+ but they are beyond the scope of the getting started
+ guide.
+ </p>
+ <p>
+ The cache configuration has three parts: default,
+ regions, and auxiliaries. You can think of the
+ auxiliaries as log4j appenders and the regions as log4j
+ categories. For each region (or category) you can
+ specify and auxiliary (or appender to use). If you don't
+ define a region in the cache.ccf, then the default
+ settings are used. The difference between JCS and log4j
+ is that in JCS, pre-defined regions do not inherent
+ auxiliaries from the default region.
+ </p>
+ <p>
+ The following cache.ccf file defines one region called
+ "testCache1" and uses the Indexed Disk Cache, here
+ called "DC" by default. The LRU Memory Cache is selected
+ as the memory manager.
+ </p>
+ <source>
+ <![CDATA[
+# DEFAULT CACHE REGION
+jcs.default=DC
+jcs.default.cacheattributes=
+ org.apache.jcs.engine.CompositeCacheAttributes
+jcs.default.cacheattributes.MaxObjects=1000
+jcs.default.cacheattributes.MemoryCacheName=
+ org.apache.jcs.engine.memory.lru.LRUMemoryCache
+jcs.default.cacheattributes.UseMemoryShrinker=false
+jcs.default.cacheattributes.MaxMemoryIdleTimeSeconds=3600
+jcs.default.cacheattributes.ShrinkerIntervalSeconds=60
+jcs.default.elementattributes=org.apache.jcs.engine.ElementAttributes
+jcs.default.elementattributes.IsEternal=false
+jcs.default.elementattributes.MaxLifeSeconds=21600
+jcs.default.elementattributes.IdleTime=1800
+jcs.default.elementattributes.IsSpool=true
+jcs.default.elementattributes.IsRemote=true
+jcs.default.elementattributes.IsLateral=true
+
+# PRE-DEFINED CACHE REGIONS
+jcs.region.testCache1=DC
+jcs.region.testCache1.cacheattributes=
+ org.apache.jcs.engine.CompositeCacheAttributes
+jcs.region.testCache1.cacheattributes.MaxObjects=1000
+jcs.region.testCache1.cacheattributes.MemoryCacheName=
+ org.apache.jcs.engine.memory.lru.LRUMemoryCache
+jcs.region.testCache1.cacheattributes.UseMemoryShrinker=false
+jcs.region.testCache1.cacheattributes.MaxMemoryIdleTimeSeconds=3600
+jcs.region.testCache1.cacheattributes.ShrinkerIntervalSeconds=60
+jcs.region.testCache1.cacheattributes.MaxSpoolPerRun=500
+jcs.region.testCache1.elementattributes=org.apache.jcs.engine.ElementAttributes
+jcs.region.testCache1.elementattributes.IsEternal=false
+
+# AVAILABLE AUXILIARY CACHES
+jcs.auxiliary.DC=
+ org.apache.jcs.auxiliary.disk.indexed.IndexedDiskCacheFactory
+jcs.auxiliary.DC.attributes=
+ org.apache.jcs.auxiliary.disk.indexed.IndexedDiskCacheAttributes
+jcs.auxiliary.DC.attributes.DiskPath=${user.dir}/jcs_swap
+jcs.auxiliary.DC.attributes.MaxPurgatorySize=10000000
+jcs.auxiliary.DC.attributes.MaxKeySize=1000000
+jcs.auxiliary.DC.attributes.MaxRecycleBinSize=5000
+jcs.auxiliary.DC.attributes.OptimizeAtRemoveCount=300000
+jcs.auxiliary.DC.attributes.ShutdownSpoolTimeLimit=60
+ ]]>
+ </source>
+ <p>
+ Basic JCS configuration is described in more detail
+ <a href="../BasicJCSConfiguration.html">HERE</a>
+ </p>
+ <p>
+ Element level configuration is described in more detail
+ <a href="../ElementAttributes.html">HERE</a>
+ </p>
+ <p>
+ For more information on advanced configuration options
+ and the available plugins, see the User's Guide.
+ </p>
+ </section>
+
+ <section name="STEP 5: Programming to JCS">
+ <p>
+ JCS provides a convenient class that should meet all
+ your needs. It is called, appropriately enough,
+ <code>org.apache.jcs.JCS</code>
+ </p>
+ <p>
+ To get a cache region you simply ask JCS for the region
+ by name. If you wanted to use JCS for City objects, you
+ would do something like this:
+ </p>
+ <source>
+ <![CDATA[
+import org.apache.jcs.JCS;
+import org.apache.jcs.access.exception.CacheException;
+
+. . .
+
+ private static final String cacheRegionName = "city";
+
+ private JCS cache = null;
+
+. . .
+ // in your constructor you might do this
+ try
+ {
+ setCache( JCS.getInstance( this.getCacheRegionName() ) );
+ }
+ catch ( CacheException e )
+ {
+ log.error( "Problem initializing cache for region name ["
+ + this.getCacheRegionName() + "].", e );
+ }
+
+. . .
+
+ // to get a city out of the cache by id you might do this:
+ String key = "cityId:" + String.valueOf( id );
+
+ City city = (City) cache.get( key );
+
+. . .
+
+ // to put a city object in the cache, you could do this:
+ try
+ {
+ // if it isn't null, insert it
+ if ( city != null )
+ {
+ cache.put( key, city );
+ }
+ }
+ catch ( CacheException e )
+ {
+ log.error( "Problem putting "
+ + city + " in the cache, for key " + key, e );
+ }
+ ]]>
+ </source>
+ </section>
+
+ </body>
+</document>
Modified: jakarta/jcs/trunk/xdocs/index.xml
URL: http://svn.apache.org/viewvc/jakarta/jcs/trunk/xdocs/index.xml?view=diff&rev=536904&r1=536903&r2=536904
==============================================================================
--- jakarta/jcs/trunk/xdocs/index.xml (original)
+++ jakarta/jcs/trunk/xdocs/index.xml Thu May 10 09:03:42 2007
@@ -1,4 +1,22 @@
<?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.
+-->
<document>
<properties>
Modified: jakarta/jcs/trunk/xdocs/navigation.xml
URL: http://svn.apache.org/viewvc/jakarta/jcs/trunk/xdocs/navigation.xml?view=diff&rev=536904&r1=536903&r2=536904
==============================================================================
--- jakarta/jcs/trunk/xdocs/navigation.xml (original)
+++ jakarta/jcs/trunk/xdocs/navigation.xml Thu May 10 09:03:42 2007
@@ -1,4 +1,22 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+ 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.
+-->
<project name="jcs" href="http://jakarta.apache.org/jcs/">
<title>JCS</title>
@@ -33,7 +51,7 @@
<item name="Element Config"
href="/ElementAttributes.html" />
<item name="Element Event Handling"
- href="/ElementEventHandling.html" />
+ href="/ElementEventHandling.html" />
<item name="Region Properties"
href="/RegionProperties.html" />
<item name="Basic Web Example"
@@ -66,6 +84,6 @@
href="/LateralJavaGroupsAuxCache.html" />
</item>
</menu>
-
+
</body>
</project>
Modified: jakarta/jcs/trunk/xdocs/tasks.xml
URL: http://svn.apache.org/viewvc/jakarta/jcs/trunk/xdocs/tasks.xml?view=diff&rev=536904&r1=536903&r2=536904
==============================================================================
--- jakarta/jcs/trunk/xdocs/tasks.xml (original)
+++ jakarta/jcs/trunk/xdocs/tasks.xml Thu May 10 09:03:42 2007
@@ -1,4 +1,22 @@
<?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.
+-->
<document>
<properties>
@@ -7,12 +25,12 @@
</properties>
<body>
- <section name="TODO">
+ <section name="TODO">
<p>
The following is a list of items that need to be completed in
JCS. Contributions are welcome! If you want to get involved,
its as easy as reading the <a href="/site/source.html">source
- page</a> and the <a href="/turbine/common/code-standards.html">
+ page</a> and the <a href="/turbine/common/code-standards.html">
coding guidelines</a> established for Turbine family of projects.
</p>
<ul>
@@ -20,9 +38,9 @@
<li>XML config</li>
<li>
Run-time auxiliary selection (establish all lateral
- available and choose via access)</li>
+ available and choose via access)</li>
<li>Idle time check in
- hub on get ( only check maxLife expiration now)
+ hub on get ( only check maxLife expiration now)
</li>
<li>LFU memory cache</li>
<li>JUnit tests</li>
---------------------------------------------------------------------
To unsubscribe, e-mail: jcs-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jcs-dev-help@jakarta.apache.org