You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-user@james.apache.org by Maxime Levesque <ma...@webhelp.com> on 2002/10/15 21:23:17 UTC

Trimed down config for using only maillets

   I want to use maillets as a way to execute code based on received 
mails from SMTP
(no database, no user inbox etc...)  ...

 I couldn't trim the config further than the config below. Is this as 
'bare bone' as it gets ?

i.e. why is database-connections mandatory ?


<assembly>

  <!-- The James block  -->
  <block class="org.apache.james.James" name="James" >

    <!-- Specify which components will provide the services required by this
    block. The roles are specified in the code and the .xinfo file. The 
names
    here must match the names specified for  a Block in this xml file.   -->

    <provide name="dnsserver" role="org.apache.james.services.DNSServer"/>
    <provide name="mailstore" role="org.apache.james.services.MailStore"/>
    <provide name="users-store" 
role="org.apache.james.services.UsersStore"/>
    <provide name="sockets"
             
role="org.apache.avalon.cornerstone.services.sockets.SocketManager"/>
    <provide name="connections"
             
role="org.apache.avalon.cornerstone.services.connection.ConnectionManager"/>
    <provide name="scheduler"
             
role="org.apache.avalon.cornerstone.services.scheduler.TimeScheduler"/>
    <provide name="database-connections"
             
role="org.apache.avalon.cornerstone.services.datasource.DataSourceSelector" 
/>
  </block>

  <!-- The James Spool Manager block  -->
  <block class="org.apache.james.transport.JamesSpoolManager"
         name="spoolmanager" >
    <provide name="James" role="org.apache.mailet.MailetContext"/>
    <provide name="mailstore" role="org.apache.james.services.MailStore"/>
    <provide name="thread-manager"
             
role="org.apache.avalon.cornerstone.services.threads.ThreadManager" />
  </block>

  <block class="org.apache.james.dnsserver.DNSServer" name="dnsserver"/>

  <block class="org.apache.james.remotemanager.RemoteManager" 
name="remotemanager" >
    <provide name="mailstore" role="org.apache.james.services.MailStore"/>
    <provide name="users-store" 
role="org.apache.james.services.UsersStore"/>
    <provide name="sockets"
        
role="org.apache.avalon.cornerstone.services.sockets.SocketManager"/>
    <provide name="connections"
        
role="org.apache.avalon.cornerstone.services.connection.ConnectionManager"/>
    <provide name="scheduler"
        
role="org.apache.avalon.cornerstone.services.scheduler.TimeScheduler"/>
    <provide name="James" role="org.apache.james.services.MailServer"/>
  </block>

  <!-- SMTP Server -->
  <block class="org.apache.james.smtpserver.SMTPServer" name="smtpserver" >
    <provide name="mailstore" role="org.apache.james.services.MailStore"/>
    <provide name="users-store" 
role="org.apache.james.services.UsersStore"/>
    <provide name="sockets"
        
role="org.apache.avalon.cornerstone.services.sockets.SocketManager"/>
    <provide name="connections"
        
role="org.apache.avalon.cornerstone.services.connection.ConnectionManager"/>
    <provide name="scheduler"
        
role="org.apache.avalon.cornerstone.services.scheduler.TimeScheduler"/>
    <provide name="James" role="org.apache.james.services.MailServer"/>
  </block>

  <!-- The High Level Storage block -->
  <block class="org.apache.james.core.AvalonMailStore" name="mailstore" >
    <provide name="objectstorage"
             role="org.apache.avalon.cornerstone.services.store.Store"/>
    <provide name="database-connections"
             
role="org.apache.avalon.cornerstone.services.datasource.DataSourceSelector" 
/>
  </block>

  <!-- The User Storage block -->
  <block class="org.apache.james.core.AvalonUsersStore" name="users-store" >
    <!-- Configure file based user store here, defaults should be fine -->
    <provide name="objectstorage"
             role="org.apache.avalon.cornerstone.services.store.Store"/>
    <provide name="database-connections"
             
role="org.apache.avalon.cornerstone.services.datasource.DataSourceSelector" 
/>
  </block>


  <!-- Configuration for Cornerstone Blocks only after here
       NOTHING BELOW THIS SHOULD NEED CHANGING,
       (unless you want secure sockets (TLS)) -->

  <!-- The Storage block -->
  <block 
class="org.apache.avalon.cornerstone.blocks.masterstore.RepositoryManager"
         name="objectstorage">
  </block>

  <!-- The Connection Manager block -->
  <block 
class="org.apache.avalon.cornerstone.blocks.connection.DefaultConnectionManager"
           name="connections">
    <provide name="thread-manager"
             
role="org.apache.avalon.cornerstone.services.threads.ThreadManager" />
  </block>

  <!-- The Socket Manager block -->
  <block 
class="org.apache.avalon.cornerstone.blocks.sockets.DefaultSocketManager"
         name="sockets"/>

  <!-- The Time Manager block -->
  <block 
class="org.apache.avalon.cornerstone.blocks.scheduler.DefaultTimeScheduler"
         name="scheduler">
    <provide name="thread-manager"
             
role="org.apache.avalon.cornerstone.services.threads.ThreadManager" />
  </block>

  <!-- The DataSourceSelector block -->
  <block 
class="org.apache.avalon.cornerstone.blocks.datasource.DefaultDataSourceSelector"
         name="database-connections"/>

  <!-- The ThreadManager block -->
  <block 
class="org.apache.avalon.cornerstone.blocks.threads.DefaultThreadManager"
         name="thread-manager" />

</assembly>




--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>


RE: Trimed down config for using only maillets

Posted by Danny Angus <da...@apache.org>.
Database sonnections is mandatory becuase a database connection service is provided by James, removing all refrence to it in config.xml, and assembly.xml and environment.xml will remove the service.
You can experiment with removing every service bar those depended upon by SMTP and Spoolmanager.

You could also try removing refrence to some in spoolmanager, but I can't predict the result, spoolmanager might need to see them even though it doesn't actually use them in your case.

d.

> -----Original Message-----
> From: Maxime Levesque [mailto:maxime.levesque@webhelp.com]
> Sent: 15 October 2002 20:23
> To: james-user@jakarta.apache.org
> Subject: Trimed down config for using only maillets
> 
> 
> 
>    I want to use maillets as a way to execute code based on received 
> mails from SMTP
> (no database, no user inbox etc...)  ...
> 
>  I couldn't trim the config further than the config below. Is this as 
> 'bare bone' as it gets ?
> 
> i.e. why is database-connections mandatory ?
> 
> 
> <assembly>
> 
>   <!-- The James block  -->
>   <block class="org.apache.james.James" name="James" >
> 
>     <!-- Specify which components will provide the services 
> required by this
>     block. The roles are specified in the code and the .xinfo file. The 
> names
>     here must match the names specified for  a Block in this xml 
> file.   -->
> 
>     <provide name="dnsserver" role="org.apache.james.services.DNSServer"/>
>     <provide name="mailstore" role="org.apache.james.services.MailStore"/>
>     <provide name="users-store" 
> role="org.apache.james.services.UsersStore"/>
>     <provide name="sockets"
>              
> role="org.apache.avalon.cornerstone.services.sockets.SocketManager"/>
>     <provide name="connections"
>              
> role="org.apache.avalon.cornerstone.services.connection.Connection
> Manager"/>
>     <provide name="scheduler"
>              
> role="org.apache.avalon.cornerstone.services.scheduler.TimeScheduler"/>
>     <provide name="database-connections"
>              
> role="org.apache.avalon.cornerstone.services.datasource.DataSource
> Selector" 
> />
>   </block>
> 
>   <!-- The James Spool Manager block  -->
>   <block class="org.apache.james.transport.JamesSpoolManager"
>          name="spoolmanager" >
>     <provide name="James" role="org.apache.mailet.MailetContext"/>
>     <provide name="mailstore" role="org.apache.james.services.MailStore"/>
>     <provide name="thread-manager"
>              
> role="org.apache.avalon.cornerstone.services.threads.ThreadManager" />
>   </block>
> 
>   <block class="org.apache.james.dnsserver.DNSServer" name="dnsserver"/>
> 
>   <block class="org.apache.james.remotemanager.RemoteManager" 
> name="remotemanager" >
>     <provide name="mailstore" role="org.apache.james.services.MailStore"/>
>     <provide name="users-store" 
> role="org.apache.james.services.UsersStore"/>
>     <provide name="sockets"
>         
> role="org.apache.avalon.cornerstone.services.sockets.SocketManager"/>
>     <provide name="connections"
>         
> role="org.apache.avalon.cornerstone.services.connection.Connection
> Manager"/>
>     <provide name="scheduler"
>         
> role="org.apache.avalon.cornerstone.services.scheduler.TimeScheduler"/>
>     <provide name="James" role="org.apache.james.services.MailServer"/>
>   </block>
> 
>   <!-- SMTP Server -->
>   <block class="org.apache.james.smtpserver.SMTPServer" 
> name="smtpserver" >
>     <provide name="mailstore" role="org.apache.james.services.MailStore"/>
>     <provide name="users-store" 
> role="org.apache.james.services.UsersStore"/>
>     <provide name="sockets"
>         
> role="org.apache.avalon.cornerstone.services.sockets.SocketManager"/>
>     <provide name="connections"
>         
> role="org.apache.avalon.cornerstone.services.connection.Connection
> Manager"/>
>     <provide name="scheduler"
>         
> role="org.apache.avalon.cornerstone.services.scheduler.TimeScheduler"/>
>     <provide name="James" role="org.apache.james.services.MailServer"/>
>   </block>
> 
>   <!-- The High Level Storage block -->
>   <block class="org.apache.james.core.AvalonMailStore" name="mailstore" >
>     <provide name="objectstorage"
>              role="org.apache.avalon.cornerstone.services.store.Store"/>
>     <provide name="database-connections"
>              
> role="org.apache.avalon.cornerstone.services.datasource.DataSource
> Selector" 
> />
>   </block>
> 
>   <!-- The User Storage block -->
>   <block class="org.apache.james.core.AvalonUsersStore" 
> name="users-store" >
>     <!-- Configure file based user store here, defaults should be fine -->
>     <provide name="objectstorage"
>              role="org.apache.avalon.cornerstone.services.store.Store"/>
>     <provide name="database-connections"
>              
> role="org.apache.avalon.cornerstone.services.datasource.DataSource
> Selector" 
> />
>   </block>
> 
> 
>   <!-- Configuration for Cornerstone Blocks only after here
>        NOTHING BELOW THIS SHOULD NEED CHANGING,
>        (unless you want secure sockets (TLS)) -->
> 
>   <!-- The Storage block -->
>   <block 
> class="org.apache.avalon.cornerstone.blocks.masterstore.RepositoryManager"
>          name="objectstorage">
>   </block>
> 
>   <!-- The Connection Manager block -->
>   <block 
> class="org.apache.avalon.cornerstone.blocks.connection.DefaultConn
> ectionManager"
>            name="connections">
>     <provide name="thread-manager"
>              
> role="org.apache.avalon.cornerstone.services.threads.ThreadManager" />
>   </block>
> 
>   <!-- The Socket Manager block -->
>   <block 
> class="org.apache.avalon.cornerstone.blocks.sockets.DefaultSocketManager"
>          name="sockets"/>
> 
>   <!-- The Time Manager block -->
>   <block 
> class="org.apache.avalon.cornerstone.blocks.scheduler.DefaultTimeS
> cheduler"
>          name="scheduler">
>     <provide name="thread-manager"
>              
> role="org.apache.avalon.cornerstone.services.threads.ThreadManager" />
>   </block>
> 
>   <!-- The DataSourceSelector block -->
>   <block 
> class="org.apache.avalon.cornerstone.blocks.datasource.DefaultData
> SourceSelector"
>          name="database-connections"/>
> 
>   <!-- The ThreadManager block -->
>   <block 
> class="org.apache.avalon.cornerstone.blocks.threads.DefaultThreadManager"
>          name="thread-manager" />
> 
> </assembly>
> 
> 
> 
> 
> --
> To unsubscribe, e-mail:   
> <ma...@jakarta.apache.org>
> For additional commands, e-mail: 
> <ma...@jakarta.apache.org>
> 


--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>