org.apache.camel.component.sql
Class SqlConsumer

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.sql.SqlConsumer
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 SqlConsumer
extends org.apache.camel.impl.ScheduledBatchPollingConsumer


Field Summary
 
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
SqlConsumer(SqlEndpoint endpoint, org.apache.camel.Processor processor, org.springframework.jdbc.core.JdbcTemplate jdbcTemplate, String query, SqlPrepareStatementStrategy sqlPrepareStatementStrategy, SqlProcessingStrategy sqlProcessingStrategy)
           
 
Method Summary
protected  org.apache.camel.Exchange createExchange(Object data)
           
 SqlEndpoint getEndpoint()
           
 int getExpectedUpdateCount()
           
 String getOnConsume()
           
 String getOnConsumeBatchComplete()
           
 String getOnConsumeFailed()
           
 boolean isBreakBatchOnConsumeFail()
           
 boolean isRouteEmptyResultSet()
          Indicates whether empty resultset should be allowed to be sent to the next hop or not
 boolean isUseIterator()
          Indicates how resultset should be delivered to the route
protected  int poll()
           
 int processBatch(Queue<Object> exchanges)
           
 void setBreakBatchOnConsumeFail(boolean breakBatchOnConsumeFail)
          Sets whether to break batch if onConsume failed.
 void setExpectedUpdateCount(int expectedUpdateCount)
          Sets an expected update count to validate when using onConsume.
 void setOnConsume(String onConsume)
          Sets a SQL to execute when the row has been successfully processed.
 void setOnConsumeBatchComplete(String onConsumeBatchComplete)
           
 void setOnConsumeFailed(String onConsumeFailed)
          Sets a SQL to execute when the row failed being processed.
 void setRouteEmptyResultSet(boolean routeEmptyResultSet)
          Sets whether empty resultset should be allowed to be sent to the next hop.
 void setUseIterator(boolean useIterator)
          Sets how resultset should be delivered to route.
 
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, doStart, doStop, 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
 

Constructor Detail

SqlConsumer

public SqlConsumer(SqlEndpoint endpoint,
                   org.apache.camel.Processor processor,
                   org.springframework.jdbc.core.JdbcTemplate jdbcTemplate,
                   String query,
                   SqlPrepareStatementStrategy sqlPrepareStatementStrategy,
                   SqlProcessingStrategy sqlProcessingStrategy)
Method Detail

getEndpoint

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

poll

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

createExchange

protected org.apache.camel.Exchange createExchange(Object data)

processBatch

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

getOnConsume

public String getOnConsume()

setOnConsume

public void setOnConsume(String onConsume)
Sets a SQL to execute when the row has been successfully processed.


getOnConsumeFailed

public String getOnConsumeFailed()

setOnConsumeFailed

public void setOnConsumeFailed(String onConsumeFailed)
Sets a SQL to execute when the row failed being processed.


getOnConsumeBatchComplete

public String getOnConsumeBatchComplete()

setOnConsumeBatchComplete

public void setOnConsumeBatchComplete(String onConsumeBatchComplete)

isUseIterator

public boolean isUseIterator()
Indicates how resultset should be delivered to the route


setUseIterator

public void setUseIterator(boolean useIterator)
Sets how resultset should be delivered to route. Indicates delivery as either a list or individual object. defaults to true.


isRouteEmptyResultSet

public boolean isRouteEmptyResultSet()
Indicates whether empty resultset should be allowed to be sent to the next hop or not


setRouteEmptyResultSet

public void setRouteEmptyResultSet(boolean routeEmptyResultSet)
Sets whether empty resultset should be allowed to be sent to the next hop. defaults to false. So the empty resultset will be filtered out.


getExpectedUpdateCount

public int getExpectedUpdateCount()

setExpectedUpdateCount

public void setExpectedUpdateCount(int expectedUpdateCount)
Sets an expected update count to validate when using onConsume.

Parameters:
expectedUpdateCount - typically set this value to 1 to expect 1 row updated.

isBreakBatchOnConsumeFail

public boolean isBreakBatchOnConsumeFail()

setBreakBatchOnConsumeFail

public void setBreakBatchOnConsumeFail(boolean breakBatchOnConsumeFail)
Sets whether to break batch if onConsume failed.



Apache Camel