| <?xml version="1.0"?> |
| |
| <document> |
| <properties> |
| <title>JCS Package Information</title> |
| <author email="pete@kazmier.com">Pete Kazmier</author> |
| <author email="ASmuts@therealm.com">Aaron Smuts</author> |
| <author email="james@jamestaylor.org">James Taylor</author> |
| </properties> |
| |
| <body> |
| <section name="JCS Package Information"> |
| <p> |
| The following tables provide a brief description of all packages |
| in the Java Caching System. For brevity, |
| <code>org.apache.stratum.jcs</code> has been abbreviated to |
| <code>o.a.s.j</code>. |
| </p> |
| <subsection name="Access"> |
| <p> |
| These packages house the classes that a user of JCS should |
| need to access the cache. |
| </p> |
| <table> |
| <tr><th>Package</th><th>Description</th></tr> |
| <tr><td>o.a.s.j</td> |
| <td> |
| Root package of JCS. Currently this package only contains the |
| class JCS which provides a simple interface for clients to use |
| JCS. |
| </td> |
| </tr> |
| <tr><td>o.a.s.j.access</td> |
| <td> |
| Contains classes for accessing the cache. The CacheAccess |
| interface, which all classes in this package implement, provides |
| all the methods a client should need to use a Cache. |
| </td> |
| </tr> |
| </table> |
| </subsection> |
| <subsection name="Configuration"> |
| <p> |
| This package contains the cache configuration code. |
| </p> |
| <table> |
| <tr><th>Package</th><th>Description</th></tr> |
| <tr><td>o.a.s.j.config</td> |
| <td> |
| This package contains utility classes that are used when |
| configuring the cache. NOTE: It is likely that these classes |
| will be removed in the future in favor of the configuration code |
| in stratum and BeanUtils. |
| </td> |
| </tr> |
| </table> |
| </subsection> |
| <subsection name="Engine"> |
| <p> |
| These packages contain the code for the core of the cache: |
| core interfaces, queues, and the cache hub. |
| </p> |
| <table> |
| <tr><th>Package</th><th>Description</th></tr> |
| <tr><td>o.a.s.j.engine</td> |
| <td> |
| Interfaces used by the core and the auxiliary caches. |
| </td> |
| </tr> |
| <tr><td>o.a.s.j.engine.behavior</td> |
| <td> |
| Interfaces used by the core and the auxiliary caches. |
| </td> |
| </tr> |
| <tr><td>o.a.s.j.engine.control</td> |
| <td> |
| The primary cache classes and the hub. |
| </td> |
| </tr> |
| <tr><td>o.a.s.j.engine.group</td> |
| <td> |
| The group cache code. Some classes here should be under |
| control. |
| </td> |
| </tr> |
| <tr><td>o.a.s.j.engine.memory</td> |
| <td> |
| Parent package for memory type plugins. |
| </td> |
| </tr> |
| <tr><td>o.a.s.j.engine.memory.lru</td> |
| <td> |
| The primary memory plugin using a 'least recently used' removal |
| policy. |
| </td> |
| </tr> |
| <tr><td>o.a.s.j.engine.memory.mru</td> |
| <td> |
| A memory plugin implemented using a 'most recently used' removal |
| policy. In general this is <bold>slow</bold> and should not be |
| used. |
| </td> |
| </tr> |
| </table> |
| </subsection> |
| <subsection name="Auxiliary Caches"> |
| <p> |
| Auxiliary caches generally fall into 3 types: disk, lateral, |
| and remote. Additional auxiliaries should be put into the |
| appropriate parent package. |
| </p> |
| <table> |
| <tr><th>Package</th><th>Description</th></tr> |
| <tr><td>o.a.s.j.auxiliary</td> |
| <td> |
| Root package for auxiliary caches. |
| </td> |
| </tr> |
| <tr><td>o.a.s.j.auxiliary.behavior</td> |
| <td> |
| Auxilliary cache interfaces. |
| </td> |
| </tr> |
| <tr><td>o.a.s.j.auxiliary.disk</td> |
| <td> |
| The primary disk auxiliary. Objects are serialized to a file on |
| disk. This implementation uses memory keys and performs quite |
| well. Recomended for most cases. |
| </td> |
| </tr> |
| <tr><td>o.a.s.j.auxiliary.disk.jisp</td> |
| <td> |
| Disk cache implemented with the <a href="http://www.coyotegulch.com/jisp/"> |
| Java Indexed Serialization Package</a>, which allows serialization |
| of objects to B-Tree indexed tables on disk. This is quite |
| <u>slow</u> currently. |
| </td> |
| </tr> |
| <tr><td>o.a.s.j.auxiliary.disk.hsql</td> |
| <td> |
| A disk cache using Hypersonic SQL to serialize the contained |
| objects. |
| </td> |
| </tr> |
| <tr><td>o.a.s.j.auxiliary.lateral</td> |
| <td> |
| Root package for the lateral cache family. Lateral caches |
| broadcast puts and removals to other local caches. See |
| <a href="LateralTCPAuxCache.html">this</a> explanation for more |
| information. |
| </td> |
| </tr> |
| <tr><td>o.a.s.j.auxiliary.lateral.socket</td> |
| <td> |
| |
| </td> |
| </tr> |
| <tr><td>o.a.s.j.auxiliary.lateral.socket.tcp</td> |
| <td> |
| |
| </td> |
| </tr> |
| <tr><td>o.a.s.j.auxiliary.lateral.socket.tcp.behavior</td> |
| <td> |
| |
| </td> |
| </tr> |
| <tr><td>o.a.s.j.auxiliary.lateral.socket.tcp.utils</td> |
| <td> |
| |
| </td> |
| </tr> |
| <tr><td>o.a.s.j.auxiliary.lateral.socket.udp</td> |
| <td> |
| |
| </td> |
| </tr> |
| <tr><td>o.a.s.j.auxiliary.lateral.http</td> |
| <td> |
| |
| </td> |
| </tr> |
| <tr><td>o.a.s.j.auxiliary.lateral.http.server</td> |
| <td> |
| |
| </td> |
| </tr> |
| <tr><td>o.a.s.j.auxiliary.lateral.http.broadcast</td> |
| <td> |
| |
| </td> |
| </tr> |
| <tr><td>o.a.s.j.auxiliary.lateral.http.remove</td> |
| <td> |
| |
| </td> |
| </tr> |
| <tr><td>o.a.s.j.auxiliary.remote</td> |
| <td> |
| Root package for the remote auxiliary cache. See |
| <a href="RemoteAuxCache.html">this</a> explanation |
| of the remote cache for more information. |
| </td> |
| </tr> |
| <tr><td>o.a.s.j.auxiliary.remote.server</td> |
| <td> |
| |
| </td> |
| </tr> |
| <tr><td>o.a.s.j.auxiliary.remote.server.behavior</td> |
| <td> |
| |
| </td> |
| </tr> |
| <tr><td>o.a.s.j.auxiliary.remote.server.group</td> |
| <td> |
| |
| </td> |
| </tr> |
| <tr><td>o.a.s.j.auxiliary.remote.group</td> |
| <td> |
| |
| </td> |
| </tr> |
| <tr><td>o.a.s.j.auxiliary.remote.behavior</td> |
| <td> |
| |
| </td> |
| </tr> |
| </table> |
| </subsection> |
| <subsection name="Utilities"> |
| <p> |
| These packages contain utility classes used by JCS. Many can |
| eventually be converted to commons utilities. |
| </p> |
| <table> |
| <tr><th>Package</th><th>Description</th></tr> |
| <tr><td>o.a.s.j.utils</td> |
| <td> |
| Root package for utils. |
| </td> |
| </tr> |
| <tr><td>o.a.s.j.utils.config</td> |
| <td> |
| Contains a file with constants used by the utils.servlet package. |
| Will be removed. |
| </td> |
| </tr> |
| <tr><td>o.a.s.j.utils.locking</td> |
| <td> |
| Implementation of a read write lock which maintains FIFO ordering |
| for write lock requests, but no ordering for read lock requests. |
| </td> |
| </tr> |
| <tr><td>o.a.s.j.utils.servlet</td> |
| <td> |
| |
| </td> |
| </tr> |
| <tr><td>o.a.s.j.utils.servlet.session</td> |
| <td> |
| Contains distributed http session code. |
| </td> |
| </tr> |
| <tr><td>o.a.s.j.utils.threads</td> |
| <td> |
| Contains a thread pool implementation, some of which is originally |
| from Tomcat. |
| </td> |
| </tr> |
| </table> |
| </subsection> |
| </section> |
| </body> |
| </document> |