org.apache.camel.component.mail
Class MailConsumer

java.lang.Object
  extended by org.apache.camel.support.ServiceSupport
      extended by org.apache.camel.impl.DefaultConsumer
          extended by org.apache.camel.impl.ScheduledPollConsumer
              extended by org.apache.camel.impl.ScheduledBatchPollingConsumer
                  extended by org.apache.camel.component.mail.MailConsumer
All Implemented Interfaces:
Runnable, org.apache.camel.BatchConsumer, org.apache.camel.Consumer, org.apache.camel.PollingConsumerPollingStrategy, org.apache.camel.RouteAware, org.apache.camel.Service, org.apache.camel.ShutdownableService, org.apache.camel.spi.ShutdownAware, org.apache.camel.spi.ShutdownPrepared, org.apache.camel.StatefulService, org.apache.camel.SuspendableService

public class MailConsumer
extends org.apache.camel.impl.ScheduledBatchPollingConsumer

A Consumer which consumes messages from JavaMail using a Transport and dispatches them to the Processor


Field Summary
static long DEFAULT_CONSUMER_DELAY
           
static String POP3_UID
           
 
Fields inherited from class org.apache.camel.impl.ScheduledBatchPollingConsumer
maxMessagesPerPoll, pendingExchanges, shutdownRunningTask
 
Fields inherited from class org.apache.camel.impl.DefaultConsumer
log
 
Fields inherited from class org.apache.camel.support.ServiceSupport
shutdown, shuttingdown, started, starting, stopped, stopping, suspended, suspending
 
Constructor Summary
MailConsumer(MailEndpoint endpoint, org.apache.camel.Processor processor, JavaMailSender sender)
           
 
Method Summary
protected  Queue<org.apache.camel.Exchange> createExchanges(javax.mail.Message[] messages)
           
protected  void doStart()
           
protected  void doStop()
           
protected  String generatePop3Uid(javax.mail.Message message)
          Generates an UID of the POP3Message
 MailEndpoint getEndpoint()
           
protected  int poll()
           
 int processBatch(Queue<Object> exchanges)
           
protected  void processCommit(javax.mail.Message mail, org.apache.camel.Exchange exchange)
          Strategy to flag the message after being processed.
protected  void processExchange(org.apache.camel.Exchange exchange)
          Strategy to process the mail message.
protected  void processRollback(javax.mail.Message mail, org.apache.camel.Exchange exchange)
          Strategy when processing the exchange failed.
 
Methods inherited from class org.apache.camel.impl.ScheduledBatchPollingConsumer
deferShutdown, getMaxMessagesPerPoll, getPendingExchangesSize, isBatchAllowed, prepareShutdown, processEmptyMessage, setMaxMessagesPerPoll
 
Methods inherited from class org.apache.camel.impl.ScheduledPollConsumer
afterPoll, beforePoll, doShutdown, doSuspend, getBackoffCounter, getBackoffErrorThreshold, getBackoffIdleThreshold, getBackoffMultiplier, getDelay, getInitialDelay, getPollStrategy, getRunLoggingLevel, getScheduledExecutorService, getScheduler, getSchedulerProperties, getTimeUnit, isGreedy, isPollAllowed, isPolling, isSchedulerStarted, isSendEmptyMessageWhenIdle, isStartScheduler, isUseFixedDelay, onInit, run, setBackoffErrorThreshold, setBackoffIdleThreshold, setBackoffMultiplier, setDelay, setGreedy, setInitialDelay, setPollStrategy, setRunLoggingLevel, setScheduledExecutorService, setScheduler, setSchedulerProperties, setSendEmptyMessageWhenIdle, setStartScheduler, setTimeUnit, setUseFixedDelay, startScheduler
 
Methods inherited from class org.apache.camel.impl.DefaultConsumer
createUoW, doneUoW, getAsyncProcessor, getExceptionHandler, getProcessor, getRoute, handleException, handleException, setExceptionHandler, setRoute, toString
 
Methods inherited from class org.apache.camel.support.ServiceSupport
doResume, getStatus, getVersion, isRunAllowed, isStarted, isStarting, isStopped, isStopping, isStoppingOrStopped, isSuspended, isSuspending, resume, shutdown, start, stop, suspend
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.apache.camel.Service
start, stop
 
Methods inherited from interface org.apache.camel.SuspendableService
isSuspended, resume, suspend
 

Field Detail

POP3_UID

public static final String POP3_UID
See Also:
Constant Field Values

DEFAULT_CONSUMER_DELAY

public static final long DEFAULT_CONSUMER_DELAY
See Also:
Constant Field Values
Constructor Detail

MailConsumer

public MailConsumer(MailEndpoint endpoint,
                    org.apache.camel.Processor processor,
                    JavaMailSender sender)
Method Detail

doStart

protected void doStart()
                throws Exception
Overrides:
doStart in class org.apache.camel.impl.ScheduledPollConsumer
Throws:
Exception

doStop

protected void doStop()
               throws Exception
Overrides:
doStop in class org.apache.camel.impl.ScheduledPollConsumer
Throws:
Exception

poll

protected int poll()
            throws Exception
Specified by:
poll in class org.apache.camel.impl.ScheduledPollConsumer
Throws:
Exception

processBatch

public int processBatch(Queue<Object> exchanges)
                 throws Exception
Throws:
Exception

createExchanges

protected Queue<org.apache.camel.Exchange> createExchanges(javax.mail.Message[] messages)
                                                    throws javax.mail.MessagingException
Throws:
javax.mail.MessagingException

processExchange

protected void processExchange(org.apache.camel.Exchange exchange)
                        throws Exception
Strategy to process the mail message.

Throws:
Exception

processCommit

protected void processCommit(javax.mail.Message mail,
                             org.apache.camel.Exchange exchange)
Strategy to flag the message after being processed.

Parameters:
mail - the mail message
exchange - the exchange

processRollback

protected void processRollback(javax.mail.Message mail,
                               org.apache.camel.Exchange exchange)
Strategy when processing the exchange failed.

Parameters:
mail - the mail message
exchange - the exchange

generatePop3Uid

protected String generatePop3Uid(javax.mail.Message message)
Generates an UID of the POP3Message

Parameters:
message - the POP3Message
Returns:
the generated uid

getEndpoint

public MailEndpoint getEndpoint()
Specified by:
getEndpoint in interface org.apache.camel.Consumer
Overrides:
getEndpoint in class org.apache.camel.impl.DefaultConsumer


Apache Camel