Hi Daniel,

The problem is mainly with the auxiliaries.  A new auxiliary can have
all sorts of parameters unique to itself.  A memory plugin could have
some configuration parameters that are also unique.

Something closer to what you suggest might be better for part of the
region specification.

Aaron

> -----Original Message-----
> From: Daniel Rosenbaum [mailto:[EMAIL PROTECTED]
> Sent: Sunday, April 18, 2004 5:38 PM
> To: Turbine JCS Users List
> Subject: Re: xml config prototype
> 
> Eeek wow that is some pretty ugly XML.  Are all the
> set-properties really needed?  How about having one tag with a
> bunch of attributes?  For example:
> 
> <region name="example"
> classname="org.apache.jcs.engine.CompositeCacheAttributes"
> maxObjects="10">
> 
> etc.  Along with some inner tags if nec.
> 
> The other way is very verbose.
> 
> Perhaps use JAXP to map the XML to java classes as well.
> 
> Daniel
> 
> --- Aaron Smuts <[EMAIL PROTECTED]> wrote:
> > I'm working using Digester to configure JCS using xml.   I've
> > pasted a
> > very rough prototype of a jcs.xml configuration file below.
> > I'm hoping
> > that someone will have some suggestions on how to improve it
> > or
> > completely redo it.  I tend to make ugly xml.  Any ideas would
> > be
> > appreciated.
> >
> > If we get a basic format, I'll just have the cachemanager call
> > a
> > different configuration class if the file ends in .xml.  This
> > should
> > keep it backward compatible.
> >
> > This file does not include the remote server configuration
> > yet.
> >
> > Aaron
> >
> >
> >
>
------------------------------------------------------------------------
> > ---
> > <?xml version="1.0" encoding="ISO-8859-1"?>
> >
> > <!--
> > This is the JCS configuration file.
> >
> > There are two sections to this file.
> >
> > 1. Regions -- This section identifies what regions will be
> > preconfigured.
> > Any regions created at runtime will adopt the default
> > configuration.
> >
> > Default -- This attribute identifies a default configuration.
> >
> > Regions that are not specified in this file will adopt the
> > default
> > settings.
> > The default configuration specifies what auxiliaries to use,
> > the
> > default region settings (or cacheattributes), and the default
> > element
> > settings (or element attributes).
> > One default is necessary, and only one is allowed.
> >
> > System -- This attribute identifies the region by which the
> > system will
> > handle groups.
> > One groupid is necessary, and only one is allowed.
> >
> >
> > 2. Auxiliaries -- This section defines the auxiliaries
> > available.
> > If a region definition or the default configuration references
> > an
> > auxiliary, it must be included in this section.  Auxiliaries
> > not
> > referenced in the
> > region or default configuration sections are ignored.
> > Memory managers can be plugged in and are often called
> > auxiliaries, but
> > they cannot be defined in this section.  Memory managers must
> > be defined
> > in the region or default configuration sections.
> >
> > -->
> >
> > <jcs>
> >
> >   <regions>
> >
> >     <!-- One region, but not more than one, must be marked
> > default. -->
> >     <region>
> >     <name default="true">example</name>
> >     <auxiliary-list>DC<auxiliary-list/>
> >         <cache-attributes>
> >       <set-property
> >         name="classname"
> >
> > value="org.apache.jcs.engine.CompositeCacheAttributes" />
> >       <set-property
> >             name="MaxObjects"
> >         value="10" />
> >       <set-property
> >             name="MemoryCacheName"
> >         value="org.apache.jcs.engine.memory.lru.LRUMemoryCache"
> > />
> >       <set-property
> >             name="UseMemoryShrinker"
> >         value="false" />
> >       <set-property
> >             name="ShrinkerIntervalSeconds"
> >         value="30" />
> >       <set-property
> >             name="MaxMemoryIdleTimeSeconds"
> >         value="3600000000" />
> >         </cache-attributes>
> >         <element-attributes>
> >       <set-property
> >         name="classname"
> > value="org.apache.jcs.engine.ElementAttributes" />
> >       <set-property
> >             name="IsEternal"
> >         value="true" />
> >       <set-property
> >             name="MaxLifeSeconds"
> >         value="30" />
> >       <set-property
> >             name="IsSpool"
> >         value="true" />
> >       <set-property
> >             name="IsRemote"
> >         value="true" />
> >       <set-property
> >             name="IsLateral"
> >         value="true" />
> >         </element-attributes>
> >     </region>
> >
> >
> >     <!-- One region, but not more than one, must be marked
> > groupid. -->
> >     <region>
> >     <name groupid="true">system-group-id</name>
> >     <auxiliary-list>DC<auxiliary-list/>
> >         <cache-attributes>
> >       <set-property
> >         name="classname"
> >
> > value="org.apache.jcs.engine.CompositeCacheAttributes" />
> >       <set-property
> >             name="MaxObjects"
> >         value="10" />
> >       <set-property
> >             name="MemoryCacheName"
> >         value="org.apache.jcs.engine.memory.lru.LRUMemoryCache"
> > />
> >       <set-property
> >             name="UseMemoryShrinker"
> >         value="false" />
> >       <set-property
> >             name="ShrinkerIntervalSeconds"
> >         value="30" />
> >       <set-property
> >             name="MaxMemoryIdleTimeSeconds"
> >         value="3600000000" />
> >         </cache-attributes>
> >         <element-attributes>
> >       <set-property
> >         name="classname"
> > value="org.apache.jcs.engine.ElementAttributes" />
> >       <set-property
> >             name="IsEternal"
> >         value="true" />
> >       <set-property
> >             name="MaxLifeSeconds"
> >         value="30" />
> >       <set-property
> >             name="IsSpool"
> >         value="true" />
> >       <set-property
> >             name="IsRemote"
> >         value="true" />
> >       <set-property
> >             name="IsLateral"
> >         value="true" />
> >         </element-attributes>
> >     </region>
> >
> >
> >     <!-- Otptional Regions -->
> >     <region>
> >     <name>testCache1</name>
> >     <auxiliary-list>DC<auxiliary-list/>
> >         <cache-attributes>
> >       <set-property
> >         name="classname"
> >
> > value="org.apache.jcs.engine.CompositeCacheAttributes" />
> >       <set-property
> >             name="MaxObjects"
> >         value="10" />
> >       <set-property
> >             name="MemoryCacheName"
> >         value="org.apache.jcs.engine.memory.lru.LRUMemoryCache"
> > />
> >       <set-property
> >             name="UseMemoryShrinker"
> >         value="false" />
> >       <set-property
> >             name="ShrinkerIntervalSeconds"
> >         value="30" />
> >       <set-property
> >             name="MaxMemoryIdleTimeSeconds"
> >         value="3600000000" />
> >         </cache-attributes>
> >         <element-attributes>
> >       <set-property
> >         name="classname"
> > value="org.apache.jcs.engine.ElementAttributes" />
> >       <set-property
> >             name="IsEternal"
> >         value="true" />
> >       <set-property
> >             name="MaxLifeSeconds"
> >         value="30" />
> >       <set-property
> >             name="IsSpool"
> >         value="true" />
> >       <set-property
> >             name="IsRemote"
> >         value="true" />
> >       <set-property
> >             name="IsLateral"
> >         value="true" />
> >         </element-attributes>
> >     </region>
> >
> >   </regions>
> >
> >
> >
> >   <!-- Auxiliary COnfiguration -->
> >
> >   <auxiliaries>
> >
> >     <!-- Remote RMI cache without failover -->
> >     <auxiliary>
> >         <name>RGroup</name>
> >         <set-property
> >         name="classname"
> >
> > value="org.apache.jcs.auxiliary.remote.RemoteCacheFactory"
> > />
> >     <auxiliary-attributes>
> >       <set-property
> >             name="classname"
> >
> > value="org.apache.jcs.auxiliary.remote.RemoteCacheAttributes"
> > />
> >       <set-property
> >             name="RemoteTypeName"
> >         value="LOCAL" />
> >       <set-property
> >             name="RemoteHost"
> >         value="localhost" />
> >       <set-property
> >             name="RemotePort"
> >         value="1102" />
> >       <set-property
> >             name="GetOnly"
> >         value="true" />
> >     </auxiliary-attributes>
> >    </auxiliary>
> >
> >
> >     <!-- Remote RMI cache with failover -->
> >     <auxiliary>
> >         <name>RFailover</name>
> >         <set-property
> >         name="classname"
> >
> > value="org.apache.jcs.auxiliary.remote.RemoteCacheFactory"
> > />
> >     <auxiliary-attributes>
> >       <set-property
> >             name="classname"
> >
> > value="org.apache.jcs.auxiliary.remote.RemoteCacheAttributes"
> > />
> >       <set-property
> >             name="RemoteTypeName"
> >         value="LOCAL" />
> >       <set-property
> >             name="FailoverServers"
> >         value="localhost:1102" />
> >       <set-property
> >             name="GetOnly"
> >         value="false" />
> >     </auxiliary-attributes>
> >    </auxiliary>
> >
> >
> >
> >   <!-- Primary Disk Cache -->
> >     <auxiliary>
> >         <name>DC</name>
> >         <set-property
> >         name="classname"
> >
> >
> value="org.apache.jcs.auxiliary.disk.indexed.IndexedDiskCacheFactory"
> > />
> >     <auxiliary-attributes>
> >       <set-property
> >             name="classname"
> >
> >
>
value="org.apache.jcs.auxiliary.disk.indexed.IndexedDiskCacheAttributes"
> > />
> >       <set-property
> >             name="DiskPath"
> >         value="i:\\dev\\raf" />
> >     </auxiliary-attributes>
> >    </auxiliary>
> >
> >
> >   <!-- HSQL Disk Cache -- too slow -->
> >     <auxiliary>
> >         <name>HDC</name>
> >         <set-property
> >         name="classname"
> >
> > value="org.apache.jcs.auxiliary.disk.hsql.HSQLCacheFactory"
> > />
> >     <auxiliary-attributes>
> >       <set-property
> >             name="classname"
> >
> > value="org.apache.jcs.auxiliary.disk.hsql.HSQLCacheAttributes"
> > />
> >       <set-property
> >             name="DiskPath"
> >         value="i:\\dev\\hsql" />
> >     </auxiliary-attributes>
> >    </auxiliary>
> >
> >
> >   <!-- JISP Disk Cache -- save memory with disk key storage
> > -->
> >     <auxiliary>
> >         <name>HDC</name>
> >         <set-property
> >         name="classname"
> >
> > value="org.apache.jcs.auxiliary.disk.jisp.JISPCacheFactory"
> > />
> >     <auxiliary-attributes>
> >       <set-property
> >             name="classname"
> >
> > value="org.apache.jcs.auxiliary.disk.jisp.JISPCacheAttributes"
> > />
> >       <set-property
> >             name="DiskPath"
> >         value="i:\\dev\\jisp" />
> >       <set-property
> >             name="ClearOnStart"
> >         value="false" />
> >     </auxiliary-attributes>
> >    </auxiliary>
> >
> >
> >   <!-- Unreliable Lateral -->
> >     <auxiliary>
> >         <name>LUDP</name>
> >         <set-property
> >         name="classname"
> >
> > value="org.apache.jcs.auxiliary.lateral.LateralCacheFactory"
> > />
> >     <auxiliary-attributes>
> >       <set-property
> >             name="classname"
> >
> >
> value="org.apache.jcs.auxiliary.lateral.LateralCacheAttributes"
> > />
> >       <set-property
> >             name="TransmissionTypeName"
> >         value="UDP" />
> >       <set-property
> >             name="UdpMulticastAddr"
> >         value="228.5.6.7" />
> >       <set-property
> >             name="UdpMulticastPort"
> >         value="6789" />
> >     </auxiliary-attributes>
> >    </auxiliary>
> >
> >
> >   <!-- JavaGroups Lateral -->
> >     <auxiliary>
> >         <name>LJG</name>
> >         <set-property
> >         name="classname"
> >
> > value="org.apache.jcs.auxiliary.lateral.LateralCacheFactory"
> > />
> >     <auxiliary-attributes>
> >       <set-property
> >             name="classname"
> >
> >
> value="org.apache.jcs.auxiliary.lateral.LateralCacheAttributes"
> > />
> >       <set-property
> >             name="TransmissionTypeName"
> >         value="JAVAGROUPS" />
> >       <set-property
> >             name="UdpMulticastAddr"
> >         value="228.5.6.7" />
> >       <set-property
> >             name="UdpMulticastPort"
> >         value="6789" />
> >       <set-property
> >             name="PutOnlyMode"
> >         value="false" />
> >     </auxiliary-attributes>
> >    </auxiliary>
> >
> >
> >   <!-- Reliable, fast TCP Lateral -->
> >     <auxiliary>
> >         <name>LTCP</name>
> >         <set-property
> >         name="classname"
> >
> > value="org.apache.jcs.auxiliary.lateral.LateralCacheFactory"
> > />
> >     <auxiliary-attributes>
> >       <set-property
> >             name="classname"
> >
> >
> value="org.apache.jcs.auxiliary.lateral.LateralCacheAttributes"
> > />
> >       <set-property
> >             name="TransmissionTypeName"
> >         value="TCP" />
> >       <set-property
> >             name="TcpServers"
> >         value="localhost:1111,localhost2:1112" />
> >       <set-property
> >             name="TcpListenerPort"
> >         value="1111" />
> >       <set-property
> >             name="PutOnlyMode"
> >         value="true" />
> >     </auxiliary-attributes>
> >    </auxiliary>
> >
> >
> >   <!-- XMLRPC Lateral -->
> >     <auxiliary>
> >         <name>LTCP</name>
> >         <set-property
> >         name="classname"
> >
> > value="org.apache.jcs.auxiliary.lateral.LateralCacheFactory"
> > />
> >     <auxiliary-attributes>
> >       <set-property
> >             name="classname"
> >
> >
> value="org.apache.jcs.auxiliary.lateral.LateralCacheAttributes"
> > />
> >       <set-property
> >             name="TransmissionTypeName"
> >         value="XMLRPC" />
> >       <set-property
> >             name="HttpServers"
> >         value="localhost:8182" />
> >       <set-property
> >             name="HttpListenerPort"
> >         value="8181" />
> >       <set-property
> >             name="PutOnlyMode"
> >         value="false" />
> >     </auxiliary-attributes>
> >    </auxiliary>
> >
> >
> >   <!-- HTTP Lateral -->
> >     <auxiliary>
> >         <name>LTCP</name>
> >         <set-property
> >         name="classname"
> >
> > value="org.apache.jcs.auxiliary.lateral.LateralCacheFactory"
> > />
> >     <auxiliary-attributes>
> >       <set-property
> >             name="classname"
> >
> >
> value="org.apache.jcs.auxiliary.lateral.LateralCacheAttributes"
> > />
> >       <set-property
> >             name="TransmissionTypeName"
> >         value="HTTP" />
> >       <set-property
> >             name="HttpServers"
> >         value="localhost:8080,localhost:7001,localhost:80" />
> >       <set-property
> >             name="httpReceiveServlet"
> >         value="/cache/LateralCacheReceiverServlet" />
> >       <set-property
> >             name="httpDeleteServlet"
> >         value="/cache/DeleteCacheServlet" />
> >     </auxiliary-attributes>
> >    </auxiliary>
> >
> >
> >   <auxiliaries/>
> >
> > </jcs>
> >
> >
> >
> >
> ---------------------------------------------------------------------
> > To unsubscribe, e-mail:
> > [EMAIL PROTECTED]
> > For additional commands, e-mail:
> > [EMAIL PROTECTED]
> >
> 
> 
> 
> 
> 
> __________________________________
> Do you Yahoo!?
> Yahoo! Photos: High-quality 4x6 digital prints for 25�
> http://photos.yahoo.com/ph/print_splash
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail:
[EMAIL PROTECTED]
> For additional commands, e-mail:
[EMAIL PROTECTED]


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to