InMemoryServerImpl implements the interface defined by
External Cache Invalidator Server. It implements
his functionality using simply Java's HashMap and a Linked Lists objects. There
is a main access point to pages (pagesByPath HashMap) which provides an eficient access
by path to the pages stored on it, and the object located by this key,
its a Hashtable which contains all the pages on behalf of the given path.
Argument provides by cocoon.xconf |
-
initialCapacity,
Defines initial capacity of the Hashtable for the root path /,
because this Hashtable includes all the pages controled by
the external invalidator server could be required a fine
tunning.
-
loadFactor,
Same as above defines load factor of the Hashtable for the root path.
-
invalidator-user,
user name used for authorization purpose of the invalitation message.
-
invalidator-pass,
password used for authorization purpose of the invalitation message.
-
Cleanup-Thread-Interval,
seconds betwen every checking of invalitation queue.
|
user.roles example:
 |  |  |
 |
<?xml version="1.0"?>
<!DOCTYPE role-list [
<!ELEMENT role-list (role+)>
<!ELEMENT role (hint*)>
<!ELEMENT hint EMPTY>
<!ATTLIST role name CDATA #REQUIRED
shorthand CDATA #REQUIRED
default-class CDATA #IMPLIED
>
<!ATTLIST hint shorthand CDATA #REQUIRED
class CDATA #REQUIRED
>
]>
<role-list>
<role name="org.apache.cocoon.components.cache.Server"
shorthand="cache-server"
default-class="org.apache.cocoon.components.cache.InMemoryServerImpl"/>
</role-list>
|  |
 |  |  |
cocoon.xconf
 |  |  |
 |
<?xml version="1.0"?>
<cocoon version="2.0" user-roles="/user.roles">
.....
<!-- DBPrism External invalidate cache Server:
initialCapacity : number Value for HashMap store
loadFactor : number Value for HashMap store
-->
<cache-server class="org.apache.cocoon.components.cache.InMemoryServerImpl"
pool-max="1" pool-min="1"
logger="core.cache-server">
<parameter name="initialCapacity" value="500"/>
<parameter name="loadFactor" value="50"/>
<parameter name="invalidator-user" value="invalidator"/>
<parameter name="invalidator-pass" value="invalidator"/>
<parameter name="Cleanup-Thread-Interval" value="1"/>
</cache-server>
.....
</cocoon>
|  |
 |  |  |
|