org.apache.james.mailrepository
Class AvalonSpoolRepository
java.lang.Object
org.apache.avalon.framework.logger.AbstractLogEnabled
org.apache.james.mailrepository.AvalonMailRepository
org.apache.james.mailrepository.AvalonSpoolRepository
- All Implemented Interfaces:
- org.apache.avalon.framework.activity.Initializable, org.apache.avalon.framework.configuration.Configurable, org.apache.avalon.framework.logger.LogEnabled, org.apache.avalon.framework.service.Serviceable, MailRepository, SpoolRepository
public class AvalonSpoolRepository
- extends AvalonMailRepository
- implements SpoolRepository
Implementation of a MailRepository on a FileSystem.
Requires a configuration element in the .conf.xml file of the form:
<repository destinationURL="file://path-to-root-dir-for-repository"
type="MAIL"
model="SYNCHRONOUS"/>
Requires a logger called MailRepository.
- Version:
- 1.0.0, 24/04/1999
Method Summary |
Mail |
accept()
Returns an arbitrarily selected mail deposited in this Repository. |
Mail |
accept(long delay)
Returns an arbitrarily selected mail deposited in this Repository that
is either ready immediately for delivery, or is younger than it's last_updated plus
the number of failed attempts times the delay time. |
Mail |
accept(SpoolRepository.AcceptFilter filter)
Returns an arbitrarily select mail deposited in this Repository for
which the supplied filter's accept method returns true. |
Methods inherited from class org.apache.james.mailrepository.AvalonMailRepository |
configure, initialize, list, lock, remove, remove, remove, retrieve, service, store, unlock |
Methods inherited from class org.apache.avalon.framework.logger.AbstractLogEnabled |
enableLogging, getLogger, setupLogger, setupLogger, setupLogger |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
AvalonSpoolRepository
public AvalonSpoolRepository()
accept
public Mail accept()
throws java.lang.InterruptedException
Returns an arbitrarily selected mail deposited in this Repository.
Usage: SpoolManager calls accept() to see if there are any unprocessed
mails in the spool repository.
Synchronized to ensure thread safe access to the underlying spool.
- Specified by:
accept
in interface SpoolRepository
- Returns:
- the mail
- Throws:
java.lang.InterruptedException
accept
public Mail accept(long delay)
throws java.lang.InterruptedException
Returns an arbitrarily selected mail deposited in this Repository that
is either ready immediately for delivery, or is younger than it's last_updated plus
the number of failed attempts times the delay time.
Usage: RemoteDeliverySpool calls accept() with some delay and should block until an
unprocessed mail is available.
Synchronized to ensure thread safe access to the underlying spool.
- Specified by:
accept
in interface SpoolRepository
- Returns:
- the mail
- Throws:
java.lang.InterruptedException
accept
public Mail accept(SpoolRepository.AcceptFilter filter)
throws java.lang.InterruptedException
- Returns an arbitrarily select mail deposited in this Repository for
which the supplied filter's accept method returns true.
Usage: RemoteDeliverySpool calls accept(filter) with some a filter which determines
based on number of retries if the mail is ready for processing.
If no message is ready the method will block until one is, the amount of time to block is
determined by calling the filters getWaitTime method.
Synchronized to ensure thread safe access to the underlying spool.
- Specified by:
accept
in interface SpoolRepository
- Returns:
- the mail
- Throws:
java.lang.InterruptedException
Copyright ? 2002-2009 The Apache Software Foundation. All Rights Reserved.