jakarta-jcs-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Neil Avery <NAv...@thoughtworks.com>
Subject RE: xml config prototype (xstream)
Date Mon, 19 Apr 2004 08:52:26 GMT
Have a look at xstream and use it serialize a (config) javabean to disk,

http://xstream.codehaus.org/

Ive used both digester and xstream for config - xstream is much simpler.





Daniel Rosenbaum <drosenbaum@yahoo.com>
19/04/2004 01:26 AM
Please respond to "Turbine JCS Users List"

 
        To:     Turbine JCS Users List <turbine-jcs-user@jakarta.apache.org>
        cc: 
        Subject:        RE: xml config prototype


If I recall correctly, each aux is only configured once, then
each region can reference it.  Is this is the case, perhaps it
would be acceptable for the auxiliaries to be configured with
the set-property tags, but the regions themselves could be
configured with attributes.

In addition, say a region does need additional unique
parameters, a set-property could then be added as needed as an
inner tag to the region.  But at least the standard params could
be configured more simply as simple attributes. 

Daniel


--- Aaron Smuts <aasmuts@wisc.edu> wrote:
> 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:drosenbaum@yahoo.com]
> > 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 <aasmuts@wisc.edu> 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:
> > > turbine-jcs-user-unsubscribe@jakarta.apache.org
> > > For additional commands, e-mail:
> > > turbine-jcs-user-help@jakarta.apache.org
> > >
> > 
> > 
> > 
> > 
> > 
> > __________________________________
> > Do you Yahoo!?
> > Yahoo! Photos: High-quality 4x6 digital prints for 25¢
> > http://photos.yahoo.com/ph/print_splash
> > 
> >
>
---------------------------------------------------------------------
> > To unsubscribe, e-mail:
> turbine-jcs-user-unsubscribe@jakarta.apache.org
> > For additional commands, e-mail:
> turbine-jcs-user-help@jakarta.apache.org
> 
> 
>
---------------------------------------------------------------------
> To unsubscribe, e-mail:
> turbine-jcs-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail:
> turbine-jcs-user-help@jakarta.apache.org
> 



 
 
__________________________________
Do you Yahoo!?
Yahoo! Photos: High-quality 4x6 digital prints for 25¢
http://photos.yahoo.com/ph/print_splash

---------------------------------------------------------------------
To unsubscribe, e-mail: turbine-jcs-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: turbine-jcs-user-help@jakarta.apache.org




Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message