You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ac...@apache.org on 2016/06/13 08:44:34 UTC

[1/3] camel git commit: Added dataformat component docs to Gitbook

Repository: camel
Updated Branches:
  refs/heads/master 271e03e33 -> e82f798b5


Added dataformat 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/e82f798b
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/e82f798b
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/e82f798b

Branch: refs/heads/master
Commit: e82f798b5e24d10e1b6979f41fa2edaf357af5a6
Parents: d241811
Author: Andrea Cosentino <an...@gmail.com>
Authored: Mon Jun 13 10:43:50 2016 +0200
Committer: Andrea Cosentino <an...@gmail.com>
Committed: Mon Jun 13 10:44:12 2016 +0200

----------------------------------------------------------------------
 camel-core/src/main/docs/dataformat.adoc | 88 +++++++++++++++++++++++++++
 docs/user-manual/en/SUMMARY.md           |  1 +
 2 files changed, 89 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/e82f798b/camel-core/src/main/docs/dataformat.adoc
----------------------------------------------------------------------
diff --git a/camel-core/src/main/docs/dataformat.adoc b/camel-core/src/main/docs/dataformat.adoc
new file mode 100644
index 0000000..78f7048
--- /dev/null
+++ b/camel-core/src/main/docs/dataformat.adoc
@@ -0,0 +1,88 @@
+[[DataFormatComponent-DataFormatComponent]]
+Data Format Component
+~~~~~~~~~~~~~~~~~~~~~
+
+*Available as of Camel 2.12*
+
+The *dataformat:* component allows to use link:data-format.html[Data
+Format] as a Camel link:component.html[Component].
+
+[[DataFormatComponent-URIformat]]
+URI format
+^^^^^^^^^^
+
+[source,java]
+---------------------------------------------
+dataformat:name:(marshal|unmarshal)[?options]
+---------------------------------------------
+
+Where *name* is the name of the link:data-format.html[Data Format]. And
+then followed by the operation which must either be `marshal` or
+`unmarshal`. The options is used for configuring the link:data-format.html[Data
+Format] in use. See the link:data-format.html[Data Format] documentation
+for which options it support.
+
+[[DataFormatComponent-Options]]
+DataFormat Options
+^^^^^^^^^^^^^^^^^^
+
+
+// component options: START
+The Data Format component has no options.
+// component options: END
+
+
+
+// endpoint options: START
+The Data Format component supports 4 endpoint options which are listed below:
+
+{% raw %}
+[width="100%",cols="2s,1,1m,1m,5",options="header"]
+|=======================================================================
+| Name | Group | Default | Java Type | Description
+| name | producer |  | String | *Required* Name of data format
+| operation | producer |  | String | *Required* Operation to use either marshal or unmarshal
+| 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
+
+
+[[DataFormatComponent-Samples]]
+Samples
+^^^^^^^
+
+For example to use the link:jaxb.html[JAXB] link:data-format.html[Data
+Format] we can do as follows:
+
+[source,java]
+-------------------------------------------------------------
+from("activemq:My.Queue").
+  to("dataformat:jaxb:unmarshal?contextPath=com.acme.model").
+  to("mqseries:Another.Queue");
+-------------------------------------------------------------
+
+And in XML DSL you do:
+
+[source,xml]
+-----------------------------------------------------------------------
+<camelContext id="camel" xmlns="http://camel.apache.org/schema/spring">
+  <route>
+    <from uri="activemq:My.Queue"/>
+    <to uri="dataformat:jaxb:unmarshal?contextPath=com.acme.model"/>
+    <to uri="mqseries:Another.Queue"/>
+  </route>
+</camelContext>
+-----------------------------------------------------------------------
+
+[[DataFormatComponent-SeeAlso]]
+See Also
+^^^^^^^^
+
+* link:configuring-camel.html[Configuring Camel]
+* link:component.html[Component]
+* link:endpoint.html[Endpoint]
+* link:getting-started.html[Getting Started]
+* link:data-format.html[Data Format]
+

http://git-wip-us.apache.org/repos/asf/camel/blob/e82f798b/docs/user-manual/en/SUMMARY.md
----------------------------------------------------------------------
diff --git a/docs/user-manual/en/SUMMARY.md b/docs/user-manual/en/SUMMARY.md
index 3b40998..b2a9bb4 100644
--- a/docs/user-manual/en/SUMMARY.md
+++ b/docs/user-manual/en/SUMMARY.md
@@ -79,6 +79,7 @@
     * [Browse](browse.adoc)
     * [Class](class.adoc)
     * [Controlbus](controlbus.adoc)
+    * [Dataformat](dataformat.adoc)
     * [Mock](mock.adoc)
     * [Properties](properties.adoc)
 


[3/3] camel git commit: Added class component docs to Gitbook

Posted by ac...@apache.org.
Added class 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/3f72d00a
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/3f72d00a
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/3f72d00a

Branch: refs/heads/master
Commit: 3f72d00a5ba4998b4bceb3ffa35071d8e37a9182
Parents: 271e03e
Author: Andrea Cosentino <an...@gmail.com>
Authored: Mon Jun 13 10:29:08 2016 +0200
Committer: Andrea Cosentino <an...@gmail.com>
Committed: Mon Jun 13 10:44:12 2016 +0200

----------------------------------------------------------------------
 camel-core/src/main/docs/class.adoc | 132 +++++++++++++++++++++++++++++++
 docs/user-manual/en/SUMMARY.md      |   1 +
 2 files changed, 133 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/3f72d00a/camel-core/src/main/docs/class.adoc
----------------------------------------------------------------------
diff --git a/camel-core/src/main/docs/class.adoc b/camel-core/src/main/docs/class.adoc
new file mode 100644
index 0000000..47f2562
--- /dev/null
+++ b/camel-core/src/main/docs/class.adoc
@@ -0,0 +1,132 @@
+[[Class-ClassComponent]]
+Class Component
+~~~~~~~~~~~~~~~
+
+*Available as of Camel 2.4*
+
+The *class:* component binds beans to Camel message exchanges. It works
+in the same way as the link:bean.html[Bean] component but instead of
+looking up beans from a link:registry.html[Registry] it creates the bean
+based on the class name.
+
+[[Class-URIformat]]
+URI format
+^^^^^^^^^^
+
+[source,java]
+-------------------------
+class:className[?options]
+-------------------------
+
+Where *className* is the fully qualified class name to create and use as
+bean.
+
+[[Class-Options]]
+Options
+^^^^^^^
+
+
+// component options: START
+The Class component has no options.
+// component options: END
+
+
+
+// endpoint options: START
+The Class component supports 9 endpoint options which are listed below:
+
+{% raw %}
+[width="100%",cols="2s,1,1m,1m,5",options="header"]
+|=======================================================================
+| Name | Group | Default | Java Type | Description
+| beanName | common |  | String | *Required* Sets the name of the bean to invoke
+| method | common |  | String | Sets the name of the method to invoke on the bean
+| bridgeErrorHandler | consumer | false | boolean | Allows for bridging the consumer to the Camel routing Error Handler which mean any exceptions occurred while the consumer is trying to pickup incoming messages or the likes will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions that will be logged at WARN/ERROR level and ignored.
+| exceptionHandler | consumer (advanced) |  | ExceptionHandler | To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this options is not in use. By default the consumer will deal with exceptions that will be logged at WARN/ERROR level and ignored.
+| cache | advanced | false | boolean | If enabled Camel will cache the result of the first Registry look-up. Cache can be enabled if the bean in the Registry is defined as a singleton scope.
+| exchangePattern | advanced | InOnly | ExchangePattern | Sets the default exchange pattern when creating an exchange.
+| multiParameterArray | advanced | false | boolean | How to treat the parameters which are passed from the message body; if it is true the message body should be an array of parameters. Note: This option is used internally by Camel and is not intended for end users to use.
+| parameters | advanced |  | Map | Used for configuring additional properties on the bean
+| 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
+
+
+[[Class-Using]]
+Using
+^^^^^
+
+You simply use the *class* component just as the link:bean.html[Bean]
+component but by specifying the fully qualified classname instead. +
+ For example to use the `MyFooBean` you have to do as follows:
+
+[source,java]
+-------------------------------------------------------------------------------------------------
+    from("direct:start").to("class:org.apache.camel.component.bean.MyFooBean").to("mock:result");
+-------------------------------------------------------------------------------------------------
+
+You can also specify which method to invoke on the `MyFooBean`, for
+example `hello`:
+
+[source,java]
+--------------------------------------------------------------------------------------------------------------
+    from("direct:start").to("class:org.apache.camel.component.bean.MyFooBean?method=hello").to("mock:result");
+--------------------------------------------------------------------------------------------------------------
+
+[[Class-Settingpropertiesonthecreatedinstance]]
+Setting properties on the created instance
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+In the endpoint uri you can specify properties to set on the created
+instance, for example if it has a `setPrefix` method:
+
+[source,java]
+---------------------------------------------------------------------------------
+   // Camel 2.17 onwards
+   from("direct:start")
+        .to("class:org.apache.camel.component.bean.MyPrefixBean?bean.prefix=Bye")
+        .to("mock:result");
+�
+   // Camel 2.16 and older�
+   from("direct:start")
+        .to("class:org.apache.camel.component.bean.MyPrefixBean?prefix=Bye")
+        .to("mock:result");
+---------------------------------------------------------------------------------
+
+And you can also use the `#` syntax to refer to properties to be looked
+up in the link:registry.html[Registry].
+
+[source,java]
+--------------------------------------------------------------------------------
+    // Camel 2.17 onwards
+    from("direct:start")
+        .to("class:org.apache.camel.component.bean.MyPrefixBean?bean.cool=#foo")
+        .to("mock:result");
+
+    // Camel 2.16 and older
+    from("direct:start")
+        .to("class:org.apache.camel.component.bean.MyPrefixBean?cool=#foo")
+        .to("mock:result");
+--------------------------------------------------------------------------------
+
+Which will lookup a bean from the link:registry.html[Registry] with the
+id `foo` and invoke the `setCool` method on the created instance of the
+`MyPrefixBean` class.
+
+TIP:See more details at the link:bean.html[Bean] component as the *class*
+component works in much the same way.
+
+[[Class-SeeAlso]]
+See Also
+^^^^^^^^
+
+* link:configuring-camel.html[Configuring Camel]
+* link:component.html[Component]
+* link:endpoint.html[Endpoint]
+* link:getting-started.html[Getting Started]
+
+* link:bean.html[Bean]
+* link:bean-binding.html[Bean Binding]
+* link:bean-integration.html[Bean Integration]
+

http://git-wip-us.apache.org/repos/asf/camel/blob/3f72d00a/docs/user-manual/en/SUMMARY.md
----------------------------------------------------------------------
diff --git a/docs/user-manual/en/SUMMARY.md b/docs/user-manual/en/SUMMARY.md
index cff73f1..41c8482 100644
--- a/docs/user-manual/en/SUMMARY.md
+++ b/docs/user-manual/en/SUMMARY.md
@@ -77,6 +77,7 @@
     * [Bean](bean.adoc)
     * [Binding](binding.adoc)
     * [Browse](browse.adoc)
+    * [Class](class.adoc)
     * [Mock](mock.adoc)
     * [Properties](properties.adoc)
 


[2/3] camel git commit: Added controlbus component docs to Gitbook

Posted by ac...@apache.org.
Added controlbus 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/d2418110
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/d2418110
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/d2418110

Branch: refs/heads/master
Commit: d241811082fc5d963176e314abe88db0e59724db
Parents: 3f72d00
Author: Andrea Cosentino <an...@gmail.com>
Authored: Mon Jun 13 10:34:41 2016 +0200
Committer: Andrea Cosentino <an...@gmail.com>
Committed: Mon Jun 13 10:44:12 2016 +0200

----------------------------------------------------------------------
 camel-core/src/main/docs/controlbus.adoc | 211 ++++++++++++++++++++++++++
 docs/user-manual/en/SUMMARY.md           |   1 +
 2 files changed, 212 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/d2418110/camel-core/src/main/docs/controlbus.adoc
----------------------------------------------------------------------
diff --git a/camel-core/src/main/docs/controlbus.adoc b/camel-core/src/main/docs/controlbus.adoc
new file mode 100644
index 0000000..5aa3cea
--- /dev/null
+++ b/camel-core/src/main/docs/controlbus.adoc
@@ -0,0 +1,211 @@
+[[ControlBus-ControlBus]]
+ControlBus
+^^^^^^^^^^
+
+The http://www.eaipatterns.com/ControlBus.html[Control Bus] from the
+link:enterprise-integration-patterns.html[EIP patterns] allows for the
+integration system to be monitored and managed from within the
+framework.
+
+image:http://www.eaipatterns.com/img/ControlBus.gif[image]
+
+Use a Control Bus to manage an enterprise integration system. The
+Control Bus uses the same messaging mechanism used by the application
+data, but uses separate channels to transmit data that is relevant to
+the management of components involved in the message flow.
+
+In Camel you can manage and monitor using link:camel-jmx.html[JMX], or
+by using a Java API from the `CamelContext`, or from the
+`org.apache.camel.api.management` package, +
+ or use the event notifier which has an example
+link:eventnotifier-to-log-details-about-all-sent-exchanges.html[here].
+
+From Camel 2.11 onwards we have introduced a new
+link:controlbus-component.html[ControlBus Component] that allows you to
+send messages to a control bus link:endpoint.html[Endpoint] that reacts
+accordingly.
+
+[[ControlBus-ControlBusComponent]]
+ControlBus Component
+~~~~~~~~~~~~~~~~~~~~
+
+*Available as of Camel 2.11*
+
+The *controlbus:* component provides easy management of Camel
+applications based on the link:controlbus.html[Control Bus] EIP
+pattern. 
+For example, by sending a message to an link:endpoint.html[Endpoint]
+you can control the lifecycle of routes, or gather performance
+statistics.
+
+[source,java]
+----------------------------
+controlbus:command[?options]
+----------------------------
+
+Where *command* can be any string to identify which type of command to
+use.
+
+[[ControlBus-Commands]]
+Commands
+^^^^^^^^
+
+[width="100%",cols="10%,90%",options="header",]
+|=======================================================================
+|Command |Description
+
+|`route` |To control routes using the `routeId` and `action` parameter.
+
+|`language` |Allows you to specify a link:language.html[Language] to use for
+evaluating the message body. If there is any result from the evaluation,
+then the result is put in the message body.
+|=======================================================================
+
+[[ControlBus-Options]]
+Options
+^^^^^^^
+
+
+// component options: START
+The Control Bus component has no options.
+// component options: END
+
+
+
+// endpoint options: START
+The Control Bus 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
+| command | producer |  | String | *Required* Command can be either route or language
+| language | producer |  | Language | Allows you to specify the name of a Language to use for evaluating the message body. If there is any result from the evaluation then the result is put in the message body.
+| action | producer |  | String | To denote an action that can be either: start stop or status. To either start or stop a route or to get the status of the route as output in the message body. You can use suspend and resume from Camel 2.11.1 onwards to either suspend or resume a route. And from Camel 2.11.1 onwards you can use stats to get performance statics returned in XML format; the routeId option can be used to define which route to get the performance stats for if routeId is not defined then you get statistics for the entire CamelContext.
+| async | producer | false | boolean | Whether to execute the control bus task asynchronously. Important: If this option is enabled then any result from the task is not set on the Exchange. This is only possible if executing tasks synchronously.
+| loggingLevel | producer | INFO | LoggingLevel | Logging level used for logging when task is done or if any exceptions occurred during processing the task.
+| routeId | producer |  | String | To specify a route by its id. The special keyword current indicates the current route.
+| 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
+
+
+You can append query options to the URI in the following format,
+`?option=value&option=value&...`
+
+[[ControlBus-Samples]]
+Samples
+^^^^^^^
+
+[[ControlBus-Usingroutecommand]]
+Using route command
++++++++++++++++++++
+
+The route command allows you to do common tasks on a given route very
+easily, for example to start a route, you can send an empty message to
+this endpoint:
+
+[source,java]
+---------------------------------------------------------------------
+template.sendBody("controlbus:route?routeId=foo&action=start", null);
+---------------------------------------------------------------------
+
+To get the status of the route, you can do:
+
+[source,java]
+-------------------------------------------------------------------------------------------------------
+String status = template.requestBody("controlbus:route?routeId=foo&action=status", null, String.class);
+-------------------------------------------------------------------------------------------------------
+
+[[ControlBus-Gettingperformancestatistics]]
+Getting performance statistics
+
+*Available as of Camel 2.11.1*
+
+This requires JMX to be enabled (is by default) then you can get the
+performance statics per route, or for the
+link:camelcontext.html[CamelContext]. For example to get the statics for
+a route named foo, we can do:
+
+[source,java]
+---------------------------------------------------------------------------------------------------
+String xml = template.requestBody("controlbus:route?routeId=foo&action=stats", null, String.class);
+---------------------------------------------------------------------------------------------------
+
+The returned statics is in XML format. Its the same data you can get
+from JMX with the `dumpRouteStatsAsXml` operation on the
+`ManagedRouteMBean`.
+
+To get statics for the entire link:camelcontext.html[CamelContext] you
+just omit the routeId parameter as shown below:
+
+[source,java]
+---------------------------------------------------------------------------------------
+String xml = template.requestBody("controlbus:route?action=stats", null, String.class);
+---------------------------------------------------------------------------------------
+
+[[ControlBus-Usinglanguage]]
+Using link:simple.html[Simple] language
++++++++++++++++++++++++++++++++++++++++
+
+You can use the link:simple.html[Simple] language with the control bus,
+for example to stop a specific route, you can send a message to the
+`"controlbus:language:simple"` endpoint containing the following
+message:
+
+[source,java]
+----------------------------------------------------------------------------------------
+template.sendBody("controlbus:language:simple", "${camelContext.stopRoute('myRoute')}");
+----------------------------------------------------------------------------------------
+
+As this is a void operation, no result is returned. However, if you want
+the route status you can do:
+
+[source,java]
+------------------------------------------------------------------------------------------------------------------------------
+String status = template.requestBody("controlbus:language:simple", "${camelContext.getRouteStatus('myRoute')}", String.class);
+------------------------------------------------------------------------------------------------------------------------------
+
+*Notice:* its easier to use the `route` command to control lifecycle of
+routes. The `language` command allows you to execute a language script
+that has stronger powers such as link:groovy.html[Groovy] or to some
+extend the link:simple.html[Simple] language.
+
+For example to shutdown Camel itself you can do:
+
+[source,java]
+-------------------------------------------------------------------------------------
+template.sendBody("controlbus:language:simple?async=true", "${camelContext.stop()}");
+-------------------------------------------------------------------------------------
+
+Notice we use `async=true` to stop Camel asynchronously as otherwise we
+would be trying to stop Camel while it was in-flight processing the
+message we sent to the control bus component.
+
+TIP:You can also use other languages such as link:groovy.html[Groovy], etc.
+
+[[ControlBus-SeeAlso]]
+See Also
+^^^^^^^^
+
+* link:configuring-camel.html[Configuring Camel]
+* link:component.html[Component]
+* link:endpoint.html[Endpoint]
+* link:getting-started.html[Getting Started]
+
+* link:controlbus.html[ControlBus] EIP
+* link:jmx.html[JMX] Component
+* Using link:camel-jmx.html[JMX] with Camel
+
+[[ControlBus-UsingThisPattern]]
+Using This Pattern
+++++++++++++++++++
+
+If you would like to use this EIP Pattern then please read the
+link:getting-started.html[Getting Started], you may also find the
+link:architecture.html[Architecture] useful particularly the description
+of link:endpoint.html[Endpoint] and link:uris.html[URIs]. Then you could
+try out some of the link:examples.html[Examples] first before trying
+this pattern out.

http://git-wip-us.apache.org/repos/asf/camel/blob/d2418110/docs/user-manual/en/SUMMARY.md
----------------------------------------------------------------------
diff --git a/docs/user-manual/en/SUMMARY.md b/docs/user-manual/en/SUMMARY.md
index 41c8482..3b40998 100644
--- a/docs/user-manual/en/SUMMARY.md
+++ b/docs/user-manual/en/SUMMARY.md
@@ -78,6 +78,7 @@
     * [Binding](binding.adoc)
     * [Browse](browse.adoc)
     * [Class](class.adoc)
+    * [Controlbus](controlbus.adoc)
     * [Mock](mock.adoc)
     * [Properties](properties.adoc)