org.mule.transport.jdbc
Class JdbcConnector

java.lang.Object
  extended by org.mule.transport.AbstractConnector
      extended by org.mule.transport.jdbc.JdbcConnector
All Implemented Interfaces:
EventListener, javax.resource.spi.work.WorkListener, org.mule.api.lifecycle.Disposable, org.mule.api.lifecycle.Initialisable, org.mule.api.lifecycle.Lifecycle, org.mule.api.lifecycle.LifecycleStateEnabled, org.mule.api.lifecycle.Startable, org.mule.api.lifecycle.Stoppable, org.mule.api.NameableObject, org.mule.api.NamedObject, org.mule.api.transport.Connectable, org.mule.api.transport.Connector, org.mule.common.Capability, org.mule.common.Testable

public class JdbcConnector
extends org.mule.transport.AbstractConnector
implements org.mule.common.Testable


Field Summary
protected  DataSource dataSource
           
static long DEFAULT_POLLING_FREQUENCY
           
static String JDBC
           
protected  long pollingFrequency
           
static String PROPERTY_POLLING_FREQUENCY
           
protected  Map queries
           
protected  org.apache.commons.dbutils.QueryRunner queryRunner
           
protected  org.apache.commons.dbutils.ResultSetHandler resultSetHandler
           
protected  boolean transactionPerMessage
          Should each DB record be received in a separate transaction or should there be a single transaction for the entire ResultSet?
 
Fields inherited from class org.mule.transport.AbstractConnector
createMultipleTransactedReceivers, DEFAULT_NUM_CONCURRENT_TX_RECEIVERS, dispatcherFactory, dispatcherPoolFactory, dispatchers, initialStateStopped, lifecycleManager, logger, muleContext, muleMessageFactory, name, numberOfConcurrentTransactedReceivers, receivers, requesterFactory, requesters, serviceDescriptor, serviceOverrides, sessionHandler, startOnConnect
 
Fields inherited from interface org.mule.api.transport.Connector
INT_VALUE_NOT_SET
 
Fields inherited from interface org.mule.api.lifecycle.Disposable
PHASE_NAME
 
Constructor Summary
JdbcConnector(org.mule.api.MuleContext context)
           
 
Method Summary
protected
<T> T
createOperationResource(org.mule.api.endpoint.ImmutableEndpoint endpoint)
           
 org.mule.api.transport.MessageReceiver createReceiver(org.mule.api.construct.FlowConstruct flowConstruct, org.mule.api.endpoint.InboundEndpoint endpoint)
           
protected  void doConnect()
           
protected  void doDisconnect()
           
protected  void doDispose()
           
protected  void doInitialise()
           
protected  void doStart()
           
protected  void doStop()
           
 Connection getConnection()
           
 DataSource getDataSource()
           
protected  String getNameFromParam(String param)
           
protected
<T> T
getOperationResourceFactory()
           
 Object[] getParams(org.mule.api.endpoint.ImmutableEndpoint endpoint, List paramNames, org.mule.api.MuleMessage message, String query)
           
protected  Object getParamValue(org.mule.api.endpoint.ImmutableEndpoint endpoint, org.mule.api.MuleMessage message, String param)
           
 long getPollingFrequency()
           
 String getProtocol()
           
 Map getQueries()
           
 String getQuery(org.mule.api.endpoint.ImmutableEndpoint endpoint, String stmt)
           
 org.apache.commons.dbutils.QueryRunner getQueryRunner()
           
 org.apache.commons.dbutils.QueryRunner getQueryRunnerFor(org.mule.api.endpoint.ImmutableEndpoint endpoint)
           
 int getQueryTimeout()
           
 String[] getReadAndAckStatements(org.mule.api.endpoint.ImmutableEndpoint endpoint)
           
 org.apache.commons.dbutils.ResultSetHandler getResultSetHandler()
           
 SqlStatementStrategyFactory getSqlStatementStrategyFactory()
           
 String getStatement(org.mule.api.endpoint.ImmutableEndpoint endpoint)
           
 boolean isTransactionPerMessage()
           
 String parseStatement(String stmt, List<String> params)
          Parse the given statement filling the parameter list and return the ready to use statement.
 void setDataSource(DataSource dataSource)
           
 void setPollingFrequency(long pollingFrequency)
           
 void setQueries(Map queries)
           
 void setQueryRunner(org.apache.commons.dbutils.QueryRunner queryRunner)
           
 void setQueryTimeout(int queryTimeout)
           
 void setResultSetHandler(org.apache.commons.dbutils.ResultSetHandler resultSetHandler)
           
 void setSqlStatementStrategyFactory(SqlStatementStrategyFactory sqlStatementStrategyFactory)
           
 void setTransactionPerMessage(boolean transactionPerMessage)
           
 org.mule.common.TestResult test()
           
 org.mule.api.retry.RetryContext validateConnection(org.mule.api.retry.RetryContext retryContext)
          Verify that we are able to connect to the DataSource (needed for retry policies)
 
Methods inherited from class org.mule.transport.AbstractConnector
borrowDispatcher, clearDispatchers, clearRequesters, configureDispatcherPool, connect, createDefaultRedeliveryPolicy, createDispatcherMessageProcessor, createMuleMessageFactory, createScheduler, destroyReceiver, disconnect, dispose, disposeReceivers, disposeWorkManagers, doUnregisterListener, fireNotification, getCanonicalURI, getConnectEventId, getConnectionDescription, getDefaultExchangePattern, getDefaultInboundTransformers, getDefaultOutboundTransformers, getDefaultResponseTransformers, getDispatcherFactory, getDispatcherPoolFactory, getDispatcherThreadingProfile, getDispatcherWorkManager, getInboundExchangePatterns, getLifecycleState, getMaxDispatchersActive, getMaxRequestersActive, getMaxTotalDispatchers, getMuleContext, getMuleMessageFactory, getName, getNumberOfConcurrentTransactedReceivers, getOutboundExchangePatterns, getOutputStream, getReceiver, getReceiverKey, getReceivers, getReceivers, getReceiverThreadingProfile, getReceiverWorkManager, getReplyToHandler, getRequesterFactory, getRequesterThreadingProfile, getRequesterWorkManager, getRetryPolicyTemplate, getScheduler, getServiceDescriptor, getServiceOverrides, getSessionHandler, getSupportedProtocols, getTransactionalResource, handleWorkException, initFromServiceDescriptor, initialise, initialiseFromUrl, initWorkManagers, isConnected, isConnecting, isCreateMultipleTransactedReceivers, isDisposed, isEnableMessageEvents, isInitialised, isInitialStateStopped, isResponseEnabled, isStarted, isStarting, isStopped, isStopping, isValidateConnections, lookupReceiver, registerListener, registerSupportedMetaProtocol, registerSupportedProtocol, registerSupportedProtocolWithoutPrefix, request, request, returnDispatcher, setConnected, setConnecting, setCreateMultipleTransactedReceivers, setDispatcherFactory, setDispatcherPoolFactory, setDispatcherPoolMaxWait, setDispatcherPoolWhenExhaustedAction, setDispatcherThreadingProfile, setDynamicNotification, setInitialStateStopped, setMaxDispatchersActive, setMaxRequestersActive, setName, setNumberOfConcurrentTransactedReceivers, setReceiverThreadingProfile, setRequesterFactory, setRequesterPoolMaxWait, setRequesterPoolWhenExhaustedAction, setRequesterThreadingProfile, setRetryPolicyTemplate, setServiceOverrides, setSessionHandler, setSupportedProtocols, setupDispatchReturn, setupRequestReturn, setValidateConnections, shutdownScheduler, start, startAfterConnect, stop, supportsProtocol, toString, unregisterListener, unregisterSupportedProtocol, updateCachedNotificationHandler, workAccepted, workCompleted, workRejected, workStarted
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

JDBC

public static final String JDBC
See Also:
Constant Field Values

PROPERTY_POLLING_FREQUENCY

public static final String PROPERTY_POLLING_FREQUENCY
See Also:
Constant Field Values

DEFAULT_POLLING_FREQUENCY

public static final long DEFAULT_POLLING_FREQUENCY
See Also:
Constant Field Values

pollingFrequency

protected long pollingFrequency

queries

protected Map queries

dataSource

protected DataSource dataSource

resultSetHandler

protected org.apache.commons.dbutils.ResultSetHandler resultSetHandler

queryRunner

protected org.apache.commons.dbutils.QueryRunner queryRunner

transactionPerMessage

protected boolean transactionPerMessage
Should each DB record be received in a separate transaction or should there be a single transaction for the entire ResultSet?

Constructor Detail

JdbcConnector

public JdbcConnector(org.mule.api.MuleContext context)
Method Detail

doInitialise

protected void doInitialise()
                     throws org.mule.api.lifecycle.InitialisationException
Specified by:
doInitialise in class org.mule.transport.AbstractConnector
Throws:
org.mule.api.lifecycle.InitialisationException

createReceiver

public org.mule.api.transport.MessageReceiver createReceiver(org.mule.api.construct.FlowConstruct flowConstruct,
                                                             org.mule.api.endpoint.InboundEndpoint endpoint)
                                                      throws Exception
Overrides:
createReceiver in class org.mule.transport.AbstractConnector
Throws:
Exception

getReadAndAckStatements

public String[] getReadAndAckStatements(org.mule.api.endpoint.ImmutableEndpoint endpoint)

getQuery

public String getQuery(org.mule.api.endpoint.ImmutableEndpoint endpoint,
                       String stmt)

getConnection

public Connection getConnection()
                         throws Exception
Throws:
Exception

isTransactionPerMessage

public boolean isTransactionPerMessage()

setTransactionPerMessage

public void setTransactionPerMessage(boolean transactionPerMessage)

parseStatement

public String parseStatement(String stmt,
                             List<String> params)
Parse the given statement filling the parameter list and return the ready to use statement.

Parameters:
stmt -
params -

getParams

public Object[] getParams(org.mule.api.endpoint.ImmutableEndpoint endpoint,
                          List paramNames,
                          org.mule.api.MuleMessage message,
                          String query)
                   throws Exception
Throws:
Exception

getParamValue

protected Object getParamValue(org.mule.api.endpoint.ImmutableEndpoint endpoint,
                               org.mule.api.MuleMessage message,
                               String param)

getNameFromParam

protected String getNameFromParam(String param)

doDispose

protected void doDispose()
Specified by:
doDispose in class org.mule.transport.AbstractConnector

doConnect

protected void doConnect()
                  throws Exception
Specified by:
doConnect in class org.mule.transport.AbstractConnector
Throws:
Exception

validateConnection

public org.mule.api.retry.RetryContext validateConnection(org.mule.api.retry.RetryContext retryContext)
Verify that we are able to connect to the DataSource (needed for retry policies)

Specified by:
validateConnection in interface org.mule.api.transport.Connectable
Overrides:
validateConnection in class org.mule.transport.AbstractConnector
Parameters:
retryContext -

doDisconnect

protected void doDisconnect()
                     throws Exception
Specified by:
doDisconnect in class org.mule.transport.AbstractConnector
Throws:
Exception

doStart

protected void doStart()
                throws org.mule.api.MuleException
Specified by:
doStart in class org.mule.transport.AbstractConnector
Throws:
org.mule.api.MuleException

doStop

protected void doStop()
               throws org.mule.api.MuleException
Specified by:
doStop in class org.mule.transport.AbstractConnector
Throws:
org.mule.api.MuleException

getProtocol

public String getProtocol()
Specified by:
getProtocol in interface org.mule.api.transport.Connector

getDataSource

public DataSource getDataSource()

setDataSource

public void setDataSource(DataSource dataSource)

getResultSetHandler

public org.apache.commons.dbutils.ResultSetHandler getResultSetHandler()

setResultSetHandler

public void setResultSetHandler(org.apache.commons.dbutils.ResultSetHandler resultSetHandler)

getQueryRunnerFor

public org.apache.commons.dbutils.QueryRunner getQueryRunnerFor(org.mule.api.endpoint.ImmutableEndpoint endpoint)

getQueryRunner

public org.apache.commons.dbutils.QueryRunner getQueryRunner()

setQueryRunner

public void setQueryRunner(org.apache.commons.dbutils.QueryRunner queryRunner)

getPollingFrequency

public long getPollingFrequency()
Returns:
Returns the pollingFrequency.

setPollingFrequency

public void setPollingFrequency(long pollingFrequency)
Parameters:
pollingFrequency - The pollingFrequency to set.

getQueries

public Map getQueries()
Returns:
Returns the queries.

setQueries

public void setQueries(Map queries)
Parameters:
queries - The queries to set.

getSqlStatementStrategyFactory

public SqlStatementStrategyFactory getSqlStatementStrategyFactory()

setSqlStatementStrategyFactory

public void setSqlStatementStrategyFactory(SqlStatementStrategyFactory sqlStatementStrategyFactory)

getStatement

public String getStatement(org.mule.api.endpoint.ImmutableEndpoint endpoint)

getQueryTimeout

public int getQueryTimeout()

setQueryTimeout

public void setQueryTimeout(int queryTimeout)

getOperationResourceFactory

protected <T> T getOperationResourceFactory()
Overrides:
getOperationResourceFactory in class org.mule.transport.AbstractConnector

createOperationResource

protected <T> T createOperationResource(org.mule.api.endpoint.ImmutableEndpoint endpoint)
                             throws org.mule.api.MuleException
Overrides:
createOperationResource in class org.mule.transport.AbstractConnector
Throws:
org.mule.api.MuleException

test

public org.mule.common.TestResult test()
Specified by:
test in interface org.mule.common.Testable


Copyright © 2003–2014 MuleSoft, Inc.. All rights reserved.