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.component.mail.MailConsumer
All Implemented Interfaces:
Runnable, org.apache.camel.BatchConsumer, org.apache.camel.Consumer, org.apache.camel.PollingConsumerPollingStrategy, org.apache.camel.Service, org.apache.camel.ShutdownableService, org.apache.camel.spi.ShutdownAware, org.apache.camel.StatefulService, org.apache.camel.SuspendableService

public class MailConsumer
extends org.apache.camel.impl.ScheduledPollConsumer
implements org.apache.camel.BatchConsumer, org.apache.camel.spi.ShutdownAware

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.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)
           
 boolean deferShutdown(org.apache.camel.ShutdownRunningTask shutdownRunningTask)
           
protected  void doStart()
           
protected  void doStop()
           
protected  String generatePop3Uid(javax.mail.Message message)
          Generates an UID of the POP3Message
 MailEndpoint getEndpoint()
           
 int getPendingExchangesSize()
           
 boolean isBatchAllowed()
           
protected  int poll()
           
 void prepareShutdown()
           
 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.
 void setMaxMessagesPerPoll(int maxMessagesPerPoll)
           
 
Methods inherited from class org.apache.camel.impl.ScheduledPollConsumer
afterPoll, beforePoll, doShutdown, doSuspend, getDelay, getInitialDelay, getPollStrategy, getRunLoggingLevel, getTimeUnit, isPollAllowed, isPolling, isSendEmptyMessageWhenIdle, isStartScheduler, isUseFixedDelay, onInit, processEmptyMessage, run, setDelay, setInitialDelay, setPollStrategy, setRunLoggingLevel, setSendEmptyMessageWhenIdle, setStartScheduler, setTimeUnit, setUseFixedDelay, startScheduler
 
Methods inherited from class org.apache.camel.impl.DefaultConsumer
getAsyncProcessor, getExceptionHandler, getProcessor, handleException, setExceptionHandler, toString
 
Methods inherited from class org.apache.camel.support.ServiceSupport
doResume, getStatus, getVersion, isRunAllowed, isStarted, isStarting, isStopped, isStopping, 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

setMaxMessagesPerPoll

public void setMaxMessagesPerPoll(int maxMessagesPerPoll)
Specified by:
setMaxMessagesPerPoll in interface org.apache.camel.BatchConsumer

processBatch

public int processBatch(Queue<Object> exchanges)
                 throws Exception
Specified by:
processBatch in interface org.apache.camel.BatchConsumer
Throws:
Exception

deferShutdown

public boolean deferShutdown(org.apache.camel.ShutdownRunningTask shutdownRunningTask)
Specified by:
deferShutdown in interface org.apache.camel.spi.ShutdownAware

getPendingExchangesSize

public int getPendingExchangesSize()
Specified by:
getPendingExchangesSize in interface org.apache.camel.spi.ShutdownAware

prepareShutdown

public void prepareShutdown()
Specified by:
prepareShutdown in interface org.apache.camel.spi.ShutdownAware

isBatchAllowed

public boolean isBatchAllowed()
Specified by:
isBatchAllowed in interface org.apache.camel.BatchConsumer

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