Since we're on a major migration process of this website, some component documents here are out of sync right now. In the meantime you may want to look at the early version of the new website
https://camel.apache.org/staging/
We would very much like to receive any feedback on the new site, please join the discussion on the Camel user mailing list.
SQL Stored Procedure ComponentAvailable as of Camel 2.17 The sql-stored: component allows you to work with databases using JDBC Stored Procedure queries. This component is an extension to the SQL Component but specialized for calling stored procedures. This component uses Maven users will need to add the following dependency to their <dependency> <groupId>org.apache.camel</groupId> <artifactId>camel-sql</artifactId> <version>x.x.x</version> <!-- use the same version as your Camel core version --> </dependency> URI formatThe SQL component uses the following endpoint URI notation: sql-stored:template[?options] Where template is the stored procedure template, where you declare the name of the stored procedure and the IN and OUT arguments. You can also refer to the template in a external file on the file system or classpath such as: sql-stored:classpath:sql/myprocedure.sql[?options] Where sql/myprocedure.sql is a plain text file in the classpath with the template, as show: SUBNUMBERS( INTEGER ${headers.num1}, INTEGER ${headers.num2}, OUT INTEGER resultofsub )
You can append query options to the URI in the following format, Options
Declaring the stored procedure templateThe template is declared using a syntax that would be similar to a Java method signature. The name of the stored procedure, and then the arguments enclosed in parenthesis. An example explains this well: <to uri="sql-stored:SUBNUMBERS(INTEGER ${headers.num1},INTEGER ${headers.num2},OUT INTEGER resultofsub)"/> The arguments is declared by a type and then the mapping to the Camel message using simple expression. So in this example the first two parameters are IN values that are INTEGER type, that maps to the message headers. The last parameter is the OUT value, also an INTEGER type. In SQL term the stored procedure could be declared as: CREATE PROCEDURE SUBNUMBERS(VALUE1 INTEGER, VALUE2 INTEGER,OUT RESULT INTEGER)
|