You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2018/03/16 09:17:33 UTC

svn commit: r1026848 [2/3] - in /websites/production/camel/content/schema: blueprint/camel-blueprint.xsd spring/camel-spring.xsd

Modified: websites/production/camel/content/schema/blueprint/camel-blueprint.xsd
==============================================================================
--- websites/production/camel/content/schema/blueprint/camel-blueprint.xsd (original)
+++ websites/production/camel/content/schema/blueprint/camel-blueprint.xsd Fri Mar 16 09:17:32 2018
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="UTF-8"?><xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://camel.apache.org/schema/blueprint" elementFormDefault="qualified" targetNamespace="http://camel.apache.org/schema/blueprint" version="1.0">
+<?xml version="1.0" encoding="UTF-8"?><xs:schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://camel.apache.org/schema/blueprint" elementFormDefault="qualified" targetNamespace="http://camel.apache.org/schema/blueprint" version="1.0">
 
   <xs:element name="aggregate" type="tns:aggregateDefinition">
     <xs:annotation>
@@ -16,10 +16,20 @@ Does processing before and/or after the
     </xs:annotation>
   </xs:element>
 
+  <xs:element name="asn1" type="tns:asn1DataFormat">
+    <xs:annotation>
+      <xs:documentation xml:lang="en"><![CDATA[
+The ASN.1 data format is used for file transfer with telecommunications
+protocols.
+      ]]></xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
   <xs:element name="avro" type="tns:avroDataFormat">
     <xs:annotation>
       <xs:documentation xml:lang="en"><![CDATA[
-Avro data format
+The Avro data format is used for serialization and deserialization of messages
+using Apache Avro binary dataformat.
       ]]></xs:documentation>
     </xs:annotation>
   </xs:element>
@@ -27,7 +37,7 @@ Avro data format
   <xs:element name="barcode" type="tns:barcodeDataFormat">
     <xs:annotation>
       <xs:documentation xml:lang="en"><![CDATA[
-Barcode data format
+The Barcode data format is used for creating barccode images (such as QR-Code)
       ]]></xs:documentation>
     </xs:annotation>
   </xs:element>
@@ -35,7 +45,7 @@ Barcode data format
   <xs:element name="base64" type="tns:base64DataFormat">
     <xs:annotation>
       <xs:documentation xml:lang="en"><![CDATA[
-Base64 data format
+The Base64 data format is used for base64 encoding and decoding.
       ]]></xs:documentation>
     </xs:annotation>
   </xs:element>
@@ -59,7 +69,8 @@ Calls a java bean
   <xs:element name="beanio" type="tns:beanioDataFormat">
     <xs:annotation>
       <xs:documentation xml:lang="en"><![CDATA[
-BeanIO data format
+The BeanIO data format is used for working with flat payloads (such as CSV,
+delimited, or fixed length formats).
       ]]></xs:documentation>
     </xs:annotation>
   </xs:element>
@@ -67,19 +78,25 @@ BeanIO data format
   <xs:element name="bindy" type="tns:bindyDataFormat">
     <xs:annotation>
       <xs:documentation xml:lang="en"><![CDATA[
-Bindy data format
+The Bindy data format is used for working with flat payloads (such as CSV,
+delimited, fixed length formats, or FIX messages).
       ]]></xs:documentation>
     </xs:annotation>
   </xs:element>
 
+  <xs:element name="blacklistServiceFilter" type="tns:blacklistServiceCallServiceFilterConfiguration"/>
+
   <xs:element name="boon" type="tns:boonDataFormat">
     <xs:annotation>
       <xs:documentation xml:lang="en"><![CDATA[
-Boon data format
+Boon data format is used for unmarshal a JSon payload to POJO or to marshal POJO
+back to JSon payload.
       ]]></xs:documentation>
     </xs:annotation>
   </xs:element>
 
+  <xs:element name="cachingServiceDiscovery" type="tns:cachingServiceCallServiceDiscoveryConfiguration"/>
+
   <xs:element name="camelContext" type="tns:camelContextFactoryBean">
     <xs:annotation>
       <xs:documentation xml:lang="en"><![CDATA[
@@ -91,7 +108,8 @@ CamelContext using XML configuration.
   <xs:element name="castor" type="tns:castorDataFormat">
     <xs:annotation>
       <xs:documentation xml:lang="en"><![CDATA[
-Castor data format
+Castor data format is used for unmarshal a XML payload to POJO or to marshal
+POJO back to XML payload.
       ]]></xs:documentation>
     </xs:annotation>
   </xs:element>
@@ -112,22 +130,25 @@ Circuit break load balancer
     </xs:annotation>
   </xs:element>
 
-  <xs:element name="constant" type="tns:constantExpression">
+  <xs:element name="claimCheck" type="tns:claimCheckDefinition">
     <xs:annotation>
       <xs:documentation xml:lang="en"><![CDATA[
-For expressions and predicates using a constant
+The Claim Check EIP allows you to replace message content with a claim check (a
+unique key), which can be used to retrieve the message content at a later time.
       ]]></xs:documentation>
     </xs:annotation>
   </xs:element>
 
-  <xs:element name="consulConfiguration" type="tns:consulConfigurationDefinition">
+  <xs:element name="constant" type="tns:constantExpression">
     <xs:annotation>
       <xs:documentation xml:lang="en"><![CDATA[
-Consul remote service call configuration
+To use a constant value in Camel expressions or predicates.
       ]]></xs:documentation>
     </xs:annotation>
   </xs:element>
 
+  <xs:element name="consulServiceDiscovery" type="tns:consulServiceCallServiceDiscoveryConfiguration"/>
+
   <xs:element name="consumerTemplate" type="tns:camelConsumerTemplateFactoryBean">
     <xs:annotation>
       <xs:documentation xml:lang="en"><![CDATA[
@@ -156,7 +177,8 @@ Converts the message body to another typ
   <xs:element name="crypto" type="tns:cryptoDataFormat">
     <xs:annotation>
       <xs:documentation xml:lang="en"><![CDATA[
-Crypto data format
+Crypto data format is used for encrypting and decrypting of messages using Java
+Cryptographic Extension.
       ]]></xs:documentation>
     </xs:annotation>
   </xs:element>
@@ -164,7 +186,7 @@ Crypto data format
   <xs:element name="csv" type="tns:csvDataFormat">
     <xs:annotation>
       <xs:documentation xml:lang="en"><![CDATA[
-CSV data format
+The CSV data format is used for handling CSV payloads.
       ]]></xs:documentation>
     </xs:annotation>
   </xs:element>
@@ -172,7 +194,8 @@ CSV data format
   <xs:element name="customDataFormat" type="tns:customDataFormat">
     <xs:annotation>
       <xs:documentation xml:lang="en"><![CDATA[
-Custom data format
+To use a custom data format implementation that does not come out of the box
+from Apache Camel.
       ]]></xs:documentation>
     </xs:annotation>
   </xs:element>
@@ -185,6 +208,8 @@ Custom load balancer
     </xs:annotation>
   </xs:element>
 
+  <xs:element name="customServiceFilter" type="tns:customServiceCallServiceFilterConfiguration"/>
+
   <xs:element name="dataFormats" type="tns:dataFormatsDefinition">
     <xs:annotation>
       <xs:documentation xml:lang="en"><![CDATA[
@@ -193,6 +218,8 @@ To configure data formats
     </xs:annotation>
   </xs:element>
 
+  <xs:element name="defaultLoadBalancer" type="tns:defaultServiceCallServiceLoadBalancerConfiguration"/>
+
   <xs:element name="delay" type="tns:delayDefinition">
     <xs:annotation>
       <xs:documentation xml:lang="en"><![CDATA[
@@ -217,18 +244,12 @@ To provide comments about the node.
     </xs:annotation>
   </xs:element>
 
-  <xs:element name="dnsConfiguration" type="tns:dnsConfigurationDefinition">
-    <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
-DNS remote service call configuration
-      ]]></xs:documentation>
-    </xs:annotation>
-  </xs:element>
+  <xs:element name="dnsServiceDiscovery" type="tns:dnsServiceCallServiceDiscoveryConfiguration"/>
 
   <xs:element name="doCatch" type="tns:catchDefinition">
     <xs:annotation>
       <xs:documentation xml:lang="en"><![CDATA[
-Catches exceptions as part of a try catch finally block
+Catches exceptions as part of a try, catch, finally block
       ]]></xs:documentation>
     </xs:annotation>
   </xs:element>
@@ -236,7 +257,7 @@ Catches exceptions as part of a try catc
   <xs:element name="doFinally" type="tns:finallyDefinition">
     <xs:annotation>
       <xs:documentation xml:lang="en"><![CDATA[
-Path traversed when a try catch finally block exits
+Path traversed when a try, catch, finally block exits
       ]]></xs:documentation>
     </xs:annotation>
   </xs:element>
@@ -244,7 +265,7 @@ Path traversed when a try catch finally
   <xs:element name="doTry" type="tns:tryDefinition">
     <xs:annotation>
       <xs:documentation xml:lang="en"><![CDATA[
-Marks the beginning of a try catch finally block
+Marks the beginning of a try, catch, finally block
       ]]></xs:documentation>
     </xs:annotation>
   </xs:element>
@@ -260,7 +281,7 @@ Routes messages based on dynamic rules
   <xs:element name="el" type="tns:elExpression">
     <xs:annotation>
       <xs:documentation xml:lang="en"><![CDATA[
-For EL expressions and predicates
+To use EL scripts in Camel expressions or predicates.
       ]]></xs:documentation>
     </xs:annotation>
   </xs:element>
@@ -289,18 +310,12 @@ Error handler settings
     </xs:annotation>
   </xs:element>
 
-  <xs:element name="etcdConfiguration" type="tns:etcdConfigurationDefinition">
-    <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
-Etcd remote service call configuration
-      ]]></xs:documentation>
-    </xs:annotation>
-  </xs:element>
+  <xs:element name="etcdServiceDiscovery" type="tns:etcdServiceCallServiceDiscoveryConfiguration"/>
 
   <xs:element name="exchangeProperty" type="tns:exchangePropertyExpression">
     <xs:annotation>
       <xs:documentation xml:lang="en"><![CDATA[
-An expression which extracts the named exchange property
+To use a Camel Exchange property in expressions or predicates.
       ]]></xs:documentation>
     </xs:annotation>
   </xs:element>
@@ -332,6 +347,24 @@ Failover load balancer
     </xs:annotation>
   </xs:element>
 
+  <xs:element name="fhirJson" type="tns:fhirJsonDataFormat">
+    <xs:annotation>
+      <xs:documentation xml:lang="en"><![CDATA[
+The FHIR JSon data format is used to marshall/unmarshall to/from FHIR objects
+to/from JSON.
+      ]]></xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="fhirXml" type="tns:fhirXmlDataFormat">
+    <xs:annotation>
+      <xs:documentation xml:lang="en"><![CDATA[
+The FHIR XML data format is used to marshall/unmarshall from/to FHIR objects
+to/from XML.
+      ]]></xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
   <xs:element name="filter" type="tns:filterDefinition">
     <xs:annotation>
       <xs:documentation xml:lang="en"><![CDATA[
@@ -343,7 +376,8 @@ Filter out messages based using a predic
   <xs:element name="flatpack" type="tns:flatpackDataFormat">
     <xs:annotation>
       <xs:documentation xml:lang="en"><![CDATA[
-Flatpack data format
+The Flatpack data format is used for working with flat payloads (such as CSV,
+delimited, or fixed length formats).
       ]]></xs:documentation>
     </xs:annotation>
   </xs:element>
@@ -372,10 +406,28 @@ Rest GET command
     </xs:annotation>
   </xs:element>
 
+  <xs:element name="globalOption" type="tns:globalOptionDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en"><![CDATA[
+Models a string key/value pair for configuring some global options on a Camel
+context such as max debug log length.
+      ]]></xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="globalOptions" type="tns:globalOptionsDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en"><![CDATA[
+Models a series of string key/value pairs for configuring some global options on
+a Camel context such as max debug log length.
+      ]]></xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
   <xs:element name="groovy" type="tns:groovyExpression">
     <xs:annotation>
       <xs:documentation xml:lang="en"><![CDATA[
-For Groovy expressions and predicates
+To use Groovy scripts in Camel expressions or predicates.
       ]]></xs:documentation>
     </xs:annotation>
   </xs:element>
@@ -383,7 +435,8 @@ For Groovy expressions and predicates
   <xs:element name="gzip" type="tns:gzipDataFormat">
     <xs:annotation>
       <xs:documentation xml:lang="en"><![CDATA[
-GZip compression data format
+The GZip data format is a message compression and de-compression format (which
+works with the popular gzip/gunzip tools).
       ]]></xs:documentation>
     </xs:annotation>
   </xs:element>
@@ -399,15 +452,18 @@ Rest HEAD command
   <xs:element name="header" type="tns:headerExpression">
     <xs:annotation>
       <xs:documentation xml:lang="en"><![CDATA[
-An expression which extracts the named exchange header
+To use a Camel Message header in expressions or predicates.
       ]]></xs:documentation>
     </xs:annotation>
   </xs:element>
 
+  <xs:element name="healthyServiceFilter" type="tns:healthyServiceCallServiceFilterConfiguration"/>
+
   <xs:element name="hessian" type="tns:hessianDataFormat">
     <xs:annotation>
       <xs:documentation xml:lang="en"><![CDATA[
-Hessian data format
+Hessian data format is used for marshalling and unmarshalling messages using
+Cauchos Hessian format.
       ]]></xs:documentation>
     </xs:annotation>
   </xs:element>
@@ -415,7 +471,8 @@ Hessian data format
   <xs:element name="hl7" type="tns:hl7DataFormat">
     <xs:annotation>
       <xs:documentation xml:lang="en"><![CDATA[
-HL7 data format
+The HL7 data format can be used to marshal or unmarshal HL7 (Health Care) model
+objects.
       ]]></xs:documentation>
     </xs:annotation>
   </xs:element>
@@ -439,7 +496,7 @@ Hystrix Circuit Breaker EIP configuratio
   <xs:element name="ical" type="tns:icalDataFormat">
     <xs:annotation>
       <xs:documentation xml:lang="en"><![CDATA[
-iCal data format
+The iCal dataformat is used for working with iCalendar messages.
       ]]></xs:documentation>
     </xs:annotation>
   </xs:element>
@@ -468,6 +525,16 @@ Marks the exchange pattern for the route
     </xs:annotation>
   </xs:element>
 
+  <xs:element name="inputType" type="tns:inputTypeDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en"><![CDATA[
+Set the expected data type of the input message. If the actual message type is
+different at runtime, camel look for a required Transformer and apply if exists.
+If validate attribute is true then camel applies Validator as well.
+      ]]></xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
   <xs:element name="intercept" type="tns:interceptDefinition">
     <xs:annotation>
       <xs:documentation xml:lang="en"><![CDATA[
@@ -495,7 +562,8 @@ Intercepts messages being sent to an end
   <xs:element name="jacksonxml" type="tns:jacksonXMLDataFormat">
     <xs:annotation>
       <xs:documentation xml:lang="en"><![CDATA[
-Jackson XML data format
+JacksonXML data format is used for unmarshal a XML payload to POJO or to marshal
+POJO back to XML payload.
       ]]></xs:documentation>
     </xs:annotation>
   </xs:element>
@@ -503,7 +571,7 @@ Jackson XML data format
   <xs:element name="javaScript" type="tns:javaScriptExpression">
     <xs:annotation>
       <xs:documentation xml:lang="en"><![CDATA[
-For JavaScript expressions and predicates
+To use JavaScript in Camel expressions or predicates.
       ]]></xs:documentation>
     </xs:annotation>
   </xs:element>
@@ -511,7 +579,8 @@ For JavaScript expressions and predicate
   <xs:element name="jaxb" type="tns:jaxbDataFormat">
     <xs:annotation>
       <xs:documentation xml:lang="en"><![CDATA[
-JAXB data format
+JAXB data format uses the JAXB2 XML marshalling standard to unmarshal an XML
+payload into Java objects or to marshal Java objects into an XML payload.
       ]]></xs:documentation>
     </xs:annotation>
   </xs:element>
@@ -519,7 +588,8 @@ JAXB data format
   <xs:element name="jibx" type="tns:jibxDataFormat">
     <xs:annotation>
       <xs:documentation xml:lang="en"><![CDATA[
-JiBX data format
+JiBX data format is used for unmarshal a XML payload to POJO or to marshal POJO
+back to XML payload.
       ]]></xs:documentation>
     </xs:annotation>
   </xs:element>
@@ -535,7 +605,8 @@ JMX configuration.
   <xs:element name="json" type="tns:jsonDataFormat">
     <xs:annotation>
       <xs:documentation xml:lang="en"><![CDATA[
-JSon data format
+JSon data format is used for unmarshal a JSon payload to POJO or to marshal POJO
+back to JSon payload.
       ]]></xs:documentation>
     </xs:annotation>
   </xs:element>
@@ -543,7 +614,7 @@ JSon data format
   <xs:element name="jsonpath" type="tns:jsonPathExpression">
     <xs:annotation>
       <xs:documentation xml:lang="en"><![CDATA[
-For JSonPath expressions and predicates
+To use JsonPath in Camel expressions or predicates.
       ]]></xs:documentation>
     </xs:annotation>
   </xs:element>
@@ -551,26 +622,19 @@ For JSonPath expressions and predicates
   <xs:element name="jxpath" type="tns:jxPathExpression">
     <xs:annotation>
       <xs:documentation xml:lang="en"><![CDATA[
-For JXPath expressions and predicates
+To use JXPath in Camel expressions or predicates.
       ]]></xs:documentation>
     </xs:annotation>
   </xs:element>
 
   <xs:element name="keyStoreParameters" type="tns:keyStoreParametersFactoryBean"/>
 
-  <xs:element name="kubernetesConfiguration" type="tns:kubernetesConfigurationDefinition">
-    <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
-Kubernetes remote service call configuration
-      ]]></xs:documentation>
-    </xs:annotation>
-  </xs:element>
+  <xs:element name="kubernetesServiceDiscovery" type="tns:kubernetesServiceCallServiceDiscoveryConfiguration"/>
 
   <xs:element name="language" type="tns:languageExpression">
     <xs:annotation>
       <xs:documentation xml:lang="en"><![CDATA[
-Represents a parameterised language expression which can support any language at
-runtime using the language attribute.
+To use the specified language in Camel expressions or predicates.
       ]]></xs:documentation>
     </xs:annotation>
   </xs:element>
@@ -583,6 +647,8 @@ Balances message processing among a numb
     </xs:annotation>
   </xs:element>
 
+  <xs:element name="loadBalancerConfiguration" type="tns:serviceCallServiceLoadBalancerConfiguration"/>
+
   <xs:element name="log" type="tns:logDefinition">
     <xs:annotation>
       <xs:documentation xml:lang="en"><![CDATA[
@@ -602,7 +668,8 @@ Processes a message multiple times
   <xs:element name="lzf" type="tns:lzfDataFormat">
     <xs:annotation>
       <xs:documentation xml:lang="en"><![CDATA[
-LZF compression data format
+The LZF data format is a message compression and de-compression format (uses the
+LZF deflate algorithm).
       ]]></xs:documentation>
     </xs:annotation>
   </xs:element>
@@ -619,7 +686,7 @@ component
   <xs:element name="method" type="tns:methodCallExpression">
     <xs:annotation>
       <xs:documentation xml:lang="en"><![CDATA[
-For expressions and predicates using a java bean (aka method call)
+To use a Java bean (aka method call) in Camel expressions or predicates.
       ]]></xs:documentation>
     </xs:annotation>
   </xs:element>
@@ -627,11 +694,17 @@ For expressions and predicates using a j
   <xs:element name="mime-multipart" type="tns:mimeMultipartDataFormat">
     <xs:annotation>
       <xs:documentation xml:lang="en"><![CDATA[
-MIME Multipart data format
+The MIME Multipart data format can marshal a Camel message with attachments into
+a Camel message having a MIME-Multipart message as message body (and no
+attachments), and vise-versa when unmarshalling.
       ]]></xs:documentation>
     </xs:annotation>
   </xs:element>
 
+  <xs:element name="multiServiceDiscovery" type="tns:aggregatingServiceCallServiceDiscoveryConfiguration"/>
+
+  <xs:element name="multiServiceFilter" type="tns:chainedServiceCallServiceFilterConfiguration"/>
+
   <xs:element name="multicast" type="tns:multicastDefinition">
     <xs:annotation>
       <xs:documentation xml:lang="en"><![CDATA[
@@ -643,7 +716,7 @@ Routes the same message to multiple path
   <xs:element name="mvel" type="tns:mvelExpression">
     <xs:annotation>
       <xs:documentation xml:lang="en"><![CDATA[
-For MVEL expressions and predicates
+To use MVEL scripts in Camel expressions or predicates.
       ]]></xs:documentation>
     </xs:annotation>
   </xs:element>
@@ -651,7 +724,7 @@ For MVEL expressions and predicates
   <xs:element name="ognl" type="tns:ognlExpression">
     <xs:annotation>
       <xs:documentation xml:lang="en"><![CDATA[
-For OGNL expressions and predicates
+To use OGNL scripts in Camel expressions or predicates.
       ]]></xs:documentation>
     </xs:annotation>
   </xs:element>
@@ -704,6 +777,16 @@ Route to be executed when all other choi
     </xs:annotation>
   </xs:element>
 
+  <xs:element name="outputType" type="tns:outputTypeDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en"><![CDATA[
+Set the expected data type of the output message. If the actual message type is
+different at runtime, camel look for a required Transformer and apply if exists.
+If validate attribute is true then camel applies Validator as well.
+      ]]></xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
   <xs:element name="packageScan" type="tns:packageScanDefinition">
     <xs:annotation>
       <xs:documentation xml:lang="en"><![CDATA[
@@ -720,6 +803,8 @@ To specify the rest operation parameters
     </xs:annotation>
   </xs:element>
 
+  <xs:element name="passThroughServiceFilter" type="tns:passThroughServiceCallServiceFilterConfiguration"/>
+
   <xs:element name="patch" type="tns:patchVerbDefinition">
     <xs:annotation>
       <xs:documentation xml:lang="en"><![CDATA[
@@ -731,7 +816,8 @@ Rest PATCH command
   <xs:element name="pgp" type="tns:pgpDataFormat">
     <xs:annotation>
       <xs:documentation xml:lang="en"><![CDATA[
-PGP data format
+PGP data format is used for encrypting and decrypting of messages using Java
+Cryptographic Extension and PGP.
       ]]></xs:documentation>
     </xs:annotation>
   </xs:element>
@@ -739,7 +825,7 @@ PGP data format
   <xs:element name="php" type="tns:phpExpression">
     <xs:annotation>
       <xs:documentation xml:lang="en"><![CDATA[
-For PHP expressions and predicates
+To use PHP scripts in Camel expressions or predicates.
       ]]></xs:documentation>
     </xs:annotation>
   </xs:element>
@@ -779,7 +865,7 @@ Rest POST command
   <xs:element name="process" type="tns:processDefinition">
     <xs:annotation>
       <xs:documentation xml:lang="en"><![CDATA[
-Calls a Camel processor.
+Calls a Camel processor
       ]]></xs:documentation>
     </xs:annotation>
   </xs:element>
@@ -800,6 +886,14 @@ Function to use with properties placehol
     </xs:annotation>
   </xs:element>
 
+  <xs:element name="propertiesLocation" type="tns:camelPropertyPlaceholderLocationDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en"><![CDATA[
+Properties to use with properties placeholder
+      ]]></xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
   <xs:element name="property" type="tns:propertyDefinition">
     <xs:annotation>
       <xs:documentation xml:lang="en"><![CDATA[
@@ -819,7 +913,8 @@ Properties placeholder
   <xs:element name="protobuf" type="tns:protobufDataFormat">
     <xs:annotation>
       <xs:documentation xml:lang="en"><![CDATA[
-Google protobuf data format
+The Protobuf data format is used for serializing between Java objects and the
+Google Protobuf protocol.
       ]]></xs:documentation>
     </xs:annotation>
   </xs:element>
@@ -843,7 +938,7 @@ Rest PUT command
   <xs:element name="python" type="tns:pythonExpression">
     <xs:annotation>
       <xs:documentation xml:lang="en"><![CDATA[
-For Python expressions and predicates
+To use Python scripts in Camel expressions or predicates.
       ]]></xs:documentation>
     </xs:annotation>
   </xs:element>
@@ -883,7 +978,8 @@ Configuration of redelivery policy.
   <xs:element name="ref" type="tns:refExpression">
     <xs:annotation>
       <xs:documentation xml:lang="en"><![CDATA[
-For using a custom expression
+Reference to an existing Camel expression or predicate, which is looked up from
+the Camel registry.
       ]]></xs:documentation>
     </xs:annotation>
   </xs:element>
@@ -1000,13 +1096,7 @@ A series of rest services defined using
     </xs:annotation>
   </xs:element>
 
-  <xs:element name="ribbonConfiguration" type="tns:ribbonConfigurationDefinition">
-    <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
-Ribbon remote service call configuration
-      ]]></xs:documentation>
-    </xs:annotation>
-  </xs:element>
+  <xs:element name="ribbonLoadBalancer" type="tns:ribbonServiceCallServiceLoadBalancerConfiguration"/>
 
   <xs:element name="rollback" type="tns:rollbackDefinition">
     <xs:annotation>
@@ -1075,7 +1165,8 @@ Routes a message through a series of ste
   <xs:element name="rss" type="tns:rssDataFormat">
     <xs:annotation>
       <xs:documentation xml:lang="en"><![CDATA[
-RSS data format
+RSS data format is used for working with RSS sync feed Java Objects and
+transforming to XML and vice-versa.
       ]]></xs:documentation>
     </xs:annotation>
   </xs:element>
@@ -1083,7 +1174,15 @@ RSS data format
   <xs:element name="ruby" type="tns:rubyExpression">
     <xs:annotation>
       <xs:documentation xml:lang="en"><![CDATA[
-For Ruby expressions and predicates
+To use Ruby scripts in Camel expressions or predicates.
+      ]]></xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="saga" type="tns:sagaDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en"><![CDATA[
+Enables sagas on the route
       ]]></xs:documentation>
     </xs:annotation>
   </xs:element>
@@ -1109,7 +1208,8 @@ Executes a script from a language which
   <xs:element name="secureXML" type="tns:xmlSecurityDataFormat">
     <xs:annotation>
       <xs:documentation xml:lang="en"><![CDATA[
-XML-Security data format
+The XML Security data format facilitates encryption and decryption of XML
+payloads.
       ]]></xs:documentation>
     </xs:annotation>
   </xs:element>
@@ -1117,7 +1217,9 @@ XML-Security data format
   <xs:element name="serialization" type="tns:serializationDataFormat">
     <xs:annotation>
       <xs:documentation xml:lang="en"><![CDATA[
-Java Object Serialization data format
+Serialization is a data format which uses the standard Java Serialization
+mechanism to unmarshal a binary payload into Java objects or to marshal Java
+objects into a binary blob.
       ]]></xs:documentation>
     </xs:annotation>
   </xs:element>
@@ -1125,12 +1227,26 @@ Java Object Serialization data format
   <xs:element name="serviceCall" type="tns:serviceCallDefinition">
     <xs:annotation>
       <xs:documentation xml:lang="en"><![CDATA[
-Remote service call
+To call remote services
+      ]]></xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="serviceCallConfiguration" type="tns:serviceCallConfigurationDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en"><![CDATA[
+Remote service call configuration
       ]]></xs:documentation>
     </xs:annotation>
   </xs:element>
 
-  <xs:element name="serviceCallConfiguration" type="tns:serviceCallConfigurationDefinition"/>
+  <xs:element name="serviceChooserConfiguration" type="tns:serviceCallServiceChooserConfiguration"/>
+
+  <xs:element name="serviceDiscoveryConfiguration" type="tns:serviceCallServiceDiscoveryConfiguration"/>
+
+  <xs:element name="serviceExpression" type="tns:serviceCallExpressionConfiguration"/>
+
+  <xs:element name="serviceFilterConfiguration" type="tns:serviceCallServiceFilterConfiguration"/>
 
   <xs:element name="setBody" type="tns:setBodyDefinition">
     <xs:annotation>
@@ -1183,7 +1299,7 @@ Sets a named property on the message exc
   <xs:element name="simple" type="tns:simpleExpression">
     <xs:annotation>
       <xs:documentation xml:lang="en"><![CDATA[
-For expressions and predicates using the simple language
+To use Camels built-in Simple language in Camel expressions or predicates.
       ]]></xs:documentation>
     </xs:annotation>
   </xs:element>
@@ -1191,7 +1307,8 @@ For expressions and predicates using the
   <xs:element name="soapjaxb" type="tns:soapJaxbDataFormat">
     <xs:annotation>
       <xs:documentation xml:lang="en"><![CDATA[
-SOAP data format
+SOAP is a data format which uses JAXB2 and JAX-WS annotations to marshal and
+unmarshal SOAP payloads.
       ]]></xs:documentation>
     </xs:annotation>
   </xs:element>
@@ -1207,7 +1324,7 @@ Sorts the contents of the message
   <xs:element name="spel" type="tns:spELExpression">
     <xs:annotation>
       <xs:documentation xml:lang="en"><![CDATA[
-For Spring Expression Language (SpEL) expressions and predicates
+To use Spring Expression Language (SpEL) in Camel expressions or predicates.
       ]]></xs:documentation>
     </xs:annotation>
   </xs:element>
@@ -1223,13 +1340,15 @@ Splits a single message into many sub-me
   <xs:element name="sql" type="tns:sqlExpression">
     <xs:annotation>
       <xs:documentation xml:lang="en"><![CDATA[
-For SQL expressions and predicates
+To use SQL (on Java beans) in Camel expressions or predicates.
       ]]></xs:documentation>
     </xs:annotation>
   </xs:element>
 
   <xs:element name="sslContextParameters" type="tns:sslContextParametersFactoryBean"/>
 
+  <xs:element name="staticServiceDiscovery" type="tns:staticServiceCallServiceDiscoveryConfiguration"/>
+
   <xs:element name="sticky" type="tns:stickyLoadBalancerDefinition">
     <xs:annotation>
       <xs:documentation xml:lang="en"><![CDATA[
@@ -1265,7 +1384,7 @@ Stream caching configuration.
   <xs:element name="string" type="tns:stringDataFormat">
     <xs:annotation>
       <xs:documentation xml:lang="en"><![CDATA[
-String (text based) data format
+String data format is a textual based format that supports character encoding.
       ]]></xs:documentation>
     </xs:annotation>
   </xs:element>
@@ -1273,7 +1392,8 @@ String (text based) data format
   <xs:element name="syslog" type="tns:syslogDataFormat">
     <xs:annotation>
       <xs:documentation xml:lang="en"><![CDATA[
-Syslog data format
+The Syslog dataformat is used for working with RFC3164 and RFC5424 messages
+(logging and monitoring).
       ]]></xs:documentation>
     </xs:annotation>
   </xs:element>
@@ -1281,7 +1401,8 @@ Syslog data format
   <xs:element name="tarfile" type="tns:tarFileDataFormat">
     <xs:annotation>
       <xs:documentation xml:lang="en"><![CDATA[
-TAR file data format
+The Tar File data format is a message compression and de-compression format of
+tar files.
       ]]></xs:documentation>
     </xs:annotation>
   </xs:element>
@@ -1297,7 +1418,7 @@ Configures a ProducerTemplate
   <xs:element name="terser" type="tns:terserExpression">
     <xs:annotation>
       <xs:documentation xml:lang="en"><![CDATA[
-For HL7 terser expressions and predicates
+To use HL7 terser scripts in Camel expressions or predicates.
       ]]></xs:documentation>
     </xs:annotation>
   </xs:element>
@@ -1326,6 +1447,15 @@ Specifies that all steps after this node
     </xs:annotation>
   </xs:element>
 
+  <xs:element name="thrift" type="tns:thriftDataFormat">
+    <xs:annotation>
+      <xs:documentation xml:lang="en"><![CDATA[
+The Thrift data format is used for serialization and deserialization of messages
+using Apache Thrift binary dataformat.
+      ]]></xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
   <xs:element name="throttle" type="tns:throttleDefinition">
     <xs:annotation>
       <xs:documentation xml:lang="en"><![CDATA[
@@ -1345,7 +1475,8 @@ Throws an exception
   <xs:element name="tidyMarkup" type="tns:tidyMarkupDataFormat">
     <xs:annotation>
       <xs:documentation xml:lang="en"><![CDATA[
-Tidymark (wellformed HTML) data format
+TidyMarkup data format is used for parsing HTML and return it as pretty
+well-formed HTML.
       ]]></xs:documentation>
     </xs:annotation>
   </xs:element>
@@ -1369,7 +1500,8 @@ Sends the message to a dynamic endpoint
   <xs:element name="tokenize" type="tns:tokenizerExpression">
     <xs:annotation>
       <xs:documentation xml:lang="en"><![CDATA[
-For expressions and predicates using a body or header tokenizer
+To use Camel message body or header with a tokenizer in Camel expressions or
+predicates.
       ]]></xs:documentation>
     </xs:annotation>
   </xs:element>
@@ -1398,12 +1530,21 @@ Transforms the message body based on an
     </xs:annotation>
   </xs:element>
 
+  <xs:element name="transformers" type="tns:transformersDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en"><![CDATA[
+To configure transformers.
+      ]]></xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
   <xs:element name="typeFilter" type="tns:yamlTypeFilterDefinition"/>
 
   <xs:element name="univocity-csv" type="tns:uniVocityCsvDataFormat">
     <xs:annotation>
       <xs:documentation xml:lang="en"><![CDATA[
-UniVocity CSV data format
+The uniVocity CSV data format is used for working with CSV (Comma Separated
+Values) flat payloads.
       ]]></xs:documentation>
     </xs:annotation>
   </xs:element>
@@ -1411,7 +1552,8 @@ UniVocity CSV data format
   <xs:element name="univocity-fixed" type="tns:uniVocityFixedWidthDataFormat">
     <xs:annotation>
       <xs:documentation xml:lang="en"><![CDATA[
-UniVocity fixed-width data format
+The uniVocity Fixed Length data format is used for working with fixed length
+flat payloads.
       ]]></xs:documentation>
     </xs:annotation>
   </xs:element>
@@ -1427,7 +1569,8 @@ To configure headers for UniVocity data
   <xs:element name="univocity-tsv" type="tns:uniVocityTsvDataFormat">
     <xs:annotation>
       <xs:documentation xml:lang="en"><![CDATA[
-UniVocity TSV data format
+The uniVocity TSV data format is used for working with TSV (Tabular Separated
+Values) flat payloads.
       ]]></xs:documentation>
     </xs:annotation>
   </xs:element>
@@ -1449,6 +1592,14 @@ Validates a message based on an expressi
     </xs:annotation>
   </xs:element>
 
+  <xs:element name="validators" type="tns:validatorsDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en"><![CDATA[
+To configure validators.
+      ]]></xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
   <xs:element name="verb" type="tns:verbDefinition">
     <xs:annotation>
       <xs:documentation xml:lang="en"><![CDATA[
@@ -1476,8 +1627,8 @@ Triggers a route when an expression eval
   <xs:element name="whenSkipSendToEndpoint" type="tns:whenSkipSendToEndpointDefinition">
     <xs:annotation>
       <xs:documentation xml:lang="en"><![CDATA[
-Predicate to determine if the message should be sent or not to the endpoint when
-using interceptSentToEndpoint.
+Predicate to determine if the message should be sent or not to the endpoint,
+when using interceptSentToEndpoint.
       ]]></xs:documentation>
     </xs:annotation>
   </xs:element>
@@ -1494,7 +1645,8 @@ while continue routing the original mess
   <xs:element name="xmlBeans" type="tns:xmlBeansDataFormat">
     <xs:annotation>
       <xs:documentation xml:lang="en"><![CDATA[
-XMLBeans data format
+XML Beans data format is used for unmarshal a XML payload to POJO or to marshal
+POJO back to XML payload.
       ]]></xs:documentation>
     </xs:annotation>
   </xs:element>
@@ -1502,7 +1654,8 @@ XMLBeans data format
   <xs:element name="xmljson" type="tns:xmlJsonDataFormat">
     <xs:annotation>
       <xs:documentation xml:lang="en"><![CDATA[
-XML-JSon data format
+XML JSon data format can convert from XML to JSON and vice-versa directly,
+without stepping through intermediate POJOs.
       ]]></xs:documentation>
     </xs:annotation>
   </xs:element>
@@ -1510,7 +1663,7 @@ XML-JSon data format
   <xs:element name="xmlrpc" type="tns:xmlRpcDataFormat">
     <xs:annotation>
       <xs:documentation xml:lang="en"><![CDATA[
-XML-RPC data format
+The XML RPC data format is used for working with the XML RPC protocol.
       ]]></xs:documentation>
     </xs:annotation>
   </xs:element>
@@ -1518,7 +1671,7 @@ XML-RPC data format
   <xs:element name="xpath" type="tns:xPathExpression">
     <xs:annotation>
       <xs:documentation xml:lang="en"><![CDATA[
-For XPath expressions and predicates
+To use XPath (XML) in Camel expressions or predicates.
       ]]></xs:documentation>
     </xs:annotation>
   </xs:element>
@@ -1526,7 +1679,7 @@ For XPath expressions and predicates
   <xs:element name="xquery" type="tns:xQueryExpression">
     <xs:annotation>
       <xs:documentation xml:lang="en"><![CDATA[
-For XQuery expressions and predicates
+To use XQuery (XML) in Camel expressions or predicates.
       ]]></xs:documentation>
     </xs:annotation>
   </xs:element>
@@ -1534,7 +1687,8 @@ For XQuery expressions and predicates
   <xs:element name="xstream" type="tns:xStreamDataFormat">
     <xs:annotation>
       <xs:documentation xml:lang="en"><![CDATA[
-XStream data format
+XSTream data format is used for unmarshal a XML payload to POJO or to marshal
+POJO back to XML payload.
       ]]></xs:documentation>
     </xs:annotation>
   </xs:element>
@@ -1542,7 +1696,8 @@ XStream data format
   <xs:element name="xtokenize" type="tns:xmlTokenizerExpression">
     <xs:annotation>
       <xs:documentation xml:lang="en"><![CDATA[
-For expressions and predicates using a body or header tokenizer
+To use Camel message body or header with a XML tokenizer in Camel expressions or
+predicates.
       ]]></xs:documentation>
     </xs:annotation>
   </xs:element>
@@ -1550,7 +1705,7 @@ For expressions and predicates using a b
   <xs:element name="yaml" type="tns:yamlDataFormat">
     <xs:annotation>
       <xs:documentation xml:lang="en"><![CDATA[
-YAML data format
+YAML is a data format to marshal and unmarshal Java objects to and from YAML.
       ]]></xs:documentation>
     </xs:annotation>
   </xs:element>
@@ -1558,7 +1713,8 @@ YAML data format
   <xs:element name="zip" type="tns:zipDataFormat">
     <xs:annotation>
       <xs:documentation xml:lang="en"><![CDATA[
-Zip compression data format (not for zip files)
+Zip Deflate Compression data format is a message compression and de-compression
+format (not zip files).
       ]]></xs:documentation>
     </xs:annotation>
   </xs:element>
@@ -1566,11 +1722,14 @@ Zip compression data format (not for zip
   <xs:element name="zipFile" type="tns:zipFileDataFormat">
     <xs:annotation>
       <xs:documentation xml:lang="en"><![CDATA[
-Zip-file data format
+The Zip File data format is a message compression and de-compression format of
+zip files.
       ]]></xs:documentation>
     </xs:annotation>
   </xs:element>
 
+  <xs:element name="zookeeperServiceDiscovery" type="tns:zooKeeperServiceCallServiceDiscoveryConfiguration"/>
+
   <xs:complexType name="camelConsumerTemplateFactoryBean">
     <xs:complexContent>
       <xs:extension base="tns:abstractCamelConsumerTemplateFactoryBean">
@@ -1625,6 +1784,7 @@ Sets the value of the id property.
       <xs:extension base="tns:abstractCamelContextFactoryBean">
         <xs:sequence>
           <xs:element minOccurs="0" ref="tns:properties"/>
+          <xs:element minOccurs="0" ref="tns:globalOptions"/>
           <xs:element minOccurs="0" ref="tns:propertyPlaceholder"/>
           <xs:element maxOccurs="unbounded" minOccurs="0" name="package" type="xs:string"/>
           <xs:element minOccurs="0" ref="tns:packageScan"/>
@@ -1632,19 +1792,17 @@ Sets the value of the id property.
           <xs:element minOccurs="0" ref="tns:jmxAgent"/>
           <xs:element minOccurs="0" ref="tns:streamCaching"/>
           <xs:choice maxOccurs="unbounded" minOccurs="0">
-            <xs:element ref="tns:hystrixConfiguration"/>
-            <xs:element ref="tns:kubernetesConfiguration"/>
-            <xs:element ref="tns:ribbonConfiguration"/>
-            <xs:element ref="tns:consulConfiguration"/>
-            <xs:element ref="tns:dnsConfiguration"/>
-            <xs:element ref="tns:etcdConfiguration"/>
             <xs:element ref="tns:template"/>
             <xs:element ref="tns:fluentTemplate"/>
             <xs:element ref="tns:consumerTemplate"/>
             <xs:element ref="tns:proxy"/>
-            <xs:element ref="tns:export"/>
             <xs:element ref="tns:errorHandler"/>
           </xs:choice>
+          <xs:element maxOccurs="unbounded" minOccurs="0" ref="tns:export"/>
+          <xs:element minOccurs="0" name="defaultServiceCallConfiguration" type="tns:serviceCallConfigurationDefinition"/>
+          <xs:element maxOccurs="unbounded" minOccurs="0" ref="tns:serviceCallConfiguration"/>
+          <xs:element minOccurs="0" name="defaultHystrixConfiguration" type="tns:hystrixConfigurationDefinition"/>
+          <xs:element maxOccurs="unbounded" minOccurs="0" ref="tns:hystrixConfiguration"/>
           <xs:element maxOccurs="unbounded" minOccurs="0" ref="tns:routeBuilder"/>
           <xs:element maxOccurs="unbounded" minOccurs="0" ref="tns:routeContextRef"/>
           <xs:element maxOccurs="unbounded" minOccurs="0" ref="tns:restContextRef"/>
@@ -1652,6 +1810,8 @@ Sets the value of the id property.
           <xs:element maxOccurs="unbounded" minOccurs="0" ref="tns:threadPool"/>
           <xs:element maxOccurs="unbounded" minOccurs="0" ref="tns:endpoint"/>
           <xs:element minOccurs="0" ref="tns:dataFormats"/>
+          <xs:element minOccurs="0" ref="tns:transformers"/>
+          <xs:element minOccurs="0" ref="tns:validators"/>
           <xs:element maxOccurs="unbounded" minOccurs="0" ref="tns:redeliveryPolicyProfile"/>
           <xs:element maxOccurs="unbounded" minOccurs="0" ref="tns:onException"/>
           <xs:element maxOccurs="unbounded" minOccurs="0" ref="tns:onCompletion"/>
@@ -1680,7 +1840,14 @@ Sets whether tracing is enabled or not.
         <xs:attribute name="messageHistory" type="xs:string">
           <xs:annotation>
             <xs:documentation xml:lang="en"><![CDATA[
-Sets whether message history is enabled or not.. Default value: true
+Sets whether message history is enabled or not. Default value: true
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="logMask" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+Sets whether security mask for Logging is enabled or not. Default value: false
             ]]></xs:documentation>
           </xs:annotation>
         </xs:attribute>
@@ -1702,7 +1869,7 @@ Sets whether stream caching is enabled o
           <xs:annotation>
             <xs:documentation xml:lang="en"><![CDATA[
 Sets a delay value in millis that a message is delayed at every step it takes in
-the route path slowing the process down to better observe what is occurring
+the route path, slowing the process down to better observe what is occurring
             ]]></xs:documentation>
           </xs:annotation>
         </xs:attribute>
@@ -1725,12 +1892,12 @@ strategy
           <xs:annotation>
             <xs:documentation xml:lang="en"><![CDATA[
 Sets whether the object should automatically start when Camel starts. Important:
-Currently only routes can be disabled as CamelContexts are always started. Note:
-When setting auto startup false on CamelContext then that takes precedence and
-no routes is started. You would need to start CamelContext explicit using the
-link org.apache.camel.CamelContextstart() method to start the context and then
-you would need to start the routes manually using link
-CamelContextstartRoute(String).. Default value: true
+Currently only routes can be disabled, as CamelContexts are always started.
+Note: When setting auto startup false on CamelContext then that takes precedence
+and no routes is started. You would need to start CamelContext explicit using
+the link org.apache.camel.CamelContextstart() method, to start the context, and
+then you would need to start the routes manually using link
+CamelContextstartRoute(String). Default value: true
             ]]></xs:documentation>
           </xs:annotation>
         </xs:attribute>
@@ -1741,19 +1908,29 @@ Set whether MDC is enabled.
             ]]></xs:documentation>
           </xs:annotation>
         </xs:attribute>
+        <xs:attribute name="useDataType" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+Whether to enable using data type on Camel messages. Data type are automatic
+turned on if: one ore more routes has been explicit configured with input and
+output types when using rest-dsl with binding turned on Otherwise data type is
+default off.
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
         <xs:attribute name="useBreadcrumb" type="xs:string">
           <xs:annotation>
             <xs:documentation xml:lang="en"><![CDATA[
-Set whether breadcrumb is enabled.. Default value: true
+Set whether breadcrumb is enabled. Default value: true
             ]]></xs:documentation>
           </xs:annotation>
         </xs:attribute>
         <xs:attribute name="allowUseOriginalMessage" type="xs:string">
           <xs:annotation>
             <xs:documentation xml:lang="en"><![CDATA[
-Sets whether to allow access to the original message from Camel's error handler
+Sets whether to allow access to the original message from Camel's error handler,
 or from link org.apache.camel.spi.UnitOfWorkgetOriginalInMessage(). Turning this
-off can optimize performance as defensive copy of the original message is not
+off can optimize performance, as defensive copy of the original message is not
 needed.
             ]]></xs:documentation>
           </xs:annotation>
@@ -1768,8 +1945,8 @@ Sets whether org.apache.camel.spi.Runtim
         <xs:attribute name="managementNamePattern" type="xs:string">
           <xs:annotation>
             <xs:documentation xml:lang="en"><![CDATA[
-The naming pattern for creating the CamelContext management name.. Default
-value: #name#
+The naming pattern for creating the CamelContext management name. Default value:
+#name#
             ]]></xs:documentation>
           </xs:annotation>
         </xs:attribute>
@@ -1780,7 +1957,7 @@ Sets the thread name pattern used for cr
 pattern is: Camel (camelId) thread counter - name Where camelId is the name of
 the org.apache.camel.CamelContext and counter is a unique incrementing counter.
 and name is the regular thread name. You can also use longName is the long
-thread name which can includes endpoint parameters etc.. Default value: Camel
+thread name which can includes endpoint parameters etc. Default value: Camel
 (#camelId#) thread ##counter# - #name#
             ]]></xs:documentation>
           </xs:annotation>
@@ -1791,21 +1968,21 @@ thread name which can includes endpoint
 Whether to automatic detect OSGi Blueprint property placeholder service in use,
 and bridge with Camel property placeholder. When enabled this allows you to only
 setup OSGi Blueprint property placeholder and Camel can use the properties in
-the <camelContext>.. Default value: true
+the <camelContext>. Default value: true
             ]]></xs:documentation>
           </xs:annotation>
         </xs:attribute>
         <xs:attribute name="shutdownRoute" type="tns:shutdownRoute">
           <xs:annotation>
             <xs:documentation xml:lang="en"><![CDATA[
-Sets the ShutdownRoute option for routes.. Default value: Default
+Sets the ShutdownRoute option for routes. Default value: Default
             ]]></xs:documentation>
           </xs:annotation>
         </xs:attribute>
         <xs:attribute name="shutdownRunningTask" type="tns:shutdownRunningTask">
           <xs:annotation>
             <xs:documentation xml:lang="en"><![CDATA[
-Sets the ShutdownRunningTask option to use when shutting down a route.. Default
+Sets the ShutdownRunningTask option to use when shutting down a route. Default
 value: CompleteCurrentTaskOnly
             ]]></xs:documentation>
           </xs:annotation>
@@ -1813,7 +1990,18 @@ value: CompleteCurrentTaskOnly
         <xs:attribute name="lazyLoadTypeConverters" type="xs:boolean">
           <xs:annotation>
             <xs:documentation xml:lang="en"><![CDATA[
-Sets whether type converters should be loaded lazy. Default value: false
+Deprecated: Sets whether type converters should be loaded lazy. Default value:
+false
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="loadTypeConverters" type="xs:boolean">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+Sets whether to load custom type converters by scanning classpath. This can be
+turned off if you are only using Camel components that does not provide type
+converters which is needed at runtime. In such situations setting this option to
+false, can speedup starting Camel. Default value: true
             ]]></xs:documentation>
           </xs:annotation>
         </xs:attribute>
@@ -1825,8 +2013,8 @@ converter utilization statistics is disa
 slight performance impact under very heavy load. You can enable/disable the
 statistics at runtime using the link
 org.apache.camel.spi.TypeConverterRegistrygetStatistics()setTypeConverterStatisticsEnabled(Boolean)
-method or from JMX on the
-org.apache.camel.api.management.mbean.ManagedTypeConverterRegistryMBean mbean..
+method, or from JMX on the
+org.apache.camel.api.management.mbean.ManagedTypeConverterRegistryMBean mbean.
 Default value: false
             ]]></xs:documentation>
           </xs:annotation>
@@ -1835,7 +2023,7 @@ Default value: false
           <xs:annotation>
             <xs:documentation xml:lang="en"><![CDATA[
 What should happen when attempting to add a duplicate type converter. The
-default behavior is to override the existing.. Default value: Override
+default behavior is to override the existing. Default value: Override
             ]]></xs:documentation>
           </xs:annotation>
         </xs:attribute>
@@ -1884,13 +2072,38 @@ Property value
     </xs:attribute>
   </xs:complexType>
 
+  <xs:complexType name="globalOptionsDefinition">
+    <xs:sequence>
+      <xs:element maxOccurs="unbounded" minOccurs="0" ref="tns:globalOption"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="globalOptionDefinition">
+    <xs:sequence/>
+    <xs:attribute name="key" type="xs:string" use="required">
+      <xs:annotation>
+        <xs:documentation xml:lang="en"><![CDATA[
+Global option key
+        ]]></xs:documentation>
+      </xs:annotation>
+    </xs:attribute>
+    <xs:attribute name="value" type="xs:string" use="required">
+      <xs:annotation>
+        <xs:documentation xml:lang="en"><![CDATA[
+Global option value
+        ]]></xs:documentation>
+      </xs:annotation>
+    </xs:attribute>
+  </xs:complexType>
+
   <xs:complexType name="camelPropertyPlaceholderDefinition">
     <xs:complexContent>
       <xs:extension base="tns:identifiedType">
         <xs:sequence>
           <xs:element maxOccurs="unbounded" minOccurs="0" ref="tns:propertiesFunction"/>
+          <xs:element maxOccurs="unbounded" minOccurs="0" ref="tns:propertiesLocation"/>
         </xs:sequence>
-        <xs:attribute name="location" type="xs:string" use="required">
+        <xs:attribute name="location" type="xs:string">
           <xs:annotation>
             <xs:documentation xml:lang="en"><![CDATA[
 A list of locations to load properties. You can use comma to separate multiple
@@ -1903,8 +2116,8 @@ locations from this option.
           <xs:annotation>
             <xs:documentation xml:lang="en"><![CDATA[
 Encoding to use when loading properties file from the file system or classpath.
-If no encoding has been set then the properties files is loaded using ISO-8859-1
-encoding (latin-1) as documented by link
+If no encoding has been set, then the properties files is loaded using
+ISO-8859-1 encoding (latin-1) as documented by link
 java.util.Propertiesload(java.io.InputStream)
             ]]></xs:documentation>
           </xs:annotation>
@@ -1912,7 +2125,7 @@ java.util.Propertiesload(java.io.InputSt
         <xs:attribute name="cache" type="xs:boolean">
           <xs:annotation>
             <xs:documentation xml:lang="en"><![CDATA[
-Whether or not to cache loaded properties. The default value is true.. Default
+Whether or not to cache loaded properties. The default value is true. Default
 value: true
             ]]></xs:documentation>
           </xs:annotation>
@@ -1920,8 +2133,8 @@ value: true
         <xs:attribute name="ignoreMissingLocation" type="xs:boolean">
           <xs:annotation>
             <xs:documentation xml:lang="en"><![CDATA[
-Whether to silently ignore if a location cannot be located such as a properties
-file not found.. Default value: false
+Whether to silently ignore if a location cannot be located, such as a properties
+file not found. Default value: false
             ]]></xs:documentation>
           </xs:annotation>
         </xs:attribute>
@@ -1956,9 +2169,17 @@ Optional suffix appended to property nam
         <xs:attribute name="fallbackToUnaugmentedProperty" type="xs:boolean">
           <xs:annotation>
             <xs:documentation xml:lang="en"><![CDATA[
-If true first attempt resolution of property name augmented with propertyPrefix
+If true, first attempt resolution of property name augmented with propertyPrefix
 and propertySuffix before falling back the plain property name specified. If
-false only the augmented property name is searched.. Default value: true
+false, only the augmented property name is searched. Default value: true
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="defaultFallbackEnabled" type="xs:boolean">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+If false, the component does not attempt to find a default for the key by
+looking after the colon separator. Default value: true
             ]]></xs:documentation>
           </xs:annotation>
         </xs:attribute>
@@ -1997,6 +2218,35 @@ Reference to the custom properties funct
     </xs:complexContent>
   </xs:complexType>
 
+  <xs:complexType name="camelPropertyPlaceholderLocationDefinition">
+    <xs:complexContent>
+      <xs:extension base="tns:identifiedType">
+        <xs:sequence/>
+        <xs:attribute name="resolver" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+The resolver to use to locate the location. Default value: classpath
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="path" type="xs:string" use="required">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+Property locations to use.
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="optional" type="xs:boolean">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+If the location is optional. Default value: false
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
   <xs:complexType name="packageScanDefinition">
     <xs:sequence>
       <xs:element maxOccurs="unbounded" name="package" type="xs:string"/>
@@ -2034,7 +2284,7 @@ Disable JMI (default false). Default val
         <xs:attribute name="onlyRegisterProcessorWithCustomId" type="xs:string">
           <xs:annotation>
             <xs:documentation xml:lang="en"><![CDATA[
-Only register processor if a custom id was defined for it.. Default value: false
+Only register processor if a custom id was defined for it. Default value: false
             ]]></xs:documentation>
           </xs:annotation>
         </xs:attribute>
@@ -2130,7 +2380,7 @@ value: true
         <xs:attribute name="includeHostName" type="xs:string">
           <xs:annotation>
             <xs:documentation xml:lang="en"><![CDATA[
-A flag that indicates whether to include hostname in JMX MBean names.. Default
+A flag that indicates whether to include hostname in JMX MBean names. Default
 value: false
             ]]></xs:documentation>
           </xs:annotation>
@@ -2138,7 +2388,7 @@ value: false
         <xs:attribute name="useHostIPAddress" type="xs:string">
           <xs:annotation>
             <xs:documentation xml:lang="en"><![CDATA[
-A flag that indicates whether to use hostname or IP Address in the service url..
+A flag that indicates whether to use hostname or IP Address in the service url.
 Default value: false
             ]]></xs:documentation>
           </xs:annotation>
@@ -2147,7 +2397,7 @@ Default value: false
           <xs:annotation>
             <xs:documentation xml:lang="en"><![CDATA[
 A flag that indicates whether to remove detected sensitive information (such as
-passwords) from MBean names and attributes.. Default value: true
+passwords) from MBean names and attributes. Default value: true
             ]]></xs:documentation>
           </xs:annotation>
         </xs:attribute>
@@ -2163,7 +2413,7 @@ passwords) from MBean names and attribut
           <xs:annotation>
             <xs:documentation xml:lang="en"><![CDATA[
 Sets whether the stream caching is enabled. Notice: This cannot be changed at
-runtime.. Default value: false
+runtime. Default value: false
             ]]></xs:documentation>
           </xs:annotation>
         </xs:attribute>
@@ -2171,8 +2421,8 @@ runtime.. Default value: false
           <xs:annotation>
             <xs:documentation xml:lang="en"><![CDATA[
 Sets the spool (temporary) directory to use for overflow and spooling to disk.
-If no spool directory has been explicit configured then a temporary directory is
-created in the java.io.tmpdir directory.
+If no spool directory has been explicit configured, then a temporary directory
+is created in the java.io.tmpdir directory.
             ]]></xs:documentation>
           </xs:annotation>
         </xs:attribute>
@@ -2247,9 +2497,9 @@ Sets whether statistics is enabled.
             <xs:documentation xml:lang="en"><![CDATA[
 Sets whether if just any of the
 org.apache.camel.spi.StreamCachingStrategy.SpoolRule rules returns true then
-shouldSpoolCache(long) returns true. If this option is false then all the
+shouldSpoolCache(long) returns true. If this option is false, then all the
 org.apache.camel.spi.StreamCachingStrategy.SpoolRule must return true. The
-default value is false which means that all the rules must return true.. Default
+default value is false which means that all the rules must return true. Default
 value: false
             ]]></xs:documentation>
           </xs:annotation>
@@ -2258,271 +2508,684 @@ value: false
     </xs:complexContent>
   </xs:complexType>
 
-  <xs:complexType name="hystrixConfigurationDefinition">
+  <xs:complexType name="camelProducerTemplateFactoryBean">
     <xs:complexContent>
-      <xs:extension base="tns:identifiedType">
+      <xs:extension base="tns:abstractCamelProducerTemplateFactoryBean">
         <xs:sequence/>
-        <xs:attribute name="groupKey" type="xs:string">
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType abstract="true" name="abstractCamelProducerTemplateFactoryBean">
+    <xs:complexContent>
+      <xs:extension base="tns:abstractCamelFactoryBean">
+        <xs:sequence/>
+        <xs:attribute name="defaultEndpoint" type="xs:string">
           <xs:annotation>
             <xs:documentation xml:lang="en"><![CDATA[
-Sets the group key to use. The default value is CamelHystrix.. Default value:
-CamelHystrix
+Sets the default endpoint URI used by default for sending message exchanges
             ]]></xs:documentation>
           </xs:annotation>
         </xs:attribute>
-        <xs:attribute name="threadPoolKey" type="xs:string">
+        <xs:attribute name="maximumCacheSize" type="xs:int">
           <xs:annotation>
             <xs:documentation xml:lang="en"><![CDATA[
-Sets the thread pool key to use. Will by default use the same value as groupKey
-has been configured to use.. Default value: CamelHystrix
+Sets a custom maximum cache size to use in the backing cache pools.
             ]]></xs:documentation>
           </xs:annotation>
         </xs:attribute>
-        <xs:attribute name="circuitBreakerEnabled" type="xs:boolean">
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="camelFluentProducerTemplateFactoryBean">
+    <xs:complexContent>
+      <xs:extension base="tns:abstractCamelFluentProducerTemplateFactoryBean">
+        <xs:sequence/>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType abstract="true" name="abstractCamelFluentProducerTemplateFactoryBean">
+    <xs:complexContent>
+      <xs:extension base="tns:abstractCamelFactoryBean">
+        <xs:sequence/>
+        <xs:attribute name="defaultEndpoint" type="xs:string">
           <xs:annotation>
             <xs:documentation xml:lang="en"><![CDATA[
-Whether to use a HystrixCircuitBreaker or not. If false no circuit-breaker logic
-will be used and all requests permitted. This is similar in effect to
-circuitBreakerForceClosed() except that continues tracking metrics and knowing
-whether it should be open/closed this property results in not even instantiating
-a circuit-breaker.. Default value: true
+Sets the default endpoint URI used by default for sending message exchanges
             ]]></xs:documentation>
           </xs:annotation>
         </xs:attribute>
-        <xs:attribute name="circuitBreakerErrorThresholdPercentage" type="xs:int">
+        <xs:attribute name="maximumCacheSize" type="xs:int">
           <xs:annotation>
             <xs:documentation xml:lang="en"><![CDATA[
-Error percentage threshold (as whole number such as 50) at which point the
-circuit breaker will trip open and reject requests. It will stay tripped for the
-duration defined in circuitBreakerSleepWindowInMilliseconds; The error
-percentage this is compared against comes from
-HystrixCommandMetrics.getHealthCounts().. Default value: 50
+Sets a custom maximum cache size to use in the backing cache pools.
             ]]></xs:documentation>
           </xs:annotation>
         </xs:attribute>
-        <xs:attribute name="circuitBreakerForceClosed" type="xs:boolean">
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="camelProxyFactoryBean">
+    <xs:complexContent>
+      <xs:extension base="tns:abstractCamelFactoryBean">
+        <xs:sequence/>
+        <xs:attribute name="serviceUrl" type="xs:string"/>
+        <xs:attribute name="serviceRef" type="xs:string"/>
+        <xs:attribute name="serviceInterface" type="xs:string"/>
+        <xs:attribute name="binding" type="xs:boolean"/>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="camelErrorHandlerFactoryBean">
+    <xs:complexContent>
+      <xs:extension base="tns:abstractCamelFactoryBean">
+        <xs:sequence>
+          <xs:element minOccurs="0" ref="tns:redeliveryPolicy"/>
+        </xs:sequence>
+        <xs:attribute name="type" type="tns:errorHandlerType">
           <xs:annotation>
             <xs:documentation xml:lang="en"><![CDATA[
-If true the HystrixCircuitBreakerallowRequest() will always return true to allow
-requests regardless of the error percentage from
-HystrixCommandMetrics.getHealthCounts(). The circuitBreakerForceOpen() property
-takes precedence so if it set to true this property does nothing.. Default
-value: true
+The type of the error handler. Default value: DefaultErrorHandler
             ]]></xs:documentation>
           </xs:annotation>
         </xs:attribute>
-        <xs:attribute name="circuitBreakerForceOpen" type="xs:boolean">
+        <xs:attribute name="deadLetterUri" type="xs:string">
           <xs:annotation>
             <xs:documentation xml:lang="en"><![CDATA[
-If true the HystrixCircuitBreaker.allowRequest() will always return false
-causing the circuit to be open (tripped) and reject all requests. This property
-takes precedence over circuitBreakerForceClosed();. Default value: false
+The dead letter endpoint uri for the Dead Letter error handler.
             ]]></xs:documentation>
           </xs:annotation>
         </xs:attribute>
-        <xs:attribute name="circuitBreakerRequestVolumeThreshold" type="xs:int">
+        <xs:attribute name="deadLetterHandleNewException" type="xs:boolean">
           <xs:annotation>
             <xs:documentation xml:lang="en"><![CDATA[
-Minimum number of requests in the
-metricsRollingStatisticalWindowInMilliseconds() that must exist before the
-HystrixCircuitBreaker will trip. If below this number the circuit will not trip
-regardless of error percentage.. Default value: 20
+Whether the dead letter channel should handle (and ignore) any new exception
+that may been thrown during sending the message to the dead letter endpoint. The
+default value is true which means any such kind of exception is handled and
+ignored. Set this to false to let the exception be propagated back on the
+org.apache.camel.Exchange. This can be used in situations where you use
+transactions, and want to use Camel's dead letter channel to deal with
+exceptions during routing, but if the dead letter channel itself fails because
+of a new exception being thrown, then by setting this to false the new
+exceptions is propagated back and set on the org.apache.camel.Exchange, which
+allows the transaction to detect the exception, and rollback.
             ]]></xs:documentation>
           </xs:annotation>
         </xs:attribute>
-        <xs:attribute name="circuitBreakerSleepWindowInMilliseconds" type="xs:int">
+        <xs:attribute name="level" type="tns:loggingLevel">
           <xs:annotation>
             <xs:documentation xml:lang="en"><![CDATA[
-The time in milliseconds after a HystrixCircuitBreaker trips open that it should
-wait before trying requests again.. Default value: 5000
+Logging level to use when using the logging error handler type. Default value:
+ERROR
             ]]></xs:documentation>
           </xs:annotation>
         </xs:attribute>
-        <xs:attribute name="executionIsolationSemaphoreMaxConcurrentRequests" type="xs:int">
+        <xs:attribute name="logName" type="xs:string">
           <xs:annotation>
             <xs:documentation xml:lang="en"><![CDATA[
-Number of concurrent requests permitted to HystrixCommand.run(). Requests beyond
-the concurrent limit will be rejected. Applicable only when
-executionIsolationStrategy == SEMAPHORE.. Default value: 20
+Name of the logger to use for the logging error handler
             ]]></xs:documentation>
           </xs:annotation>
         </xs:attribute>
-        <xs:attribute name="executionIsolationStrategy" type="xs:string">
+        <xs:attribute name="useOriginalMessage" type="xs:boolean">
           <xs:annotation>
             <xs:documentation xml:lang="en"><![CDATA[
-What isolation strategy HystrixCommand.run() will be executed with. If THREAD
-then it will be executed on a separate thread and concurrent requests limited by
-the number of threads in the thread-pool. If SEMAPHORE then it will be executed
-on the calling thread and concurrent requests limited by the semaphore count..
-Default value: THREAD
+Will use the original input message when an org.apache.camel.Exchange is moved
+to the dead letter queue. Notice: this only applies when all redeliveries
+attempt have failed and the org.apache.camel.Exchange is doomed for failure.
+Instead of using the current inprogress org.apache.camel.Exchange IN body we use
+the original IN body instead. This allows you to store the original input in the
+dead letter queue instead of the inprogress snapshot of the IN body. For
+instance if you route transform the IN body during routing and then failed. With
+the original exchange store in the dead letter queue it might be easier to
+manually re submit the org.apache.camel.Exchange again as the IN body is the
+same as when Camel received it. So you should be able to send the
+org.apache.camel.Exchange to the same input. By default this feature is off.
+Default value: false
             ]]></xs:documentation>
           </xs:annotation>
         </xs:attribute>
-        <xs:attribute name="executionIsolationThreadInterruptOnTimeout" type="xs:boolean">
+        <xs:attribute name="onRedeliveryRef" type="xs:string">
           <xs:annotation>
             <xs:documentation xml:lang="en"><![CDATA[
-Whether the execution thread should attempt an interrupt (using link
-Futurecancel) when a thread times out. Applicable only when
-executionIsolationStrategy() == THREAD.. Default value: true
+Sets a reference to a processor that should be processed before a redelivery
+attempt. Can be used to change the org.apache.camel.Exchange before its being
+redelivered.
             ]]></xs:documentation>
           </xs:annotation>
         </xs:attribute>
-        <xs:attribute name="executionTimeoutInMilliseconds" type="xs:int">
+        <xs:attribute name="onPrepareFailureRef" type="xs:string">
           <xs:annotation>
             <xs:documentation xml:lang="en"><![CDATA[
-Time in milliseconds at which point the command will timeout and halt execution.
-If link executionIsolationThreadInterruptOnTimeout == true and the command is
-thread-isolated the executing thread will be interrupted. If the command is
-semaphore-isolated and a HystrixObservableCommand that command will get
-unsubscribed.. Default value: 1000
+Sets a reference to a processor to prepare the org.apache.camel.Exchange before
+handled by the failure processor / dead letter channel. This allows for example
+to enrich the message before sending to a dead letter queue.
             ]]></xs:documentation>
           </xs:annotation>
         </xs:attribute>
-        <xs:attribute name="executionTimeoutEnabled" type="xs:boolean">
+        <xs:attribute name="onExceptionOccurredRef" type="xs:string">
           <xs:annotation>
             <xs:documentation xml:lang="en"><![CDATA[
-Whether the timeout mechanism is enabled for this command. Default value: true
+Sets a reference to a processor that should be processed just after an exception
+occurred. Can be used to perform custom logging about the occurred exception at
+the exact time it happened. Important: Any exception thrown from this processor
+will be ignored.
             ]]></xs:documentation>
           </xs:annotation>
         </xs:attribute>
-        <xs:attribute name="fallbackIsolationSemaphoreMaxConcurrentRequests" type="xs:int">
+        <xs:attribute name="retryWhileRef" type="xs:string">
           <xs:annotation>
             <xs:documentation xml:lang="en"><![CDATA[
-Number of concurrent requests permitted to HystrixCommand.getFallback().
-Requests beyond the concurrent limit will fail-fast and not attempt retrieving a
-fallback.. Default value: 10
+Sets a reference to an retry while expression. Will continue retrying until
+expression evaluates to false.
             ]]></xs:documentation>
           </xs:annotation>
         </xs:attribute>
-        <xs:attribute name="fallbackEnabled" type="xs:boolean">
+        <xs:attribute name="executorServiceRef" type="xs:string">
           <xs:annotation>
             <xs:documentation xml:lang="en"><![CDATA[
-Whether HystrixCommand.getFallback() should be attempted when failure occurs..
-Default value: true
+Sets a reference to a thread pool to be used by the error handler
             ]]></xs:documentation>
           </xs:annotation>
         </xs:attribute>
-        <xs:attribute name="metricsHealthSnapshotIntervalInMilliseconds" type="xs:int">
+        <xs:attribute name="redeliveryPolicyRef" type="xs:string">
           <xs:annotation>
             <xs:documentation xml:lang="en"><![CDATA[
-Time in milliseconds to wait between allowing health snapshots to be taken that
-calculate success and error percentages and affect
-HystrixCircuitBreaker.isOpen() status. On high-volume circuits the continual
-calculation of error percentage can become CPU intensive thus this controls how
-often it is calculated.. Default value: 500
+Sets a reference to a RedeliveryPolicy to be used for redelivery settings.
             ]]></xs:documentation>
           </xs:annotation>
         </xs:attribute>
-        <xs:attribute name="metricsRollingPercentileBucketSize" type="xs:int">
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="redeliveryPolicyDefinition">
+    <xs:sequence/>
+    <xs:attribute name="maximumRedeliveries" type="xs:string">
+      <xs:annotation>
+        <xs:documentation xml:lang="en"><![CDATA[
+Sets the maximum redeliveries x = redeliver at most x times 0 = no redeliveries
+-1 = redeliver forever
+        ]]></xs:documentation>
+      </xs:annotation>
+    </xs:attribute>
+    <xs:attribute name="redeliveryDelay" type="xs:string">
+      <xs:annotation>
+        <xs:documentation xml:lang="en"><![CDATA[
+Sets the initial redelivery delay
+        ]]></xs:documentation>
+      </xs:annotation>
+    </xs:attribute>
+    <xs:attribute name="asyncDelayedRedelivery" type="xs:string">
+      <xs:annotation>
+        <xs:documentation xml:lang="en"><![CDATA[
+Allow synchronous delayed redelivery. The route, in particular the consumer's
+component, must support the Asynchronous Routing Engine (e.g. seda).
+        ]]></xs:documentation>
+      </xs:annotation>
+    </xs:attribute>
+    <xs:attribute name="backOffMultiplier" type="xs:string">
+      <xs:annotation>
+        <xs:documentation xml:lang="en"><![CDATA[
+Sets the back off multiplier
+        ]]></xs:documentation>
+      </xs:annotation>
+    </xs:attribute>
+    <xs:attribute name="useExponentialBackOff" type="xs:string">
+      <xs:annotation>
+        <xs:documentation xml:lang="en"><![CDATA[
+Turn on exponential backk off
+        ]]></xs:documentation>
+      </xs:annotation>
+    </xs:attribute>
+    <xs:attribute name="collisionAvoidanceFactor" type="xs:string">
+      <xs:annotation>
+        <xs:documentation xml:lang="en"><![CDATA[
+Sets the collision avoidance factor
+        ]]></xs:documentation>
+      </xs:annotation>
+    </xs:attribute>
+    <xs:attribute name="useCollisionAvoidance" type="xs:string">
+      <xs:annotation>
+        <xs:documentation xml:lang="en"><![CDATA[
+Turn on collision avoidance.
+        ]]></xs:documentation>
+      </xs:annotation>
+    </xs:attribute>
+    <xs:attribute name="maximumRedeliveryDelay" type="xs:string">
+      <xs:annotation>
+        <xs:documentation xml:lang="en"><![CDATA[
+Sets the maximum delay between redelivery
+        ]]></xs:documentation>
+      </xs:annotation>
+    </xs:attribute>
+    <xs:attribute name="retriesExhaustedLogLevel" type="tns:loggingLevel">
+      <xs:annotation>
+        <xs:documentation xml:lang="en"><![CDATA[
+Sets the logging level to use when retries has exhausted
+        ]]></xs:documentation>
+      </xs:annotation>
+    </xs:attribute>
+    <xs:attribute name="retryAttemptedLogLevel" type="tns:loggingLevel">
+      <xs:annotation>
+        <xs:documentation xml:lang="en"><![CDATA[
+Sets the logging level to use for logging retry attempts
+        ]]></xs:documentation>
+      </xs:annotation>
+    </xs:attribute>
+    <xs:attribute name="logRetryAttempted" type="xs:string">
+      <xs:annotation>
+        <xs:documentation xml:lang="en"><![CDATA[
+Sets whether retry attempts should be logged or not. Can be used to include or
+reduce verbose.
+        ]]></xs:documentation>
+      </xs:annotation>
+    </xs:attribute>
+    <xs:attribute name="logStackTrace" type="xs:string">
+      <xs:annotation>
+        <xs:documentation xml:lang="en"><![CDATA[
+Sets whether stack traces should be logged. Can be used to include or reduce
+verbose.
+        ]]></xs:documentation>
+      </xs:annotation>
+    </xs:attribute>
+    <xs:attribute name="logRetryStackTrace" type="xs:string">
+      <xs:annotation>
+        <xs:documentation xml:lang="en"><![CDATA[
+Sets whether stack traces should be logged when an retry attempt failed. Can be
+used to include or reduce verbose.
+        ]]></xs:documentation>
+      </xs:annotation>
+    </xs:attribute>
+    <xs:attribute name="logHandled" type="xs:string">
+      <xs:annotation>
+        <xs:documentation xml:lang="en"><![CDATA[
+Sets whether handled exceptions should be logged or not. Can be used to include
+or reduce verbose.
+        ]]></xs:documentation>
+      </xs:annotation>
+    </xs:attribute>
+    <xs:attribute name="logNewException" type="xs:string">
+      <xs:annotation>
+        <xs:documentation xml:lang="en"><![CDATA[
+Sets whether new exceptions should be logged or not. Can be used to include or
+reduce verbose. A new exception is an exception that was thrown while handling a
+previous exception.
+        ]]></xs:documentation>
+      </xs:annotation>
+    </xs:attribute>
+    <xs:attribute name="logContinued" type="xs:string">
+      <xs:annotation>
+        <xs:documentation xml:lang="en"><![CDATA[
+Sets whether continued exceptions should be logged or not. Can be used to
+include or reduce verbose.
+        ]]></xs:documentation>
+      </xs:annotation>
+    </xs:attribute>
+    <xs:attribute name="logExhausted" type="xs:string">
+      <xs:annotation>
+        <xs:documentation xml:lang="en"><![CDATA[
+Sets whether exhausted exceptions should be logged or not. Can be used to
+include or reduce verbose.
+        ]]></xs:documentation>
+      </xs:annotation>
+    </xs:attribute>
+    <xs:attribute name="logExhaustedMessageHistory" type="xs:string">
+      <xs:annotation>
+        <xs:documentation xml:lang="en"><![CDATA[
+Sets whether exhausted exceptions should be logged including message history or
+not (supports property placeholders). Can be used to include or reduce verbose.
+        ]]></xs:documentation>
+      </xs:annotation>
+    </xs:attribute>
+    <xs:attribute name="logExhaustedMessageBody" type="xs:string">
+      <xs:annotation>
+        <xs:documentation xml:lang="en"><![CDATA[
+Sets whether exhausted message body should be logged including message history
+or not (supports property placeholders). Can be used to include or reduce
+verbose. Requires logExhaustedMessageHistory to be enabled.
+        ]]></xs:documentation>
+      </xs:annotation>
+    </xs:attribute>
+    <xs:attribute name="disableRedelivery" type="xs:string">
+      <xs:annotation>
+        <xs:documentation xml:lang="en"><![CDATA[
+Disables redelivery (same as setting maximum redeliveries to 0)
+        ]]></xs:documentation>
+      </xs:annotation>
+    </xs:attribute>
+    <xs:attribute name="delayPattern" type="xs:string">
+      <xs:annotation>
+        <xs:documentation xml:lang="en"><![CDATA[
+Sets the delay pattern with delay intervals.
+        ]]></xs:documentation>
+      </xs:annotation>
+    </xs:attribute>
+    <xs:attribute name="allowRedeliveryWhileStopping" type="xs:string">
+      <xs:annotation>
+        <xs:documentation xml:lang="en"><![CDATA[
+Controls whether to allow redelivery while stopping/shutting down a route that
+uses error handling.
+        ]]></xs:documentation>
+      </xs:annotation>
+    </xs:attribute>
+    <xs:attribute name="exchangeFormatterRef" type="xs:string">
+      <xs:annotation>
+        <xs:documentation xml:lang="en"><![CDATA[
+Sets the reference of the instance of org.apache.camel.spi.ExchangeFormatter to
+generate the log message from exchange.
+        ]]></xs:documentation>
+      </xs:annotation>
+    </xs:attribute>
+  </xs:complexType>
+
+  <xs:complexType name="camelServiceExporterDefinition">
+    <xs:complexContent>
+      <xs:extension base="tns:identifiedType">
+        <xs:sequence/>
+        <xs:attribute name="uri" type="xs:string" use="required">
           <xs:annotation>
             <xs:documentation xml:lang="en"><![CDATA[
-Maximum number of values stored in each bucket of the rolling percentile. This
-is passed into HystrixRollingPercentile inside HystrixCommandMetrics.. Default
-value: 10
+Camel endpoint uri to use a remote transport when calling the service
             ]]></xs:documentation>
           </xs:annotation>
         </xs:attribute>
-        <xs:attribute name="metricsRollingPercentileEnabled" type="xs:boolean">
+        <xs:attribute name="serviceRef" type="xs:string">
           <xs:annotation>
             <xs:documentation xml:lang="en"><![CDATA[
-Whether percentile metrics should be captured using HystrixRollingPercentile
-inside HystrixCommandMetrics.. Default value: true
+Reference to the service name to lookup in the registry.
             ]]></xs:documentation>
           </xs:annotation>
         </xs:attribute>
-        <xs:attribute name="metricsRollingPercentileWindowInMilliseconds" type="xs:int">
+        <xs:attribute name="serviceInterface" type="xs:string">
           <xs:annotation>
             <xs:documentation xml:lang="en"><![CDATA[
-Duration of percentile rolling window in milliseconds. This is passed into
-HystrixRollingPercentile inside HystrixCommandMetrics.. Default value: 10000
+Java interfaces to use as facade for the service to be exported
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="camelContextId" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+The id of the CamelContext to use, if there is multiple CamelContext in the same
+JVM.
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="serviceCallConfigurationDefinition">
+    <xs:complexContent>
+      <xs:extension base="tns:identifiedType">
+        <xs:sequence>
+          <xs:choice minOccurs="0">
+            <xs:element ref="tns:cachingServiceDiscovery"/>
+            <xs:element name="aggregatingServiceDiscovery" type="tns:aggregatingServiceCallServiceDiscoveryConfiguration"/>
+            <xs:element ref="tns:consulServiceDiscovery"/>
+            <xs:element ref="tns:dnsServiceDiscovery"/>
+            <xs:element ref="tns:etcdServiceDiscovery"/>
+            <xs:element ref="tns:kubernetesServiceDiscovery"/>
+            <xs:element ref="tns:staticServiceDiscovery"/>
+            <xs:element ref="tns:zookeeperServiceDiscovery"/>
+          </xs:choice>
+          <xs:choice minOccurs="0">
+            <xs:element ref="tns:blacklistServiceFilter"/>
+            <xs:element name="chainedServiceFilter" type="tns:chainedServiceCallServiceFilterConfiguration"/>
+            <xs:element ref="tns:customServiceFilter"/>
+            <xs:element ref="tns:healthyServiceFilter"/>
+            <xs:element ref="tns:passThroughServiceFilter"/>
+          </xs:choice>
+          <xs:choice minOccurs="0">
+            <xs:element ref="tns:ribbonLoadBalancer"/>
+            <xs:element ref="tns:defaultLoadBalancer"/>
+          </xs:choice>
+          <xs:element minOccurs="0" name="expression" type="tns:serviceCallExpressionConfiguration"/>
+        </xs:sequence>
+        <xs:attribute name="uri" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+The uri of the endpoint to send to. The uri can be dynamic computed using the
+org.apache.camel.language.simple.SimpleLanguage expression.
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="component" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+The component to use. Default value: http4
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="pattern" type="tns:exchangePattern">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+Sets the optional ExchangePattern used to invoke this endpoint
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="serviceDiscoveryRef" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+Sets a reference to a custom ServiceDiscovery to use.
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="serviceFilterRef" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+Sets a reference to a custom ServiceFilter to use.
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="serviceChooserRef" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+Sets a reference to a custom ServiceChooser to use.
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="loadBalancerRef" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+Sets a reference to a custom ServiceLoadBalancer to use.
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="expressionRef" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+Set a reference to a custom Expression to use.
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="cachingServiceCallServiceDiscoveryConfiguration">
+    <xs:complexContent>
+      <xs:extension base="tns:serviceCallServiceDiscoveryConfiguration">
+        <xs:sequence>
+          <xs:choice minOccurs="0">
+            <xs:element ref="tns:consulServiceDiscovery"/>
+            <xs:element ref="tns:dnsServiceDiscovery"/>
+            <xs:element ref="tns:etcdServiceDiscovery"/>
+            <xs:element ref="tns:kubernetesServiceDiscovery"/>
+            <xs:element name="aggregatingServiceDiscovery" type="tns:aggregatingServiceCallServiceDiscoveryConfiguration"/>
+            <xs:element ref="tns:staticServiceDiscovery"/>
+          </xs:choice>
+        </xs:sequence>
+        <xs:attribute name="timeout" type="xs:int">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+Set the time the services will be retained. Default value: 60
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="units" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+Set the time unit for the timeout. Default value: SECONDS
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="serviceCallServiceDiscoveryConfiguration">
+    <xs:complexContent>
+      <xs:extension base="tns:identifiedType">
+        <xs:sequence>
+          <xs:element maxOccurs="unbounded" minOccurs="0" name="properties" type="tns:propertyDefinition"/>
+        </xs:sequence>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="consulServiceCallServiceDiscoveryConfiguration">
+    <xs:complexContent>
+      <xs:extension base="tns:serviceCallServiceDiscoveryConfiguration">
+        <xs:sequence/>
+        <xs:attribute name="url" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+The Consul agent URL
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="datacenter" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+The data center
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="aclToken" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+Sets the ACL token to be used with Consul
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="userName" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+Sets the username to be used for basic authentication
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="password" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+Sets the password to be used for basic authentication
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="connectTimeoutMillis" type="xs:long">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+Connect timeout for OkHttpClient
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="readTimeoutMillis" type="xs:long">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+Read timeout for OkHttpClient
             ]]></xs:documentation>
           </xs:annotation>
         </xs:attribute>
-        <xs:attribute name="metricsRollingPercentileWindowBuckets" type="xs:int">
+        <xs:attribute name="writeTimeoutMillis" type="xs:long">
           <xs:annotation>
             <xs:documentation xml:lang="en"><![CDATA[
-Number of buckets the rolling percentile window is broken into. This is passed
-into HystrixRollingPercentile inside HystrixCommandMetrics.. Default value: 6
+Write timeout for OkHttpClient

[... 5684 lines stripped ...]