Repository: camel
Updated Branches:
  refs/heads/master e364bc7bb -> 807ea0453


Added sql-stored component docs to Gitbook


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/807ea045
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/807ea045
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/807ea045

Branch: refs/heads/master
Commit: 807ea04537fd27899d86d915c2d391476690db6f
Parents: 9f903a9
Author: Andrea Cosentino <anco...@gmail.com>
Authored: Wed Jun 8 14:05:52 2016 +0200
Committer: Andrea Cosentino <anco...@gmail.com>
Committed: Wed Jun 8 14:06:17 2016 +0200

----------------------------------------------------------------------
 .../camel-sql/src/main/docs/sql-stored.adoc     | 141 +++++++++++++++++++
 docs/user-manual/en/SUMMARY.md                  |   1 +
 2 files changed, 142 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/807ea045/components/camel-sql/src/main/docs/sql-stored.adoc
----------------------------------------------------------------------
diff --git a/components/camel-sql/src/main/docs/sql-stored.adoc 
b/components/camel-sql/src/main/docs/sql-stored.adoc
new file mode 100644
index 0000000..70ed167
--- /dev/null
+++ b/components/camel-sql/src/main/docs/sql-stored.adoc
@@ -0,0 +1,141 @@
+[[SQLStoredProcedure-SQLStoredProcedureComponent]]
+SQL Stored Procedure Component
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+*Available 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 link:sql-component.html[SQL Component] but specialized for calling
+stored procedures.
+
+This component uses `spring-jdbc` behind the scenes for the actual SQL
+handling.
+
+Maven users will need to add the following dependency to their `pom.xml`
+for this component:
+
+[source,xml]
+------------------------------------------------------------
+<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>
+------------------------------------------------------------
+
+[[SQLStoredProcedure-URIformat]]
+URI format
+^^^^^^^^^^
+
+The SQL component uses the following endpoint URI notation:
+
+[source,java]
+-----------------------------
+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:
+
+[source,java]
+--------------------------------------------------
+sql-stored:classpath:sql/myprocedure.sql[?options]
+--------------------------------------------------
+
+Where sql/myprocedure.sql is a plain text file in the classpath with the
+template, as show:
+
+[source,java]
+--------------------------
+SUBNUMBERS(
+  INTEGER ${headers.num1},
+  INTEGER ${headers.num2},
+  OUT INTEGER resultofsub
+)
+--------------------------
+
+You can append query options to the URI in the following format,
+`?option=value&option=value&...`
+
+[[SQLStoredProcedure-Options]]
+Options
+^^^^^^^
+
+
+// component options: START
+The SQL StoredProcedure component supports 1 options which are listed below.
+
+
+
+{% raw %}
+[width="100%",cols="2s,1m,8",options="header"]
+|=======================================================================
+| Name | Java Type | Description
+| dataSource | DataSource | Sets the DataSource to use to communicate with the 
database.
+|=======================================================================
+{% endraw %}
+// component options: END
+
+
+
+// endpoint options: START
+The SQL StoredProcedure component supports 8 endpoint options which are listed 
below:
+
+{% raw %}
+[width="100%",cols="2s,1,1m,1m,5",options="header"]
+|=======================================================================
+| Name | Group | Default | Java Type | Description
+| template | producer |  | String | *Required* Sets the StoredProcedure 
template to perform
+| batch | producer | false | boolean | Enables or disables batch mode
+| dataSource | producer |  | DataSource | Sets the DataSource to use to 
communicate with the database.
+| noop | producer | false | boolean | If set will ignore the results of the 
template and use the existing IN message as the OUT message for the 
continuation of processing
+| outputHeader | producer |  | String | Store the template result in a header 
instead of the message body. By default outputHeader == null and the template 
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 template result and the original message body is preserved.
+| useMessageBodyForTemplate | producer | false | boolean | Whether to use the 
message body as the template and then headers for parameters. If this option is 
enabled then the template in the uri is not used.
+| exchangePattern | advanced | InOnly | ExchangePattern | Sets the default 
exchange pattern when creating an exchange
+| synchronous | advanced | false | boolean | Sets whether synchronous 
processing should be strictly used or Camel is allowed to use asynchronous 
processing (if supported).
+|=======================================================================
+{% endraw %}
+// endpoint options: END
+
+
+[[SQLStoredProcedure-Declaringthestoredproceduretemplate]]
+Declaring the stored procedure template
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+The 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:
+
+[source,java]
+----------------------------------------------------------------------------------------------------------
+<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:
+
+[source,java]
+------------------------------------------------------------------------------
+CREATE PROCEDURE SUBNUMBERS(VALUE1 INTEGER, VALUE2 INTEGER,OUT RESULT INTEGER)
+------------------------------------------------------------------------------
+
+[[SQLStoredProcedure-SeeAlso]]
+See Also
+^^^^^^^^
+
+* link:configuring-camel.html[Configuring Camel]
+* link:component.html[Component]
+* link:endpoint.html[Endpoint]
+* link:getting-started.html[Getting Started]
+
+* link:sql-component.html[SQL Component]
+

http://git-wip-us.apache.org/repos/asf/camel/blob/807ea045/docs/user-manual/en/SUMMARY.md
----------------------------------------------------------------------
diff --git a/docs/user-manual/en/SUMMARY.md b/docs/user-manual/en/SUMMARY.md
index a8323d7..6a3d607 100644
--- a/docs/user-manual/en/SUMMARY.md
+++ b/docs/user-manual/en/SUMMARY.md
@@ -256,6 +256,7 @@
     * [Spring-Security](spring-security.adoc)
     * [Spring-Web-Services](spring-ws.adoc)
     * [SQL](sql.adoc)
+        * [SQL-Stored](sql-stored.adoc)
     * [Telegram](telegram.adoc)
     * [Twitter](twitter.adoc)
     * [Websocket](websocket.adoc)

Reply via email to