You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by do...@apache.org on 2001/09/20 03:11:06 UTC

cvs commit: jakarta-james/src/java/org/apache/james/transport JamesSpoolManager.java JamesSpoolManager.xinfo

donaldp     01/09/19 18:11:06

  Modified:    lib      cornerstone-20010919.bar
               src/conf james-assembly.xml james-config.xml
               src/java/org/apache/james/transport JamesSpoolManager.java
                        JamesSpoolManager.xinfo
  Log:
  Updated to use Avalons new ThreadManager service rather than relying on container to manage threads.
  
  Revision  Changes    Path
  1.2       +157 -131  jakarta-james/lib/cornerstone-20010919.bar
  
  	<<Binary file>>
  
  
  1.3       +17 -8     jakarta-james/src/conf/james-assembly.xml
  
  Index: james-assembly.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-james/src/conf/james-assembly.xml,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- james-assembly.xml	2001/09/11 04:29:30	1.2
  +++ james-assembly.xml	2001/09/20 01:11:06	1.3
  @@ -21,15 +21,15 @@
   
     <!-- The James Spool Manager block  -->
     <block class="org.apache.james.transport.JamesSpoolManager" 
  -	name="spoolmanager" >
  +         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.dnsserver.DNSServer" name="dnsserver">
  -  </block>
  -
     <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"/>
  @@ -129,20 +129,29 @@
     <!-- 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">
  -  </block>
  +         name="sockets"/>
   
     <!-- The Time Manager block -->
     <block class="org.apache.avalon.cornerstone.blocks.scheduler.DefaultTimeScheduler" 
  -         name="scheduler"/>
  -         
  +         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>
   
  
  
  
  1.12      +19 -2     jakarta-james/src/conf/james-config.xml
  
  Index: james-config.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-james/src/conf/james-config.xml,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- james-config.xml	2001/09/13 20:30:08	1.11
  +++ james-config.xml	2001/09/20 01:11:06	1.12
  @@ -13,8 +13,8 @@
       CONFIRM? comment in the left
       margin.
   
  -    This is $Revision: 1.11 $
  -    Committed on $Date: 2001/09/13 20:30:08 $ by: $Author: charlesb $
  +    This is $Revision: 1.12 $
  +    Committed on $Date: 2001/09/20 01:11:06 $ by: $Author: donaldp $
   -->
   <config>
   
  @@ -661,5 +661,22 @@
                    class="org.apache.avalon.cornerstone.blocks.sockets.DefaultSocketFactory" />
         </client-sockets>
     </sockets>
  +
  +  <thread-manager>
  +      <thread-group>
  +        <name>default</name>
  +
  +        <!-- normal priority == 5, max-priority = 10 -->
  +        <priority>5</priority> 
  +
  +        <!-- are threads deamon threads ? -->
  +        <is-daemon>false</is-daemon>
  +
  +        <max-threads>40</max-threads>
  +        <!-- these are ignored at the moment but will be fixed in later revisions -->
  +        <min-threads>20</min-threads>
  +        <min-spare-threads>20</min-spare-threads>
  +      </thread-group>
  +  </thread-manager>
   
   </config>
  
  
  
  1.5       +19 -17    jakarta-james/src/java/org/apache/james/transport/JamesSpoolManager.java
  
  Index: JamesSpoolManager.java
  ===================================================================
  RCS file: /home/cvs/jakarta-james/src/java/org/apache/james/transport/JamesSpoolManager.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- JamesSpoolManager.java	2001/09/11 04:34:20	1.4
  +++ JamesSpoolManager.java	2001/09/20 01:11:06	1.5
  @@ -11,8 +11,11 @@
   import java.net.*;
   import java.util.*;
   import javax.mail.MessagingException;
  -import org.apache.avalon.framework.activity.Initializable;
  +import org.apache.avalon.cornerstone.services.threads.ThreadManager;
  +import org.apache.avalon.excalibur.thread.ThreadPool;
   import org.apache.avalon.framework.activity.Disposable;
  +import org.apache.avalon.framework.activity.Initializable;
  +import org.apache.avalon.framework.component.ComponentException;
   import org.apache.avalon.framework.component.ComponentManager;
   import org.apache.avalon.framework.component.Composable;
   import org.apache.avalon.framework.component.DefaultComponentManager;
  @@ -23,20 +26,18 @@
   import org.apache.avalon.framework.context.Contextualizable;
   import org.apache.avalon.framework.context.DefaultContext;
   import org.apache.avalon.framework.logger.AbstractLoggable;
  -import org.apache.avalon.excalibur.thread.ThreadPool;
  +import org.apache.avalon.phoenix.Block;
   import org.apache.james.*;
   import org.apache.james.core.*;
   import org.apache.james.services.*;
   import org.apache.mailet.*;
  -import org.apache.avalon.phoenix.Block;
  -import org.apache.avalon.phoenix.BlockContext;
   
   /**
    * @author Serge Knystautas <se...@lokitech.com>
    * @author Federico Barbieri <sc...@systemy.it>
    *
  - * This is $Revision: 1.4 $
  - * Committed on $Date: 2001/09/11 04:34:20 $ by: $Author: serge $
  + * This is $Revision: 1.5 $
  + * Committed on $Date: 2001/09/20 01:11:06 $ by: $Author: donaldp $
    */
   public class JamesSpoolManager
       extends AbstractLoggable
  @@ -52,8 +53,8 @@
       private MailetContext mailetcontext;
       private HashMap processors;
       private int threads;
  -    protected BlockContext           blockContext;
       private ThreadPool workerPool;
  +    private ThreadManager threadManager;
   
       public void configure(Configuration conf) throws ConfigurationException {
           this.conf = conf;
  @@ -62,24 +63,25 @@
   
       public void contextualize(Context context) {
           this.context = new DefaultContext( context );
  -        this.blockContext = (BlockContext)context;
       }
   
  -    public void compose(ComponentManager comp) {
  +    public void compose(ComponentManager comp) 
  +        throws ComponentException {
  +        threadManager = (ThreadManager)comp.lookup( ThreadManager.ROLE );
           compMgr = new DefaultComponentManager(comp);
       }
   
       public void initialize() throws Exception {
   
           getLogger().info("JamesSpoolManager init...");
  -        workerPool = blockContext.getThreadPool( "default" );
  +        workerPool = threadManager.getThreadPool( "default" );
           MailStore mailstore
  -          = (MailStore) compMgr.lookup("org.apache.james.services.MailStore");
  +            = (MailStore) compMgr.lookup("org.apache.james.services.MailStore");
           spool = mailstore.getInboundSpool();
           if (DEEP_DEBUG) getLogger().debug("Got spool");
   
           mailetcontext
  -          = (MailetContext) compMgr.lookup("org.apache.mailet.MailetContext");
  +            = (MailetContext) compMgr.lookup("org.apache.mailet.MailetContext");
           MailetLoader mailetLoader = new MailetLoader();
           MatchLoader matchLoader = new MatchLoader();
           try {
  @@ -116,7 +118,7 @@
                       Matcher matcher = matchLoader.getMatcher("All",
                                                                mailetcontext);
                       Mailet mailet = mailetLoader.getMailet("PostmasterAlias",
  -                                                          mailetcontext, null);
  +                                                           mailetcontext, null);
                       processor.add(matcher, mailet);
                   }
   
  @@ -138,18 +140,18 @@
                       } catch (MessagingException ex) {
                           // **** Do better job printing out exception
                           getLogger().error( "Unable to init matcher "
  -                                   + matcherName + ": " + ex.toString(), ex );
  +                                           + matcherName + ": " + ex.toString(), ex );
                           throw ex;
                       }
                       try {
                           mailet = mailetLoader.getMailet(mailetClassName,
  -                                                         mailetcontext, c);
  +                                                        mailetcontext, c);
                           getLogger().info("Mailet " + mailetClassName
                                            + " instantiated");
                       } catch (MessagingException ex) {
                           // **** Do better job printing out exception
                           getLogger().error("Unable to init mailet "
  -                                   + mailetClassName + ": " + ex.getMessage());
  +                                          + mailetClassName + ": " + ex.getMessage());
                           throw ex;
                       }
                       //Add this pair to the proces
  @@ -163,7 +165,7 @@
                   //   it will always be ghosted
                   Matcher matcher = matchLoader.getMatcher("All", mailetcontext);
                   Mailet mailet
  -                         = mailetLoader.getMailet("Null", mailetcontext, null);
  +                    = mailetLoader.getMailet("Null", mailetcontext, null);
                   processor.add(matcher, mailet);
   
                   getLogger().info("processor " + processorName
  
  
  
  1.2       +4 -0      jakarta-james/src/java/org/apache/james/transport/JamesSpoolManager.xinfo
  
  Index: JamesSpoolManager.xinfo
  ===================================================================
  RCS file: /home/cvs/jakarta-james/src/java/org/apache/james/transport/JamesSpoolManager.xinfo,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- JamesSpoolManager.xinfo	2001/05/11 10:36:19	1.1
  +++ JamesSpoolManager.xinfo	2001/09/20 01:11:06	1.2
  @@ -14,5 +14,9 @@
         <role>org.apache.james.services.MailStore</role>
         <service name="org.apache.james.services.MailStore" version="1.0"/>
       </dependency>
  +    <dependency>
  +      <role>org.apache.avalon.cornerstone.services.threads.ThreadManager</role>
  +      <service name="org.apache.avalon.cornerstone.services.threads.ThreadManager" version="1.0"/>
  +    </dependency>
     </dependencies>  
   </blockinfo>
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: james-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: james-dev-help@jakarta.apache.org


Re: Bounce date thinggy

Posted by Charles Benett <ch...@benett1.demon.co.uk>.
Danny Angus wrote:
> 
> I've fixed a bug in org.apache.James.James.bounce()
> when a mail was bounced no date header was put in the bounce mail (so my
> mail client was listing it before all the dated mails), *until now*  :-D
> 
> diff below src attached.

Diff applied. Thanks.

> 
> (ps am I doing the right thing, sending diffs and src to the list?)

Just diff is fine (unless a new file, obviously)

Charles


> 
> d.
> 
> ===================================================================
> RCS file:
> /home/cvspublic/jakarta-james/src/java/org/apache/james/James.java,v
> retrieving revision 1.8
> diff -r1.8 James.java
> 33a34
> > import org.apache.james.util.*;
> 430c431
> <
> ---
> >                       reply.setHeader("Date", RFC822DateFormat.toString(new Date()));
> 
>   ------------------------------------------------------------------------
>                  Name: James.java
>    James.java    Type: unspecified type (application/octet-stream)
>              Encoding: quoted-printable
> 
>   ------------------------------------------------------------------------
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: james-dev-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: james-dev-help@jakarta.apache.org

---------------------------------------------------------------------
To unsubscribe, e-mail: james-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: james-dev-help@jakarta.apache.org


Bounce date thinggy

Posted by Danny Angus <da...@thought.co.uk>.
I've fixed a bug in org.apache.James.James.bounce()
when a mail was bounced no date header was put in the bounce mail (so my
mail client was listing it before all the dated mails), *until now*  :-D

diff below src attached.

(ps am I doing the right thing, sending diffs and src to the list?)

d.


===================================================================
RCS file:
/home/cvspublic/jakarta-james/src/java/org/apache/james/James.java,v
retrieving revision 1.8
diff -r1.8 James.java
33a34
> import org.apache.james.util.*;
430c431
<
---
> 			reply.setHeader("Date", RFC822DateFormat.toString(new Date()));


Help! getMailetContext.bounce()

Posted by Danny Angus <da...@thought.co.uk>.
in org.apache.james.transport.mailets.genericListServe theres a call to
bounce() of the mailet context got by getMailetContext().

I want to hack this bounce(), 'cos it doesn't put any dates and times in the
message header, but I can't identify where it is in the source :-)

Anyone any clues?

danny.


---------------------------------------------------------------------
To unsubscribe, e-mail: james-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: james-dev-help@jakarta.apache.org