mcconnell    2003/02/07 19:43:03

  Added:       merlin/blocks/james README.txt kernel.xml james-block.xml
  Log:
  James block defintions (was in config directory).
  
  Revision  Changes    Path
  1.1                  avalon-sandbox/merlin/blocks/james/README.txt
  
  Index: README.txt
  ===================================================================
  
  The configuration files in this directory are to support the deployment of James as 
a composite block using the Merlin container.  Please note that these resources are 
experimental, that Merlin itself is alpha, and that Merlin is under active 
development.  Component defintions used in James for the Phoenix container are 
recognized by Merlin during deployment and as such these resources provide a 
mechanisms for cross validation of the James system.
  
  In order to deploy James in Merlin you will need do checkout the avalon, 
avalon-logkit, avalon-excalibur and avalon-sandbox projects.  From there the 
instructions for building and deploying Merlin are contained in the file 
avalon-sandbox/merlin/THE-RED-PILL.TXT.
  
  To test the execution of James, do the following:
  
   $ cd <your-james-installation>
   $ merlin -system %MERLIN_HOME% -profile %MERLIN_HOME%\blocks\james\kernel.xml
  
  Cheers, Steve.
  
  
  
  1.1                  avalon-sandbox/merlin/blocks/james/kernel.xml
  
  Index: kernel.xml
  ===================================================================
  
  <kernel>
  
     <!-- 
     The kernel can contain the following declarations:
     1. a system descriptor
     2. a logging descriptor
     3. a logging catagories descriptor that establishes logging priority
        for the kernel messages
     4. an engine descriptor
     -->
  
     <system host="localhost"/>
  
     <logging target="default" priority="WARN">
        <category name="/sys/logger" priority="WARN"/>
        <target name="kernel">
          <file location="kernel.log" />
        </target>
     </logging>
  
     <categories>
        <category name="/sys" priority="INFO"/>
     </categories>
  
     <engine/>
  
     <!--
     Declaration of a Merlin kernel that references the James block defition.  
     This declaration references a single block (the James block) together with
     typically site specific configuration details that override the packaged
     configuration info contained in the james-block.xml file.
    
     All path declarations are relative to the ${merlin.home} base directory.
     -->
  
     <blocks>
  
       <block name="container" src="src/conf/experimental/james-block.xml" 
enabled="true" >
  
         <configuration target="james">
           <postmaster>postmaster@localhost</postmaster>
           <servernames autodetect="true" autodetectIP="true">
               <servername>localhost</servername>
               <servername>home.osm.net</servername>
           </servernames>
           <usernames ignoreCase="true" enableAliases="true" enableForwarding="true"/>
           <inboxRepository>
             <repository destinationURL="file://var/mail/inboxes/" type="MAIL"/>
           </inboxRepository>
         </configuration>
  
         <configuration target="dns">
           <servers>
             <server>212.198.0.66</server>
             <server>212.198.0.67</server>
             <server>192.112.36.4</server>
           </servers>
           <autodiscover>true</autodiscover>
           <authoritative>false</authoritative>
         </configuration>
  
         <configuration target="remote">
           <port>4555</port>
           <handler>
             <helloName autodetect="TRUE">myMailServer</helloName>
             <administrator_accounts>
               <account login="root" password="root"/>
             </administrator_accounts>
             <connectiontimeout> 60000 </connectiontimeout>
           </handler>
         </configuration>
       </block>
  
     </blocks>
  
  </kernel>
  
  
  
  1.1                  avalon-sandbox/merlin/blocks/james/james-block.xml
  
  Index: james-block.xml
  ===================================================================
  
  <!--
  Sample block descriptor that demonstrates the James mailsever application as a 
composite block.
  -->
  
  <block>
  
     <!--
     Service provided by this block.
     This will be detailed once the implementation is available and tested.
     -->
     <services>
       <!-- James block level service export declarations go here -->
     </services>
  
     <!--
     Block implementation.  The implementation element may contain component
     and container entities. The block implementation statement is equivalent
     to a root container who's name is implied by the name of the block.
     -->
     <implementation>
  
       <categories priority="INFO"/>
  
       <engine>
         <classpath>
           <fileset dir="lib">
             <include name="dnsjava-1.3.2.jar"/>
             <include name="mail_1_3.jar"/>
             <include name="jakarta-oro-2.0.1.jar"/>
             <include name="activation.jar"/>
           </fileset>
           <fileset dir="phoenix-bin/lib">
             <include name="excalibur-io-1.1.jar"/>
           </fileset>
           <fileset dir="lib/candidates">
             <include name="cornerstone-threads-1.0.jar"/>
             <include name="cornerstone-connection-1.0.jar"/>
             <include name="cornerstone-datasources-1.0.jar"/>
             <include name="cornerstone-scheduler-1.0.jar"/>
             <include name="cornerstone-sockets-1.0.jar"/>
             <include name="cornerstone-store-1.0.jar"/>
           </fileset>
           <fileset dir="build/lib">
             <include name="mailet.jar"/>
             <include name="james-3.0.jar"/>
           </fileset>
         </classpath>
       </engine>
  
       <appliance name="james" class="org.apache.james.James" 
             activation="true">
         <!-- see blocks.xml for configuration -->
       </appliance>
  
       <appliance name="dns" class="org.apache.james.dnsserver.DNSServer" 
             activation="true">
         <!-- see blocks.xml for configuration -->
       </appliance>
  
       <appliance name="remote" 
            class="org.apache.james.remotemanager.RemoteManager" 
            activation="true">
          <!-- see blocks.xml for port and handler configuration -->
       </appliance>
  
       <appliance name="pop3" 
             class="org.apache.james.pop3server.POP3Server"  
             activation="true">
           <configuration enabled="true">
             <port>110</port>
             <handler>
               <helloName autodetect="true">myMailServer</helloName>
               <connectiontimeout>120000</connectiontimeout>
             </handler>
           </configuration>
       </appliance>
  
       <appliance name="smtp" 
             class="org.apache.james.smtpserver.SMTPServer" 
             activation="true">
           <configuration enabled="true">
             <port>25</port>
             <handler>
               <helloName autodetect="true">myMailServer</helloName>
               <connectiontimeout>360000</connectiontimeout>
               <maxmessagesize>0</maxmessagesize>
             </handler>
           </configuration>
       </appliance>
  
       <appliance name="threads"
            class="org.apache.avalon.cornerstone.blocks.threads.DefaultThreadManager" 
            activation="true">
         <configuration>
           <thread-group>
             <name>default</name>
             <priority>5</priority> 
             <is-daemon>false</is-daemon>
             <max-threads>100</max-threads>
             <min-threads>20</min-threads>
             <min-spare-threads>20</min-spare-threads>
           </thread-group>
         </configuration>
       </appliance>
  
       <appliance name="store" 
            class="org.apache.avalon.cornerstone.blocks.masterstore.RepositoryManager" 
             activation="true">
           <configuration>
            <repositories>
              <repository
                  
class="org.apache.james.mailrepository.filepair.File_Persistent_Object_Repository"> 
                <protocols>
                  <protocol>file</protocol>
                </protocols>
                <types>
                  <type>OBJECT</type>
                </types>
                <models>
                  <model>SYNCHRONOUS</model>
                  <model>ASYNCHRONOUS</model>
                  <model>CACHE</model>
                </models>
              </repository>
              <repository 
                
class="org.apache.james.mailrepository.filepair.File_Persistent_Stream_Repository">
                <protocols>
                  <protocol>file</protocol>
                </protocols>
                <types>
                  <type>STREAM</type>
                </types>
                <models>
                  <model>SYNCHRONOUS</model>
                  <model>ASYNCHRONOUS</model>
                  <model>CACHE</model>
                </models>
              </repository>
            </repositories>
          </configuration>
       </appliance>
  
       <!-- The High Level Storage block -->
       <appliance name="mailstore" 
            class="org.apache.james.core.AvalonMailStore" 
            activation="true">
           <configuration>
             <repositories>
               <repository 
class="org.apache.james.mailrepository.AvalonMailRepository">
                 <protocols>
                   <protocol>file</protocol>
                 </protocols>
                 <types>
                   <type>MAIL</type>
                 </types>
               </repository>
               <repository 
class="org.apache.james.mailrepository.AvalonSpoolRepository">
                 <protocols>
                   <protocol>file</protocol>
                 </protocols>
                 <types>
                   <type>SPOOL</type>
                 </types>
               </repository>
  
               <!-- These repositories store the entire message in the database -->
               <repository class="org.apache.james.mailrepository.JDBCMailRepository">
                 <protocols>
                   <protocol>db</protocol>
                 </protocols>
                 <types>
                   <type>MAIL</type>
                 </types>
                 <config>
                   <sqlFile>file://conf/sqlResources.xml</sqlFile>
                 </config>
               </repository>
               <repository class="org.apache.james.mailrepository.JDBCSpoolRepository">
                 <protocols>
                   <protocol>db</protocol>
                 </protocols>
                 <types>
                    <type>SPOOL</type>
                 </types>
                 <config>
                    <sqlFile>file://conf/sqlResources.xml</sqlFile>
                 </config>
               </repository>
  
               <!-- These repositories store message delivery and headers in the DB, 
and 
                    the body to the filesystem -->
               <repository class="org.apache.james.mailrepository.JDBCMailRepository">
                 <protocols>
                   <protocol>dbfile</protocol>
                 </protocols>
                 <types>
                   <type>MAIL</type>
                 </types>
                 <config>
                   <sqlFile>file://conf/sqlResources.xml</sqlFile>
                   <filestore>file://var/dbmail</filestore>
                 </config>
               </repository>
               <repository class="org.apache.james.mailrepository.JDBCSpoolRepository">
                 <protocols>
                   <protocol>dbfile</protocol>
                 </protocols>
                 <types>
                   <type>SPOOL</type>
                 </types>
                 <config>
                   <sqlFile>file://conf/sqlResources.xml</sqlFile>
                   <filestore>file://var/dbmail</filestore>
                 </config>
               </repository>
             </repositories>
             <spoolRepository>
               <repository destinationURL="file://var/mail/spool/" type="SPOOL"/>
             </spoolRepository>
           </configuration>
       </appliance>
  
       <appliance name="users-store" 
             class="org.apache.james.core.AvalonUsersStore" 
             activation="true">
           <configuration>
             <repository name="LocalUsers" 
                class="org.apache.james.userrepository.UsersFileRepository">
               <destination URL="file://var/users/"/>
             </repository>
           </configuration>
       </appliance>
  
       <appliance name="connections" 
             class="org.apache.james.util.connection.SimpleConnectionManager" 
             activation="true">
           <configuration>
             <idle-timeout>300000</idle-timeout>
             <max-connections>30</max-connections>
           </configuration>
       </appliance>
  
       <appliance name="sockets"
            class="org.apache.avalon.cornerstone.blocks.sockets.DefaultSocketManager" 
            activation="true">
         <configuration>
           <server-sockets>
             <factory name="plain" 
class="org.apache.avalon.cornerstone.blocks.sockets.DefaultServerSocketFactory"/>
           </server-sockets>
           <client-sockets>
             <factory name="plain" 
class="org.apache.avalon.cornerstone.blocks.sockets.DefaultSocketFactory"/>
           </client-sockets>
         </configuration>
       </appliance>
  
       <appliance  name="scheduler"
            
class="org.apache.avalon.cornerstone.blocks.scheduler.DefaultTimeScheduler"  
            activation="true"/>
  
       <appliance name="datasources" 
            
class="org.apache.avalon.cornerstone.blocks.datasources.DefaultDataSourceSelector" 
            activation="true"/>
  
       <appliance name="spool" 
            class="org.apache.james.transport.JamesSpoolManager" 
            activation="true">
           <configuration>
             <threads> 10 </threads>
             <mailetpackages>
               <mailetpackage>org.apache.james.transport.mailets</mailetpackage>
             </mailetpackages>
             <matcherpackages>
               <matcherpackage>org.apache.james.transport.matchers</matcherpackage>
             </matcherpackages>
  
             <processor name="root">
               <mailet match="RelayLimit=30" class="Null">
                 <debug>false</debug>
               </mailet>
               <mailet match="InSpammerBlacklist=blackholes.mail-abuse.org" 
class="ToProcessor">
                 <processor> spam </processor>
                 <notice> Rejected - see  http://www.mail-abuse.org/rbl/ </notice>
                 <debug>false</debug>
               </mailet>
               <mailet match="InSpammerBlacklist=dialups.mail-abuse.org" 
class="ToProcessor">
                 <processor> spam </processor>
                 <notice> Dialup - see http://www.mail-abuse.org/dul/ </notice>
                 <debug>false</debug>
               </mailet>
               <mailet match="InSpammerBlacklist=relays.mail-abuse.org" 
class="ToProcessor">
                 <processor> spam </processor>
                 <notice> Open spam relay - see http://www.mail-abuse.org/rss/ 
</notice>
                 <debug>false</debug>
               </mailet>
               <mailet match="All" class="ToProcessor">
                 <processor> transport </processor>
                 <debug>false</debug>
               </mailet>
             </processor>
  
             <processor name="error">
               <mailet match="All" class="ToRepository">
                 <repositoryPath> file://var/mail/error/</repositoryPath>
                 <passThrough> true </passThrough>
                 <debug>false</debug>
               </mailet>
             </processor>
  
             <processor name="transport">
               <mailet match="RecipientIsLocal" class="LocalDelivery"/>
               <mailet match="HostIsLocal" class="ToProcessor">
                 <processor>error</processor>
                 <debug>false</debug>
               </mailet>
               <mailet match="RemoteAddrNotInNetwork=127.0.0.1" class="ToProcessor">
                 <processor> spam </processor>
                 <debug>false</debug>
               </mailet>
               <mailet match="All" class="RemoteDelivery">
                 <outgoing> file://var/mail/outgoing/ </outgoing>
                 <delayTime> 21600000 </delayTime>
                 <maxRetries> 5 </maxRetries>
                 <deliveryThreads> 1 </deliveryThreads>
                 <debug>false</debug>
                 <!--<gateway> otherserver.mydomain.com </gateway>-->
                 <!--<gatewayPort> 25 </gatewayPort>-->
               </mailet>
             </processor>
  
             <processor name="spam">
               <!--<mailet match="All" class="Null"/>-->
               <!--<mailet match="All" class="NotifySender"/>-->
               <!--<mailet match="All" class="NotifyPostmaster"/>-->
               <mailet match="All" class="ToRepository">
                 <repositoryPath>file://var/mail/spam/</repositoryPath>
                 <debug>false</debug>
               </mailet>
             </processor>
           </configuration>
       </appliance>
  
  
       <!-- NNTP Repository -->
       <appliance name="nntp-repository" 
             class="org.apache.james.nntpserver.repository.NNTPRepositoryImpl" 
             activation="false">
           <configuration>
             <readOnly>false</readOnly>
             <rootPath>file://var/nntp/groups</rootPath>
             <tempPath>file://var/nntp/temp</tempPath>
             <articleIDPath>file://var/nntp/articleid</articleIDPath>
             <articleIDDomainSuffix>news.james.apache.org</articleIDDomainSuffix>
  
             <!-- The news groups hosted in this NNTP repository. -->
             <newsgroups>
               <newsgroup>org.apache.james.dev</newsgroup>
               <newsgroup>org.apache.james.user</newsgroup>
               <newsgroup>org.apache.avalon.dev</newsgroup>
               <newsgroup>org.apache.avalon.user</newsgroup>
             </newsgroups>
  
             <spool>
               <configuration>
                 <spoolPath>file://var/nntp/spool</spoolPath>
                 <threadCount>1</threadCount>
                 <threadIdleTime>1000</threadIdleTime>
               </configuration>
             </spool>
           </configuration>
       </appliance>
  
       <appliance name="nntp" class="org.apache.james.nntpserver.NNTPServer"  
             activation="false">
           <configuration enabled="false">
             <port>119</port>
             <handler>
               <helloName autodetect="true">myMailServer</helloName>
               <connectiontimeout>120000</connectiontimeout>
               <authRequired>false</authRequired>
             </handler>
           </configuration>
       </appliance>
  
       <appliance name="fetchpop" class="org.apache.james.fetchpop.FetchScheduler" 
             activation="false">
          <configuration enabled="false">
            <fetch name="mydomain.com">
              <host>mail.mydomain.com</host>
              <!-- Account login username -->
              <user>username</user>
              <!-- Account login password -->
              <password>pass</password>
              <interval>600000</interval>
            </fetch>
           </configuration>
       </appliance>
  
     </implementation>
  
  </block>
  
  
  

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

Reply via email to