Repository: camel Updated Branches: refs/heads/master ab953ee04 -> d527303c8
Added camel-jolt 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/d527303c Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/d527303c Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/d527303c Branch: refs/heads/master Commit: d527303c81ced4b484192daefc03be4eefdfdbc8 Parents: ab953ee Author: Andrea Cosentino <anco...@gmail.com> Authored: Thu Apr 28 12:28:37 2016 +0200 Committer: Andrea Cosentino <anco...@gmail.com> Committed: Thu Apr 28 12:30:05 2016 +0200 ---------------------------------------------------------------------- components/camel-jolt/src/main/docs/jolt.adoc | 119 +++++++++++++++++++++ docs/user-manual/en/SUMMARY.md | 1 + 2 files changed, 120 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/camel/blob/d527303c/components/camel-jolt/src/main/docs/jolt.adoc ---------------------------------------------------------------------- diff --git a/components/camel-jolt/src/main/docs/jolt.adoc b/components/camel-jolt/src/main/docs/jolt.adoc new file mode 100644 index 0000000..68cc1d2 --- /dev/null +++ b/components/camel-jolt/src/main/docs/jolt.adoc @@ -0,0 +1,119 @@ +[[JOLT-JOLTComponent]] +JOLT Component +~~~~~~~~~~~~~~ + +*Available as of Camel 2.16* + +The *jolt:* component allows you to process a JSON messages using an +http://bazaarvoice.github.io/jolt/[JOLT] specification. This can be +ideal when doing JSON to JSON transformation. + +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-jolt</artifactId> + <version>x.x.x</version> + <!-- use the same version as your Camel core version --> +</dependency> +------------------------------------------------------------ + + + +[[JOLT-URIformat]] +URI format +^^^^^^^^^^ + +[source,java] +----------------------- +jolt:specName[?options] +----------------------- + +Where *specName* is the classpath-local URI of the specification to +invoke; or the complete URL of the remote specification +(eg: file://folder/myfile.vm[file://folder/myfile.json]). + +You can append query options to the URI in the following +format, `?option=value&option=value&...` + +[[JOLT-Options]] +Options +^^^^^^^ + + +// component options: START +The JOLT component supports 1 options which are listed below. + + + +[width="100%",cols="2s,1m,8",options="header"] +|======================================================================= +| Name | Java Type | Description +| transform | Transform | Explicitly sets the Transform to use. If not set a Transform specified by the transformDsl will be created +|======================================================================= +// component options: END + + + +// endpoint options: START +The JOLT component supports 7 endpoint options which are listed below: + +[width="100%",cols="2s,1,1m,1m,5",options="header"] +|======================================================================= +| Name | Group | Default | Java Type | Description +| resourceUri | producer | | String | *Required* Path to the resource or a reference to lookup a bean in the Registry to use as the resource +| contentCache | producer | false | boolean | Sets whether to use resource content cache or not +| inputType | producer | Hydrated | JoltInputOutputType | Specifies if the input is hydrated JSON or a JSON String. +| outputType | producer | Hydrated | JoltInputOutputType | Specifies if the output should be hydrated JSON or a JSON String. +| transformDsl | producer | Chainr | JoltTransformType | Specifies the Transform DSL of the endpoint resource. If none is specified Chainr will be 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). +|======================================================================= +// endpoint options: END + + +[[JOLT-Samples]] +Samples +^^^^^^^ + +For example you could use something like + +[source,java] +-------------------------------------- +from("activemq:My.Queue"). + to("jolt:com/acme/MyResponse.json"); +-------------------------------------- + +And a file based resource: + +[source,java] +--------------------------------------------------------------- +from("activemq:My.Queue"). + to("jolt:file://myfolder/MyResponse.json?contentCache=true"). + to("activemq:Another.Queue"); +--------------------------------------------------------------- + +You can also specify what specification the component should use +dynamically via a header, so for example: + +[source,java] +--------------------------------------------------------------------- +from("direct:in"). + setHeader("CamelJoltResourceUri").constant("path/to/my/spec.json"). + to("jolt:dummy"); +--------------------------------------------------------------------- + + + +[[JOLT-SeeAlso]] +See Also +^^^^^^^^ + +* link:configuring-camel.html[Configuring Camel] +* link:component.html[Component] +* link:endpoint.html[Endpoint] +* link:getting-started.html[Getting Started] + http://git-wip-us.apache.org/repos/asf/camel/blob/d527303c/docs/user-manual/en/SUMMARY.md ---------------------------------------------------------------------- diff --git a/docs/user-manual/en/SUMMARY.md b/docs/user-manual/en/SUMMARY.md index b511dff..7e463e1 100644 --- a/docs/user-manual/en/SUMMARY.md +++ b/docs/user-manual/en/SUMMARY.md @@ -174,6 +174,7 @@ * [Jgroups](jgroups.adoc) * [Jing](jing.adoc) * [JIRA](jira.adoc) + * [Jolt](jolt.adoc) * [Kafka](kafka.adoc) * [Metrics](metrics.adoc) * [Mock](mock.adoc)