SQL Endpoint. Endpoint URI should contain valid SQL statement, but instead of question marks (that are parameter placeholders), sharp signs should be used. This is because in camel question mark has other meaning.
Name | Kind | Type | Required | Deprecated | Default Value | Enum Values | Description |
---|---|---|---|---|---|---|---|
query | path | java.lang.String | true | false | Sets the SQL query to perform | ||
dataSourceRef | parameter | java.lang.String | true | Sets the reference to a DataSource to lookup from the registry, to use for communicating with the database. | |||
dataSource | parameter | javax.sql.DataSource | false | Sets the DataSource to use to communicate with the database. | |||
batch | parameter | boolean | false | Enables or disables batch mode | |||
maxMessagesPerPoll | parameter | int | false | Sets the maximum number of messages to poll | |||
processingStrategy | parameter | org.apache.camel.component.sql.SqlProcessingStrategy | false | Allows to plugin to use a custom org.apache.camel.component.sql.SqlProcessingStrategy to execute queries when the consumer has processed the rows/batch. | |||
prepareStatementStrategy | parameter | org.apache.camel.component.sql.SqlPrepareStatementStrategy | false | Allows to plugin to use a custom org.apache.camel.component.sql.SqlPrepareStatementStrategy to control preparation of the query and prepared statement. | |||
onConsume | parameter | java.lang.String | false | After processing each row then this query can be executed, if the Exchange was processed successfully, for example to mark the row as processed. The query can have parameter. | |||
onConsumeFailed | parameter | java.lang.String | false | After processing each row then this query can be executed, if the Exchange failed, for example to mark the row as failed. The query can have parameter. | |||
onConsumeBatchComplete | parameter | java.lang.String | false | After processing the entire batch, this query can be executed to bulk update rows etc. The query cannot have parameters. | |||
allowNamedParameters | parameter | boolean | false | true | Whether to allow using named parameters in the queries. | ||
alwaysPopulateStatement | parameter | boolean | false | If enabled then the populateStatement method from org.apache.camel.component.sql.SqlPrepareStatementStrategy is always invoked, also if there is no expected parameters to be prepared. When this is false then the populateStatement is only invoked if there is 1 or more expected parameters to be set; for example this avoids reading the message body/headers for SQL queries with no parameters. | |||
separator | parameter | char | false | , | The separator to use when parameter values is taken from message body (if the body is a String type), to be inserted at # placeholders. Notice if you use named parameters, then a Map type is used instead. The default value is , | ||
outputType | parameter | org.apache.camel.component.sql.SqlOutputType | false | SelectList | SelectOne SelectList |
Make the output of consumer or producer to SelectList as List of Map, or SelectOne as single Java object in the following way: a) If the query has only single column, then that JDBC Column object is returned. (such as SELECT COUNT( * ) FROM PROJECT will return a Long object. b) If the query has more than one column, then it will return a Map of that result. c) If the outputClass is set, then it will convert the query result into an Java bean object by calling all the setters that match the column names. It will assume your class has a default constructor to create instance with. d) If the query resulted in more than one rows, it throws an non-unique result exception. | |
outputClass | parameter | java.lang.String | false | Specify the full package and class name to use as conversion when outputType=SelectOne. | |||
parametersCount | parameter | int | false | If set greater than zero, then Camel will use this count value of parameters to replace instead of querying via JDBC metadata API. This is useful if the JDBC vendor could not return correct parameters count, then user may override instead. | |||
noop | parameter | boolean | false | If set, will ignore the results of the SQL query and use the existing IN message as the OUT message for the continuation of processing | |||
outputHeader | parameter | java.lang.String | false | Store the query result in a header instead of the message body. By default, outputHeader == null and the query result is stored in the message body, any existing content in the message body is discarded. If outputHeader is set, the value is used as the name of the header to store the query result and the original message body is preserved. | |||
startScheduler | parameter | boolean | false | true | |||
initialDelay | parameter | long | false | 1000 | |||
delay | parameter | long | false | 500 | |||
timeUnit | parameter | java.util.concurrent.TimeUnit | false | MILLISECONDS | NANOSECONDS MICROSECONDS MILLISECONDS SECONDS MINUTES HOURS DAYS |
||
useFixedDelay | parameter | boolean | false | true | |||
pollStrategy | parameter | org.apache.camel.spi.PollingConsumerPollStrategy | false | ||||
runLoggingLevel | parameter | org.apache.camel.LoggingLevel | false | TRACE | DEBUG ERROR INFO TRACE WARN OFF |
||
sendEmptyMessageWhenIdle | parameter | boolean | false | ||||
greedy | parameter | boolean | false | ||||
scheduler | parameter | org.apache.camel.spi.ScheduledPollConsumerScheduler | false | spring quartz2 |
|||
schedulerProperties | parameter | java.util.Map |
false | ||||
scheduledExecutorService | parameter | java.util.concurrent.ScheduledExecutorService | false | ||||
backoffMultiplier | parameter | int | false | ||||
backoffIdleThreshold | parameter | int | false | ||||
backoffErrorThreshold | parameter | int | false | ||||
exchangePattern | parameter | org.apache.camel.ExchangePattern | false | InOnly | InOnly RobustInOnly InOut InOptionalOut OutOnly RobustOutOnly OutIn OutOptionalIn |
Sets the default exchange pattern when creating an exchange | |
synchronous | parameter | boolean | false | false | Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). |
Name | Kind | Type | Required | Deprecated | Default Value | Enum Values | Description |
---|---|---|---|---|---|---|---|
onConsume | parameter | java.lang.String | false | Sets a SQL to execute when the row has been successfully processed. | |||
onConsumeFailed | parameter | java.lang.String | false | Sets a SQL to execute when the row failed being processed. | |||
onConsumeBatchComplete | parameter | java.lang.String | false | ||||
useIterator | parameter | boolean | false | Sets how resultset should be delivered to route. Indicates delivery as either a list or individual object. defaults to true. | |||
routeEmptyResultSet | parameter | boolean | false | 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. | |||
expectedUpdateCount | parameter | int | false | Sets an expected update count to validate when using onConsume. @param expectedUpdateCount typically set this value to 1 to expect 1 row updated. | |||
breakBatchOnConsumeFail | parameter | boolean | false | Sets whether to break batch if onConsume failed. | |||
maxMessagesPerPoll | parameter | int | false |