Spring Integration

org.springframework.integration.jdbc
Class JdbcPollingChannelAdapter

java.lang.Object
  extended by org.springframework.integration.jdbc.JdbcPollingChannelAdapter
All Implemented Interfaces:
MessageSource<Object>

public class JdbcPollingChannelAdapter
extends Object
implements MessageSource<Object>

A polling channel adapter that creates messages from the payload returned by executing a select query. Optionally an update can be executed after the select in order to update processed rows.

Since:
2.0
Author:
Jonas Partner, Dave Syer

Constructor Summary
JdbcPollingChannelAdapter(DataSource dataSource, String selectQuery)
          Constructor taking DataSource from which the DB Connection can be obtained and the select query to execute to retrieve new rows.
JdbcPollingChannelAdapter(JdbcOperations jdbcOperations, String selectQuery)
          Constructor taking JdbcOperations instance to use for query execution and the select query to execute to retrieve new rows.
 
Method Summary
 Message<Object> receive()
          Executes the query.
 void setMaxRowsPerPoll(int maxRows)
          The maximum number of rows to pull out of the query results per poll (if greater than zero, otherwise all rows will be packed into the outgoing message).
 void setRowMapper(RowMapper<?> rowMapper)
           
 void setSqlParameterSourceFactory(SqlParameterSourceFactory sqlParameterSourceFactory)
           
 void setSqlQueryParameterSource(SqlParameterSource sqlQueryParameterSource)
          A source of parameters for the select query used for polling.
 void setUpdatePerRow(boolean updatePerRow)
           
 void setUpdateSql(String updateSql)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

JdbcPollingChannelAdapter

public JdbcPollingChannelAdapter(DataSource dataSource,
                                 String selectQuery)
Constructor taking DataSource from which the DB Connection can be obtained and the select query to execute to retrieve new rows.

Parameters:
dataSource - used to create a SimpleJdbcTemplate
selectQuery - query to execute

JdbcPollingChannelAdapter

public JdbcPollingChannelAdapter(JdbcOperations jdbcOperations,
                                 String selectQuery)
Constructor taking JdbcOperations instance to use for query execution and the select query to execute to retrieve new rows.

Parameters:
jdbcOperations - instance to use for query execution
selectQuery - query to execute
Method Detail

setRowMapper

public void setRowMapper(RowMapper<?> rowMapper)

setUpdateSql

public void setUpdateSql(String updateSql)

setUpdatePerRow

public void setUpdatePerRow(boolean updatePerRow)

setSqlParameterSourceFactory

public void setSqlParameterSourceFactory(SqlParameterSourceFactory sqlParameterSourceFactory)

setSqlQueryParameterSource

public void setSqlQueryParameterSource(SqlParameterSource sqlQueryParameterSource)
A source of parameters for the select query used for polling.

Parameters:
sqlQueryParameterSource - the sql query parameter source to set

setMaxRowsPerPoll

public void setMaxRowsPerPoll(int maxRows)
The maximum number of rows to pull out of the query results per poll (if greater than zero, otherwise all rows will be packed into the outgoing message). Default is zero.

Parameters:
maxRows - the max rows to set

receive

public Message<Object> receive()
Executes the query. If a query result set contains one or more rows, the Message payload will contain either a List of Maps for each row or, if a RowMapper has been provided, the values mapped from those rows. If the query returns no rows, this method will return null.

Specified by:
receive in interface MessageSource<Object>

Spring Integration

Copyright © 2010. All Rights Reserved.