You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@avalon.apache.org by mc...@apache.org on 2003/01/15 10:16:44 UTC

cvs commit: avalon-sandbox/merlin/src/test/config james.xml

mcconnell    2003/01/15 01:16:44

  Added:       merlin/src/test/config james.xml
  Log:
  Example james block definition.
  
  Revision  Changes    Path
  1.1                  avalon-sandbox/merlin/src/test/config/james.xml
  
  Index: james.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="../../jakarta-avalon-excalibur">
             <!--<include name="collections/build/lib/excalibur-collections-1.0.jar"/>-->
             <!--<include name="collections/lib/commons-collections-2.0.jar"/>-->
             <include name="io/build/lib/excalibur-io-1.1.jar"/>
           </fileset>
           <fileset dir="../../jakarta-avalon-cornerstone/build/lib">
             <include name="cornerstone-threads-1.0.jar"/>
             <include name="cornerstone-connection-1.0.jar"/>
             <include name="cornerstone-datasource-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="../../jakarta-james/lib">
             <include name="dnsjava-1.2.3.jar"/>
             <include name="mail_1_3.jar"/>
             <include name="jakarta-oro-2.0.1.jar"/>
             <include name="activation.jar"/>
           </fileset>
           <fileset dir="../../jakarta-james/build/lib">
             <include name="mailet.jar"/>
             <include name="james-3.0.jar"/>
           </fileset>
         </classpath>
       </engine>
  
       <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.avalon.cornerstone.blocks.masterstore.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.avalon.cornerstone.blocks.masterstore.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="source" 
            class="org.apache.avalon.cornerstone.blocks.datasource.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"/>
                 <mailet match="InSpammerBlacklist=blackholes.mail-abuse.org" class="ToProcessor">
                   <processor> spam </processor>
                   <notice> Rejected - see  http://www.mail-abuse.org/rbl/ </notice>
                 </mailet>
                 <mailet match="InSpammerBlacklist=dialups.mail-abuse.org" class="ToProcessor">
                   <processor> spam </processor>
                   <notice> Dialup - see http://www.mail-abuse.org/dul/ </notice>
                 </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>
                 </mailet>
                 <mailet match="All" class="ToProcessor">
                   <processor> transport </processor>
                 </mailet>
               </processor>
  
               <processor name="error">
                 <mailet match="All" class="ToRepository">
                   <repositoryPath> file://var/mail/error/</repositoryPath>
                   <passThrough> true </passThrough>
                 </mailet>
               </processor>
  
               <processor name="transport">
                 <mailet match="RecipientIsLocal" class="LocalDelivery"/>
                 <mailet match="HostIsLocal" class="ToProcessor">
                   <processor>error</processor>
                 </mailet>
                 <mailet match="RemoteAddrNotInNetwork=127.0.0.1" class="ToProcessor">
                   <processor> spam </processor>
                 </mailet>
                 <mailet match="All" class="RemoteDelivery">
                   <outgoing> file://var/mail/outgoing/ </outgoing>
                   <delayTime> 21600000 </delayTime>
                   <maxRetries> 5 </maxRetries>
                   <deliveryThreads> 1 </deliveryThreads>
                   <!--<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>
                 </mailet>
               </processor>
           </configuration>
       </appliance>
  
       <appliance name="james" 
             class="org.apache.james.James" 
             activation="true">
           <configuration>
             <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>
       </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">
           <configuration>
             <port>4555</port>
             <handler>
               <helloName autodetect="TRUE">myMailServer</helloName>
                 <administrator_accounts>
                   <account login="root" password="root"/>
                 </administrator_accounts>
               <connectiontimeout> 60000 </connectiontimeout>
             </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>
  
       <!-- NNTP Repository -->
       <appliance name="nntp-repository" 
             class="org.apache.james.nntpserver.repository.NNTPRepositoryImpl" 
             activation="true">
           <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="true">
           <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="true">
          <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:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>