Some new thoughts on this issue...

> We can also use XML Schemas to validate the XML and we will have a
> generic 
> approach then to be used for the Swiftlet API.

In the meantime I tend to don't use XML schemas or DTDs. XML schemas are 
in a very early stage (there is only a Xerces beta) and DTDs don't fit 
the requirements. 

Each router has a generic management tree and each Swiftlet must insert 
its configuration there. The tree is an integral part of a router and is 
used on startup (loading the configuration) as well as from the admin 
tools (Explorer/CLI). 

A management tree consists of EntityLists, each may have Entities which 
may have different Properties. You can see a management tree in the 
Explorer as well as CLI. The management tree itself is the instance to 
perform all operations such as inserting or deleting entities or changing 
properties. The admin tools are only command senders/event receivers.

Instead of using an XML schema subset, a Swiftlet jar-file could contain 
a simple 'template.xml' which describes the configuration in form of 
EntityLists/Entities/Properties:

<template>
  <property name="backstore" 
            type="java.lang.String" 
            mandatory="true" />
  <property name="default-cachesize" 
            type="java.lang.Integer" 
            mandatory="false" 
            defaultvalue="100" 
            minvalue="10" />
  <property name="default-cleanupinterval" 
            type="java.lang.Long" 
            mandatory="false" 
            defaultvalue="120000" 
            minvalue="1000" />
  <entitylist name="queues">
    <entity>
      <property name="cachesize" 
                defaultproperty="default-cachesize" />
      <property name="cleanupinterval" 
                defaultproperty="default-cleanupinterval" />
    </entity>
  </entitylist>
</template>

On base of this template definition a Swiftlet configuration could be:

<swiftlet name="sys$queuemanager" 
          class="com.swiftmq.router.queue.QueueManagerimpl">
  <backstore>../../store/router1</backstore>
  <queues>
    <testqueue>
      <cachesize>500</cachesize>
      <cleanupinterval1>360000</cleanupinterval>
    </testqueue>                
    <timequeue />
  </queues>
</swiftlet>

Any comments are appreciated!

-- 
Andreas Mueller, IIT GmbH, Bremen/Germany, http://www.iit.de
SwiftMQ - JMS Enterprise Messaging System, http://www.swiftmq.com


------------------------------------------------------
SwiftMQ developers mailing list * http://www.swiftmq.com
To unsubscribe from this list, send an eMail to 
[EMAIL PROTECTED] and write in the body of your message:
UNSUBSCRIBE developers <your-email-address>
Archive: http://www.mail-archive.com/developers@mail.iit.de/




Reply via email to