From: Bela B. <be...@us...> - 2004-06-25 23:06:26
|
User: belaban Date: 04/06/25 16:06:20 Modified: docs FAQ.xml Log: no message Revision Changes Path 1.9 +184 -4 jboss-cache/docs/FAQ.xml Index: FAQ.xml =================================================================== RCS file: /cvsroot/jboss/jboss-cache/docs/FAQ.xml,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- FAQ.xml 29 Apr 2004 18:22:28 -0000 1.8 +++ FAQ.xml 25 Jun 2004 23:06:19 -0000 1.9 @@ -1,8 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" -"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [ -<!ENTITY JBossCache "JBossCache"> -]> +"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd"> <article class="faq" lang="en"> <articleinfo> <title>Frequently Asked Questions About JBossCache</title> @@ -16,7 +14,7 @@ </author> <author> - Blea Ban + Bela Ban <ulink url="mailto:be...@jb...">be...@jb...</ulink> @@ -661,5 +659,187 @@ </answer> </qandaentry> </qandadiv> + + <qandadiv> + <title>CacheLoader</title> + + <qandaentry> + <question> + <para>What is a CacheLoader ?</para> + </question> + + <answer> + <para>A CacheLoader is the connection of JBossCache to a + (persistent) data store. The CacheLoader is called by JBossCache to + fetch data from a store when that data is not in the cache, and - + when modifications are made to data in the cache - the CacheLoader + is called to store those modifications back to the store.</para> + + <para>In conjunction with eviction policies, JBossCache with a + CacheLoader allows a user to maintain a bounded cache for a large + backend datastore. Frequently used data is fetched from the + datastore into the cache, and the least used data is evicted, in + order to provide fast access to frequently accessed data. This is + all configured through XML, and the programmer doesn't have to take + care of loading and eviction.</para> + + <para>JBossCache currently (July 2004) ships with 2 CacheLoader + implementations:</para> + + <para><itemizedlist> + <listitem> + <para>FileCacheLoader: this implementation uses the file + system to store and retrieve data. JBossCache nodes are mapped + to directories, subnodes to subdirectories etc. Attributes of + a node are mapped to a file <literal>data</literal> inside the + directory.</para> + </listitem> + + <listitem> + <para>BdbjeCacheLoader: this implementation is based on the + Sleepycat Java Edition database, a fast and efficient + transactional database. It uses a single file for the entire + store. Note that if you use Sleepycat's CacheLoader with + JBossCache, and ship your product, you have to acquire a + commercial license from Sleepycat, see <link + linkend="???">http://www.sleepycat.com/jeforjbosscache</link> + for details.</para> + </listitem> + </itemizedlist></para> + </answer> + </qandaentry> + + <qandaentry> + <question> + <para>Are there other CacheLoaders ?</para> + </question> + + <answer> + <para>We plan to write a DB CacheLoader, using either JDBC, or an + O/R mapper such as Hibernate. Once in place, JBossCache will be able + to interface with relational databases.</para> + </answer> + </qandaentry> + + <qandaentry> + <question> + <para>Can I write my own CacheLoader ?</para> + </question> + + <answer> + <para>Yes. A CacheLoader is a class implementing + <literal>org.jboss.cache.loader.CacheLoader</literal>. It is + configured via the XML file (see JBossCache and Tutorial + documentation).</para> + </answer> + </qandaentry> + + <qandaentry> + <question> + <para>Does a CacheLoader have to use a persistent store ?</para> + </question> + + <answer> + <para>No, a CacheLoader could for example fetch (and possibly store) + its data from a webdav-capable webserver. Another example is a + caching proxy server, which fetches contents from the web. Note that + an implementation of CacheLoader may not implement the 'store' + functionality in this case, but just the 'load' + functionality.</para> + </answer> + </qandaentry> + + <qandaentry> + <question> + <para>What can I use a CacheLoader for ?</para> + </question> + + <answer> + <para>Some applications:</para> + + <para><itemizedlist> + <listitem> + <para>HTTP sessions can be persisted (besides being replicated + by JBossCache). The CacheLoader can be configured to be + shared, or unshared, meaning that every node in a cluster has + its own local store. It is also possible to attach a + CacheLoader to just <emphasis>one</emphasis> of the + nodes.</para> + </listitem> + + <listitem> + <para>Simple persistence for POJOs. Use of JBossCacheAop and a + local CacheLoader persist POJOs transparently into the store + provided by the CacheLoader.</para> + </listitem> + + <listitem> + <para>Highly available replicated and persisted data store. + The service is up as long as at least 1 node is running, but + even if all nodes are taken offline, when the first node is + started again, the data previously saved will still be + available (e.g. a shopping cart).</para> + </listitem> + + <listitem> + <para>A caching web proxy (a la Squid): all data are contents + of URLs, users access the proxy, and if the URL is not in the + cache, the CacheLoader fetches it from the web. This could + actually be a replicated and transactional version of + Squid...</para> + </listitem> + + </itemizedlist></para> + </answer> + </qandaentry> + + <qandaentry> + <question> + <para>How do I configure JBossCache with a CacheLoader ?</para> + </question> + + <answer> + <para>Through XML: both the fully-qualified classname of the + CacheLoader and its configuration string have to be given. + JBossCache will then instantiate a CacheLoader. See JBossCache + documentation for details.</para> + </answer> + </qandaentry> + + <qandaentry> + <question> + <para>Do I have to pay to use Sleepycat's CacheLoader ?</para> + </question> + + <answer> + <para>Not if you use it only for personal use. As soon as you + distribute your product with BdbjeCacheLoader, you have to purchase + a commercial license from Sleepycat. See details at <link + linkend="???">http://www.sleepycat.com/jeforjbosscache</link>.</para> + </answer> + </qandaentry> + + <qandaentry> + <question> + <para>Q</para> + </question> + + <answer> + <para>A</para> + </answer> + </qandaentry> + + <qandaentry> + <question> + <para>Q</para> + </question> + + <answer> + <para>A</para> + </answer> + </qandaentry> + + + </qandadiv> </qandaset> </article> \ No newline at end of file |