Spring Integration

org.springframework.integration.jdbc
Class JdbcOutboundGateway

java.lang.Object
  extended by org.springframework.integration.context.IntegrationObjectSupport
      extended by org.springframework.integration.handler.AbstractMessageHandler
          extended by org.springframework.integration.handler.AbstractReplyProducingMessageHandler
              extended by org.springframework.integration.jdbc.JdbcOutboundGateway
All Implemented Interfaces:
org.springframework.beans.factory.Aware, org.springframework.beans.factory.BeanClassLoaderAware, org.springframework.beans.factory.BeanFactoryAware, org.springframework.beans.factory.BeanNameAware, org.springframework.beans.factory.InitializingBean, org.springframework.core.Ordered, NamedComponent, Orderable, MessageHandler, MessageProducer, TrackableComponent

public class JdbcOutboundGateway
extends AbstractReplyProducingMessageHandler
implements org.springframework.beans.factory.InitializingBean

Since:
2.0
Author:
Dave Syer, Gunnar Hillert

Nested Class Summary
 
Nested classes/interfaces inherited from class org.springframework.integration.handler.AbstractReplyProducingMessageHandler
AbstractReplyProducingMessageHandler.RequestHandler
 
Field Summary
 
Fields inherited from class org.springframework.integration.context.IntegrationObjectSupport
logger
 
Fields inherited from interface org.springframework.core.Ordered
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
 
Constructor Summary
JdbcOutboundGateway(javax.sql.DataSource dataSource, java.lang.String updateQuery)
           
JdbcOutboundGateway(javax.sql.DataSource dataSource, java.lang.String updateQuery, java.lang.String selectQuery)
           
JdbcOutboundGateway(org.springframework.jdbc.core.JdbcOperations jdbcOperations, java.lang.String updateQuery)
           
JdbcOutboundGateway(org.springframework.jdbc.core.JdbcOperations jdbcOperations, java.lang.String updateQuery, java.lang.String selectQuery)
           
 
Method Summary
protected  java.lang.Object handleRequestMessage(Message<?> requestMessage)
          Subclasses must implement this method to handle the request Message.
protected  void onInit()
          Subclasses may implement this for initialization logic.
 void setKeysGenerated(boolean keysGenerated)
          Flag to indicate that the update query is an insert with autogenerated keys, which will be logged at debug level.
 void setMaxRowsPerPoll(java.lang.Integer maxRowsPerPoll)
          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 setReplySqlParameterSourceFactory(SqlParameterSourceFactory sqlParameterSourceFactory)
           
 void setRequestSqlParameterSourceFactory(SqlParameterSourceFactory sqlParameterSourceFactory)
           
 void setRowMapper(org.springframework.jdbc.core.RowMapper<?> rowMapper)
           
 
Methods inherited from class org.springframework.integration.handler.AbstractReplyProducingMessageHandler
getMessagingTemplate, handleMessageInternal, setAdviceChain, setBeanClassLoader, setChannelResolver, setOutputChannel, setRequiresReply, setSendTimeout, shouldCopyRequestHeaders
 
Methods inherited from class org.springframework.integration.handler.AbstractMessageHandler
getComponentType, getOrder, handleMessage, setOrder, setShouldTrack
 
Methods inherited from class org.springframework.integration.context.IntegrationObjectSupport
afterPropertiesSet, getBeanFactory, getComponentName, getConversionService, getTaskScheduler, setBeanFactory, setBeanName, setComponentName, setConversionService, setTaskScheduler, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.springframework.beans.factory.InitializingBean
afterPropertiesSet
 
Methods inherited from interface org.springframework.integration.context.NamedComponent
getComponentName
 

Constructor Detail

JdbcOutboundGateway

public JdbcOutboundGateway(javax.sql.DataSource dataSource,
                           java.lang.String updateQuery)

JdbcOutboundGateway

public JdbcOutboundGateway(javax.sql.DataSource dataSource,
                           java.lang.String updateQuery,
                           java.lang.String selectQuery)

JdbcOutboundGateway

public JdbcOutboundGateway(org.springframework.jdbc.core.JdbcOperations jdbcOperations,
                           java.lang.String updateQuery)

JdbcOutboundGateway

public JdbcOutboundGateway(org.springframework.jdbc.core.JdbcOperations jdbcOperations,
                           java.lang.String updateQuery,
                           java.lang.String selectQuery)
Method Detail

setMaxRowsPerPoll

public void setMaxRowsPerPoll(java.lang.Integer maxRowsPerPoll)
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). The value is ultimately set on the underlying JdbcPollingChannelAdapter. If not specified this value will default to zero. This parameter is only applicable if a selectQuery was provided. Null values are not permitted.

Parameters:
maxRowsPerPoll - Must not be null.

onInit

protected void onInit()
Description copied from class: IntegrationObjectSupport
Subclasses may implement this for initialization logic.

Overrides:
onInit in class AbstractReplyProducingMessageHandler

handleRequestMessage

protected java.lang.Object handleRequestMessage(Message<?> requestMessage)
Description copied from class: AbstractReplyProducingMessageHandler
Subclasses must implement this method to handle the request Message. The return value may be a Message, a MessageBuilder, or any plain Object. The base class will handle the final creation of a reply Message from any of those starting points. If the return value is null, the Message flow will end here.

Specified by:
handleRequestMessage in class AbstractReplyProducingMessageHandler

setKeysGenerated

public void setKeysGenerated(boolean keysGenerated)
Flag to indicate that the update query is an insert with autogenerated keys, which will be logged at debug level.

Parameters:
keysGenerated - the flag value to set

setRequestSqlParameterSourceFactory

public void setRequestSqlParameterSourceFactory(SqlParameterSourceFactory sqlParameterSourceFactory)

setReplySqlParameterSourceFactory

public void setReplySqlParameterSourceFactory(SqlParameterSourceFactory sqlParameterSourceFactory)

setRowMapper

public void setRowMapper(org.springframework.jdbc.core.RowMapper<?> rowMapper)

Spring Integration