You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by gz...@apache.org on 2017/03/12 15:20:17 UTC

svn commit: r1008187 [2/2] - /websites/production/camel/content/schema/blueprint/camel-blueprint.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 Sun Mar 12 15:20:17 2017
@@ -80,7 +80,13 @@ Boon data format
     </xs:annotation>
   </xs:element>
 
-  <xs:element name="camelContext" type="tns:camelContextFactoryBean"/>
+  <xs:element name="camelContext" type="tns:camelContextFactoryBean">
+    <xs:annotation>
+      <xs:documentation xml:lang="en"><![CDATA[
+CamelContext using XML configuration.
+      ]]></xs:documentation>
+    </xs:annotation>
+  </xs:element>
 
   <xs:element name="castor" type="tns:castorDataFormat">
     <xs:annotation>
@@ -114,7 +120,21 @@ For expressions and predicates using a c
     </xs:annotation>
   </xs:element>
 
-  <xs:element name="consumerTemplate" type="tns:camelConsumerTemplateFactoryBean"/>
+  <xs:element name="consulConfiguration" type="tns:consulConfigurationDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en"><![CDATA[
+Consul remote service call configuration
+      ]]></xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="consumerTemplate" type="tns:camelConsumerTemplateFactoryBean">
+    <xs:annotation>
+      <xs:documentation xml:lang="en"><![CDATA[
+Configures a ConsumerTemplate
+      ]]></xs:documentation>
+    </xs:annotation>
+  </xs:element>
 
   <xs:element name="contextScan" type="tns:contextScanDefinition">
     <xs:annotation>
@@ -197,6 +217,14 @@ 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="doCatch" type="tns:catchDefinition">
     <xs:annotation>
       <xs:documentation xml:lang="en"><![CDATA[
@@ -237,7 +265,13 @@ For EL expressions and predicates
     </xs:annotation>
   </xs:element>
 
-  <xs:element name="endpoint" type="tns:camelEndpointFactoryBean"/>
+  <xs:element name="endpoint" type="tns:camelEndpointFactoryBean">
+    <xs:annotation>
+      <xs:documentation xml:lang="en"><![CDATA[
+Camel endpoint configuration
+      ]]></xs:documentation>
+    </xs:annotation>
+  </xs:element>
 
   <xs:element name="enrich" type="tns:enrichDefinition">
     <xs:annotation>
@@ -247,7 +281,21 @@ Enriches a message with data from a seco
     </xs:annotation>
   </xs:element>
 
-  <xs:element name="errorHandler" type="tns:camelErrorHandlerFactoryBean"/>
+  <xs:element name="errorHandler" type="tns:camelErrorHandlerFactoryBean">
+    <xs:annotation>
+      <xs:documentation xml:lang="en"><![CDATA[
+Error handler settings
+      ]]></xs:documentation>
+    </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="exchangeProperty" type="tns:exchangePropertyExpression">
     <xs:annotation>
@@ -257,7 +305,14 @@ An expression which extracts the named e
     </xs:annotation>
   </xs:element>
 
-  <xs:element name="export" type="tns:camelServiceExporterDefinition"/>
+  <xs:element name="export" type="tns:camelServiceExporterDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en"><![CDATA[
+Used for export a service using Spring Remoting to hide the network call using
+an interface.
+      ]]></xs:documentation>
+    </xs:annotation>
+  </xs:element>
 
   <xs:element name="expression" type="tns:expressionSubElementDefinition">
     <xs:annotation>
@@ -293,6 +348,14 @@ Flatpack data format
     </xs:annotation>
   </xs:element>
 
+  <xs:element name="fluentTemplate" type="tns:camelFluentProducerTemplateFactoryBean">
+    <xs:annotation>
+      <xs:documentation xml:lang="en"><![CDATA[
+Configures a org.apache.camel.FluentProducerTemplate
+      ]]></xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
   <xs:element name="from" type="tns:fromDefinition">
     <xs:annotation>
       <xs:documentation xml:lang="en"><![CDATA[
@@ -320,7 +383,7 @@ For Groovy expressions and predicates
   <xs:element name="gzip" type="tns:gzipDataFormat">
     <xs:annotation>
       <xs:documentation xml:lang="en"><![CDATA[
-GZip data format
+GZip compression data format
       ]]></xs:documentation>
     </xs:annotation>
   </xs:element>
@@ -357,6 +420,22 @@ HL7 data format
     </xs:annotation>
   </xs:element>
 
+  <xs:element name="hystrix" type="tns:hystrixDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en"><![CDATA[
+Hystrix Circuit Breaker EIP
+      ]]></xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="hystrixConfiguration" type="tns:hystrixConfigurationDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en"><![CDATA[
+Hystrix Circuit Breaker EIP configuration
+      ]]></xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
   <xs:element name="ical" type="tns:icalDataFormat">
     <xs:annotation>
       <xs:documentation xml:lang="en"><![CDATA[
@@ -445,12 +524,18 @@ JiBX data format
     </xs:annotation>
   </xs:element>
 
-  <xs:element name="jmxAgent" type="tns:camelJMXAgentDefinition"/>
+  <xs:element name="jmxAgent" type="tns:camelJMXAgentDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en"><![CDATA[
+JMX configuration.
+      ]]></xs:documentation>
+    </xs:annotation>
+  </xs:element>
 
   <xs:element name="json" type="tns:jsonDataFormat">
     <xs:annotation>
       <xs:documentation xml:lang="en"><![CDATA[
-Json data format
+JSon data format
       ]]></xs:documentation>
     </xs:annotation>
   </xs:element>
@@ -473,6 +558,14 @@ For JXPath expressions and predicates
 
   <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="language" type="tns:languageExpression">
     <xs:annotation>
       <xs:documentation xml:lang="en"><![CDATA[
@@ -509,7 +602,7 @@ Processes a message multiple times
   <xs:element name="lzf" type="tns:lzfDataFormat">
     <xs:annotation>
       <xs:documentation xml:lang="en"><![CDATA[
-lzf data format
+LZF compression data format
       ]]></xs:documentation>
     </xs:annotation>
   </xs:element>
@@ -579,6 +672,14 @@ Route to be executed when an exception i
     </xs:annotation>
   </xs:element>
 
+  <xs:element name="onFallback" type="tns:onFallbackDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en"><![CDATA[
+Route to be executed when Hystrix EIP executes fallback
+      ]]></xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
   <xs:element name="optimisticLockRetryPolicy" type="tns:optimisticLockRetryPolicyDefinition">
     <xs:annotation>
       <xs:documentation xml:lang="en"><![CDATA[
@@ -691,7 +792,13 @@ A series of key value pair
     </xs:annotation>
   </xs:element>
 
-  <xs:element name="propertiesFunction" type="tns:camelPropertyPlaceholderFunctionDefinition"/>
+  <xs:element name="propertiesFunction" type="tns:camelPropertyPlaceholderFunctionDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en"><![CDATA[
+Function to use with properties placeholder
+      ]]></xs:documentation>
+    </xs:annotation>
+  </xs:element>
 
   <xs:element name="property" type="tns:propertyDefinition">
     <xs:annotation>
@@ -701,7 +808,13 @@ A key value pair
     </xs:annotation>
   </xs:element>
 
-  <xs:element name="propertyPlaceholder" type="tns:camelPropertyPlaceholderDefinition"/>
+  <xs:element name="propertyPlaceholder" type="tns:camelPropertyPlaceholderDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en"><![CDATA[
+Properties placeholder
+      ]]></xs:documentation>
+    </xs:annotation>
+  </xs:element>
 
   <xs:element name="protobuf" type="tns:protobufDataFormat">
     <xs:annotation>
@@ -711,7 +824,13 @@ Google protobuf data format
     </xs:annotation>
   </xs:element>
 
-  <xs:element name="proxy" nillable="true" type="xs:anyType"/>
+  <xs:element name="proxy" nillable="true" type="xs:anyType">
+    <xs:annotation>
+      <xs:documentation xml:lang="en"><![CDATA[
+To proxy a service call using a interface
+      ]]></xs:documentation>
+    </xs:annotation>
+  </xs:element>
 
   <xs:element name="put" type="tns:putVerbDefinition">
     <xs:annotation>
@@ -753,7 +872,13 @@ To configure re-delivery for error handl
     </xs:annotation>
   </xs:element>
 
-  <xs:element name="redeliveryPolicyProfile" type="tns:camelRedeliveryPolicyFactoryBean"/>
+  <xs:element name="redeliveryPolicyProfile" type="tns:camelRedeliveryPolicyFactoryBean">
+    <xs:annotation>
+      <xs:documentation xml:lang="en"><![CDATA[
+Configuration of redelivery policy.
+      ]]></xs:documentation>
+    </xs:annotation>
+  </xs:element>
 
   <xs:element name="ref" type="tns:refExpression">
     <xs:annotation>
@@ -843,7 +968,13 @@ To configure rest
     </xs:annotation>
   </xs:element>
 
-  <xs:element name="restContext" type="tns:camelRestContextFactoryBean"/>
+  <xs:element name="restContext" type="tns:camelRestContextFactoryBean">
+    <xs:annotation>
+      <xs:documentation xml:lang="en"><![CDATA[
+Configuration of REST services using rest-dsl using XML
+      ]]></xs:documentation>
+    </xs:annotation>
+  </xs:element>
 
   <xs:element name="restContextRef" type="tns:restContextRefDefinition">
     <xs:annotation>
@@ -869,6 +1000,14 @@ 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="rollback" type="tns:rollbackDefinition">
     <xs:annotation>
       <xs:documentation xml:lang="en"><![CDATA[
@@ -901,7 +1040,13 @@ To refer to a Java org.apache.camel.buil
     </xs:annotation>
   </xs:element>
 
-  <xs:element name="routeContext" type="tns:camelRouteContextFactoryBean"/>
+  <xs:element name="routeContext" type="tns:camelRouteContextFactoryBean">
+    <xs:annotation>
+      <xs:documentation xml:lang="en"><![CDATA[
+Configuration of routes using XML
+      ]]></xs:documentation>
+    </xs:annotation>
+  </xs:element>
 
   <xs:element name="routeContextRef" type="tns:routeContextRefDefinition">
     <xs:annotation>
@@ -964,7 +1109,7 @@ 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
+XML-Security data format
       ]]></xs:documentation>
     </xs:annotation>
   </xs:element>
@@ -977,6 +1122,16 @@ Java Object Serialization data format
     </xs:annotation>
   </xs:element>
 
+  <xs:element name="serviceCall" type="tns:serviceCallDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en"><![CDATA[
+Remote service call
+      ]]></xs:documentation>
+    </xs:annotation>
+  </xs:element>
+
+  <xs:element name="serviceCallConfiguration" type="tns:serviceCallConfigurationDefinition"/>
+
   <xs:element name="setBody" type="tns:setBodyDefinition">
     <xs:annotation>
       <xs:documentation xml:lang="en"><![CDATA[
@@ -1099,12 +1254,18 @@ Configures stream-processing resequence
     </xs:annotation>
   </xs:element>
 
-  <xs:element name="streamCaching" type="tns:camelStreamCachingStrategyDefinition"/>
+  <xs:element name="streamCaching" type="tns:camelStreamCachingStrategyDefinition">
+    <xs:annotation>
+      <xs:documentation xml:lang="en"><![CDATA[
+Stream caching configuration.
+      ]]></xs:documentation>
+    </xs:annotation>
+  </xs:element>
 
   <xs:element name="string" type="tns:stringDataFormat">
     <xs:annotation>
       <xs:documentation xml:lang="en"><![CDATA[
-Represents the String (text based) DataFormat
+String (text based) data format
       ]]></xs:documentation>
     </xs:annotation>
   </xs:element>
@@ -1120,12 +1281,18 @@ Syslog data format
   <xs:element name="tarfile" type="tns:tarFileDataFormat">
     <xs:annotation>
       <xs:documentation xml:lang="en"><![CDATA[
-Represents the TAR file XML org.apache.camel.spi.DataFormat.
+TAR file data format
       ]]></xs:documentation>
     </xs:annotation>
   </xs:element>
 
-  <xs:element name="template" type="tns:camelProducerTemplateFactoryBean"/>
+  <xs:element name="template" type="tns:camelProducerTemplateFactoryBean">
+    <xs:annotation>
+      <xs:documentation xml:lang="en"><![CDATA[
+Configures a ProducerTemplate
+      ]]></xs:documentation>
+    </xs:annotation>
+  </xs:element>
 
   <xs:element name="terser" type="tns:terserExpression">
     <xs:annotation>
@@ -1135,7 +1302,13 @@ For HL7 terser expressions and predicate
     </xs:annotation>
   </xs:element>
 
-  <xs:element name="threadPool" type="tns:camelThreadPoolFactoryBean"/>
+  <xs:element name="threadPool" type="tns:camelThreadPoolFactoryBean">
+    <xs:annotation>
+      <xs:documentation xml:lang="en"><![CDATA[
+Configuration of thread pools
+      ]]></xs:documentation>
+    </xs:annotation>
+  </xs:element>
 
   <xs:element name="threadPoolProfile" type="tns:threadPoolProfileDefinition">
     <xs:annotation>
@@ -1196,7 +1369,7 @@ 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.
+For expressions and predicates using a body or header tokenizer
       ]]></xs:documentation>
     </xs:annotation>
   </xs:element>
@@ -1225,6 +1398,8 @@ Transforms the message body based on an
     </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[
@@ -1282,15 +1457,6 @@ Rest command
     </xs:annotation>
   </xs:element>
 
-  <xs:element name="vtdxml" type="tns:vtdXmlExpression">
-    <xs:annotation>
-      <xs:documentation xml:lang="en"><![CDATA[
-For VTD-XML (fast and efficient XPath) expressions and predicates (requires
-using camel-vtdxml from Camel-Extra)
-      ]]></xs:documentation>
-    </xs:annotation>
-  </xs:element>
-
   <xs:element name="weighted" type="tns:weightedLoadBalancerDefinition">
     <xs:annotation>
       <xs:documentation xml:lang="en"><![CDATA[
@@ -1336,7 +1502,7 @@ 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
       ]]></xs:documentation>
     </xs:annotation>
   </xs:element>
@@ -1344,7 +1510,7 @@ xml-json data format
   <xs:element name="xmlrpc" type="tns:xmlRpcDataFormat">
     <xs:annotation>
       <xs:documentation xml:lang="en"><![CDATA[
-xml-rpc data format
+XML-RPC data format
       ]]></xs:documentation>
     </xs:annotation>
   </xs:element>
@@ -1368,7 +1534,7 @@ 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
       ]]></xs:documentation>
     </xs:annotation>
   </xs:element>
@@ -1376,7 +1542,7 @@ 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.
+For expressions and predicates using a body or header tokenizer
       ]]></xs:documentation>
     </xs:annotation>
   </xs:element>
@@ -1392,7 +1558,7 @@ YAML data format
   <xs:element name="zip" type="tns:zipDataFormat">
     <xs:annotation>
       <xs:documentation xml:lang="en"><![CDATA[
-zip data format (not for zip files)
+Zip compression data format (not for zip files)
       ]]></xs:documentation>
     </xs:annotation>
   </xs:element>
@@ -1400,7 +1566,7 @@ zip data format (not for zip files)
   <xs:element name="zipFile" type="tns:zipFileDataFormat">
     <xs:annotation>
       <xs:documentation xml:lang="en"><![CDATA[
-zip-file data format
+Zip-file data format
       ]]></xs:documentation>
     </xs:annotation>
   </xs:element>
@@ -1417,7 +1583,13 @@ zip-file data format
     <xs:complexContent>
       <xs:extension base="tns:abstractCamelFactoryBean">
         <xs:sequence/>
-        <xs:attribute name="maximumCacheSize" type="xs:int"/>
+        <xs:attribute name="maximumCacheSize" type="xs:int">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+Sets a custom maximum cache size to use in the backing cache pools.
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
       </xs:extension>
     </xs:complexContent>
   </xs:complexType>
@@ -1426,7 +1598,13 @@ zip-file data format
     <xs:complexContent>
       <xs:extension base="tns:identifiedType">
         <xs:sequence/>
-        <xs:attribute name="camelContextId" type="xs:string"/>
+        <xs:attribute name="camelContextId" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+Id of CamelContext to use if there are multiple CamelContexts in the same JVM
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
       </xs:extension>
     </xs:complexContent>
   </xs:complexType>
@@ -1454,7 +1632,14 @@ 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"/>
@@ -1477,174 +1662,1257 @@ Sets the value of the id property.
           <xs:element maxOccurs="unbounded" minOccurs="0" ref="tns:rest"/>
           <xs:element maxOccurs="unbounded" minOccurs="0" ref="tns:route"/>
         </xs:sequence>
-        <xs:attribute name="depends-on" type="xs:string"/>
-        <xs:attribute name="trace" type="xs:string"/>
-        <xs:attribute name="messageHistory" type="xs:string"/>
-        <xs:attribute name="streamCache" type="xs:string"/>
-        <xs:attribute name="delayer" type="xs:string"/>
-        <xs:attribute name="handleFault" type="xs:string"/>
-        <xs:attribute name="errorHandlerRef" type="xs:string"/>
-        <xs:attribute name="autoStartup" type="xs:string"/>
-        <xs:attribute name="useMDCLogging" type="xs:string"/>
-        <xs:attribute name="useBreadcrumb" type="xs:string"/>
-        <xs:attribute name="allowUseOriginalMessage" type="xs:string"/>
-        <xs:attribute name="runtimeEndpointRegistryEnabled" type="xs:string"/>
-        <xs:attribute name="managementNamePattern" type="xs:string"/>
-        <xs:attribute name="threadNamePattern" type="xs:string"/>
-        <xs:attribute name="useBlueprintPropertyResolver" type="xs:boolean"/>
-        <xs:attribute name="shutdownRoute" type="tns:shutdownRoute"/>
-        <xs:attribute name="shutdownRunningTask" type="tns:shutdownRunningTask"/>
-        <xs:attribute name="lazyLoadTypeConverters" type="xs:boolean"/>
-        <xs:attribute name="typeConverterStatisticsEnabled" type="xs:boolean"/>
-        <xs:attribute name="typeConverterExists" type="tns:typeConverterExists"/>
-        <xs:attribute name="typeConverterExistsLoggingLevel" type="tns:loggingLevel"/>
-      </xs:extension>
-    </xs:complexContent>
-  </xs:complexType>
-
-  <xs:complexType abstract="true" name="abstractCamelContextFactoryBean">
-    <xs:complexContent>
-      <xs:extension base="tns:identifiedType">
-        <xs:sequence/>
-      </xs:extension>
-    </xs:complexContent>
-  </xs:complexType>
-
-  <xs:complexType name="propertiesDefinition">
-    <xs:sequence>
-      <xs:element maxOccurs="unbounded" minOccurs="0" ref="tns:property"/>
-    </xs:sequence>
-  </xs:complexType>
-
-  <xs:complexType name="propertyDefinition">
-    <xs:sequence/>
-    <xs:attribute name="key" type="xs:string" use="required">
-      <xs:annotation>
-        <xs:documentation xml:lang="en"><![CDATA[
-Property key
-        ]]></xs:documentation>
-      </xs:annotation>
-    </xs:attribute>
-    <xs:attribute name="value" type="xs:string" use="required">
-      <xs:annotation>
-        <xs:documentation xml:lang="en"><![CDATA[
-Property 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:sequence>
-        <xs:attribute name="location" type="xs:string" use="required"/>
-        <xs:attribute name="encoding" type="xs:string"/>
-        <xs:attribute name="cache" type="xs:boolean"/>
-        <xs:attribute name="ignoreMissingLocation" type="xs:boolean"/>
-        <xs:attribute name="propertiesResolverRef" type="xs:string"/>
-        <xs:attribute name="propertiesParserRef" type="xs:string"/>
-        <xs:attribute name="propertyPrefix" type="xs:string"/>
-        <xs:attribute name="propertySuffix" type="xs:string"/>
-        <xs:attribute name="fallbackToUnaugmentedProperty" type="xs:boolean"/>
-        <xs:attribute name="prefixToken" type="xs:string"/>
-        <xs:attribute name="suffixToken" type="xs:string"/>
-      </xs:extension>
-    </xs:complexContent>
-  </xs:complexType>
-
-  <xs:complexType name="camelPropertyPlaceholderFunctionDefinition">
-    <xs:complexContent>
-      <xs:extension base="tns:identifiedType">
-        <xs:sequence/>
-        <xs:attribute name="ref" type="xs:string" use="required"/>
-      </xs:extension>
-    </xs:complexContent>
-  </xs:complexType>
-
-  <xs:complexType name="packageScanDefinition">
-    <xs:sequence>
-      <xs:element maxOccurs="unbounded" name="package" type="xs:string"/>
-      <xs:element maxOccurs="unbounded" minOccurs="0" name="excludes" type="xs:string"/>
-      <xs:element maxOccurs="unbounded" minOccurs="0" name="includes" type="xs:string"/>
-    </xs:sequence>
-  </xs:complexType>
-
-  <xs:complexType name="contextScanDefinition">
-    <xs:sequence>
-      <xs:element maxOccurs="unbounded" minOccurs="0" name="excludes" type="xs:string"/>
-      <xs:element maxOccurs="unbounded" minOccurs="0" name="includes" type="xs:string"/>
-    </xs:sequence>
-    <xs:attribute name="includeNonSingletons" type="xs:boolean">
-      <xs:annotation>
-        <xs:documentation xml:lang="en"><![CDATA[
-Whether to include non-singleton beans (prototypes) By default only singleton
-beans is included in the context scan
-        ]]></xs:documentation>
-      </xs:annotation>
-    </xs:attribute>
-  </xs:complexType>
-
-  <xs:complexType name="camelJMXAgentDefinition">
-    <xs:complexContent>
-      <xs:extension base="tns:identifiedType">
-        <xs:sequence/>
-        <xs:attribute name="disabled" type="xs:string"/>
-        <xs:attribute name="onlyRegisterProcessorWithCustomId" type="xs:string"/>
-        <xs:attribute name="registryPort" type="xs:string"/>
-        <xs:attribute name="connectorPort" type="xs:string"/>
-        <xs:attribute name="mbeanServerDefaultDomain" type="xs:string"/>
-        <xs:attribute name="mbeanObjectDomainName" type="xs:string"/>
-        <xs:attribute name="serviceUrlPath" type="xs:string"/>
-        <xs:attribute name="createConnector" type="xs:string"/>
-        <xs:attribute name="usePlatformMBeanServer" type="xs:string"/>
-        <xs:attribute name="registerAlways" type="xs:string"/>
-        <xs:attribute name="registerNewRoutes" type="xs:string"/>
-        <xs:attribute name="statisticsLevel" type="xs:string"/>
-        <xs:attribute name="loadStatisticsEnabled" type="xs:string"/>
-        <xs:attribute name="endpointRuntimeStatisticsEnabled" type="xs:string"/>
-        <xs:attribute name="includeHostName" type="xs:string"/>
-        <xs:attribute name="useHostIPAddress" type="xs:string"/>
-        <xs:attribute name="mask" type="xs:string"/>
-      </xs:extension>
-    </xs:complexContent>
-  </xs:complexType>
-
-  <xs:complexType name="camelStreamCachingStrategyDefinition">
-    <xs:complexContent>
-      <xs:extension base="tns:identifiedType">
-        <xs:sequence/>
-        <xs:attribute name="enabled" type="xs:string"/>
-        <xs:attribute name="spoolDirectory" type="xs:string"/>
-        <xs:attribute name="spoolChiper" type="xs:string"/>
-        <xs:attribute name="spoolThreshold" type="xs:string"/>
-        <xs:attribute name="spoolUsedHeapMemoryThreshold" type="xs:string"/>
-        <xs:attribute name="spoolUsedHeapMemoryLimit" type="xs:string"/>
-        <xs:attribute name="spoolRules" type="xs:string"/>
-        <xs:attribute name="bufferSize" type="xs:string"/>
-        <xs:attribute name="removeSpoolDirectoryWhenStopping" type="xs:string"/>
-        <xs:attribute name="statisticsEnabled" type="xs:string"/>
-        <xs:attribute name="anySpoolRules" type="xs:string"/>
-      </xs:extension>
-    </xs:complexContent>
-  </xs:complexType>
-
-  <xs:complexType name="camelProducerTemplateFactoryBean">
-    <xs:complexContent>
-      <xs:extension base="tns:abstractCamelProducerTemplateFactoryBean">
-        <xs:sequence/>
-      </xs:extension>
-    </xs:complexContent>
-  </xs:complexType>
-
-  <xs:complexType abstract="true" name="abstractCamelProducerTemplateFactoryBean">
-    <xs:complexContent>
+        <xs:attribute name="depends-on" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+List of other bean id's this CamelContext depends up. Multiple bean id's can be
+separated by comma.
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="trace" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+Sets whether tracing is enabled or not.
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <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
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="logExhaustedMessageBody" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+Sets whether to log exhausted message body with message history.
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="streamCache" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+Sets whether stream caching is enabled or not.
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="delayer" type="xs:string">
+          <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
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="handleFault" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+Sets whether fault handling is enabled or not (default is disabled).
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="errorHandlerRef" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+Sets the name of the error handler object used to default the error handling
+strategy
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="autoStartup" type="xs:string">
+          <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
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="useMDCLogging" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+Set whether MDC is enabled.
+            ]]></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
+            ]]></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
+or from link org.apache.camel.spi.UnitOfWorkgetOriginalInMessage(). Turning this
+off can optimize performance as defensive copy of the original message is not
+needed.
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="runtimeEndpointRegistryEnabled" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+Sets whether org.apache.camel.spi.RuntimeEndpointRegistry is enabled.
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <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#
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="threadNamePattern" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+Sets the thread name pattern used for creating the full thread name. The default
+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
+(#camelId#) thread ##counter# - #name#
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="useBlueprintPropertyResolver" type="xs:boolean">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+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
+            ]]></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
+            ]]></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
+value: CompleteCurrentTaskOnly
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <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
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="typeConverterStatisticsEnabled" type="xs:boolean">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+Sets whether or not type converter statistics is enabled. By default the type
+converter utilization statistics is disabled. Notice: If enabled then there is a
+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..
+Default value: false
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="typeConverterExists" type="tns:typeConverterExists">
+          <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
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="typeConverterExistsLoggingLevel" type="tns:loggingLevel">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+The logging level to use when logging that a type converter already exists when
+attempting to add a duplicate type converter. The default logging level is WARN.
+Default value: WARN
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType abstract="true" name="abstractCamelContextFactoryBean">
+    <xs:complexContent>
+      <xs:extension base="tns:identifiedType">
+        <xs:sequence/>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="propertiesDefinition">
+    <xs:sequence>
+      <xs:element maxOccurs="unbounded" minOccurs="0" ref="tns:property"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="propertyDefinition">
+    <xs:sequence/>
+    <xs:attribute name="key" type="xs:string" use="required">
+      <xs:annotation>
+        <xs:documentation xml:lang="en"><![CDATA[
+Property key
+        ]]></xs:documentation>
+      </xs:annotation>
+    </xs:attribute>
+    <xs:attribute name="value" type="xs:string" use="required">
+      <xs:annotation>
+        <xs:documentation xml:lang="en"><![CDATA[
+Property 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:sequence>
+        <xs:attribute name="location" type="xs:string" use="required">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+A list of locations to load properties. You can use comma to separate multiple
+locations. This option will override any default locations and only use the
+locations from this option.
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="encoding" type="xs:string">
+          <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
+java.util.Propertiesload(java.io.InputStream)
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <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
+value: true
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <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
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="propertiesResolverRef" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+Reference to a custom PropertiesResolver to be used
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="propertiesParserRef" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+Reference to a custom PropertiesParser to be used
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="propertyPrefix" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+Optional prefix prepended to property names before resolution.
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="propertySuffix" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+Optional suffix appended to property names before resolution.
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <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
+and propertySuffix before falling back the plain property name specified. If
+false only the augmented property name is searched.. Default value: true
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="prefixToken" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+Sets the value of the prefix token used to identify properties to replace.
+Setting a value of null restores the default token. Default value: {{
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="suffixToken" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+Sets the value of the suffix token used to identify properties to replace.
+Setting a value of null restores the default token. Default value: }}
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="camelPropertyPlaceholderFunctionDefinition">
+    <xs:complexContent>
+      <xs:extension base="tns:identifiedType">
+        <xs:sequence/>
+        <xs:attribute name="ref" type="xs:string" use="required">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+Reference to the custom properties function to lookup in the registry
+            ]]></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"/>
+      <xs:element maxOccurs="unbounded" minOccurs="0" name="excludes" type="xs:string"/>
+      <xs:element maxOccurs="unbounded" minOccurs="0" name="includes" type="xs:string"/>
+    </xs:sequence>
+  </xs:complexType>
+
+  <xs:complexType name="contextScanDefinition">
+    <xs:sequence>
+      <xs:element maxOccurs="unbounded" minOccurs="0" name="excludes" type="xs:string"/>
+      <xs:element maxOccurs="unbounded" minOccurs="0" name="includes" type="xs:string"/>
+    </xs:sequence>
+    <xs:attribute name="includeNonSingletons" type="xs:boolean">
+      <xs:annotation>
+        <xs:documentation xml:lang="en"><![CDATA[
+Whether to include non-singleton beans (prototypes) By default only singleton
+beans is included in the context scan. Default value: false
+        ]]></xs:documentation>
+      </xs:annotation>
+    </xs:attribute>
+  </xs:complexType>
+
+  <xs:complexType name="camelJMXAgentDefinition">
+    <xs:complexContent>
+      <xs:extension base="tns:identifiedType">
+        <xs:sequence/>
+        <xs:attribute name="disabled" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+Disable JMI (default false). Default value: false
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <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
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="registryPort" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+RMI connector registry port (default 1099). Default value: 1099
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="connectorPort" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+RMI connector server port (default -1 not used). Default value: -1
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="mbeanServerDefaultDomain" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+MBean server default domain name (default org.apache.camel). Default value:
+org.apache.camel
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="mbeanObjectDomainName" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+MBean object domain name (default org.apache.camel). Default value:
+org.apache.camel
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="serviceUrlPath" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+JMX Service URL path (default /jmxrmi). Default value: /jmxrmi
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="createConnector" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+A flag that indicates whether the agent should be created. Default value: false
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="usePlatformMBeanServer" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+A flag that indicates whether the platform mbean server should be used. Default
+value: true
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="registerAlways" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+A flag that indicates whether to register mbeans always. Default value: false
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="registerNewRoutes" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+A flag that indicates whether to register mbeans when starting new routes.
+Default value: false
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="statisticsLevel" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+Level of granularity for performance statistics enabled. Default value: Default
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="loadStatisticsEnabled" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+A flag that indicates whether Load statistics is enabled. Default value: false
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="endpointRuntimeStatisticsEnabled" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+A flag that indicates whether endpoint runtime statistics is enabled. Default
+value: true
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <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
+value: false
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <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..
+Default value: false
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="mask" type="xs:string">
+          <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
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="camelStreamCachingStrategyDefinition">
+    <xs:complexContent>
+      <xs:extension base="tns:identifiedType">
+        <xs:sequence/>
+        <xs:attribute name="enabled" type="xs:string">
+          <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
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="spoolDirectory" type="xs:string">
+          <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.
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="spoolChiper" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+Sets a chiper name to use when spooling to disk to write with encryption. By
+default the data is not encrypted.
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="spoolThreshold" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+Threshold in bytes when overflow to disk is activated. The default threshold is
+link org.apache.camel.StreamCacheDEFAULT_SPOOL_THRESHOLD bytes (eg 128kb). Use
+-1 to disable overflow to disk.
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="spoolUsedHeapMemoryThreshold" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+Sets a percentage (1-99) of used heap memory threshold to activate spooling to
+disk.
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="spoolUsedHeapMemoryLimit" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+Sets what the upper bounds should be when spoolUsedHeapMemoryThreshold is in
+use.
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="spoolRules" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+Reference to one or more custom
+org.apache.camel.spi.StreamCachingStrategy.SpoolRule to use. Multiple rules can
+be separated by comma.
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="bufferSize" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+Sets the buffer size to use when allocating in-memory buffers used for in-memory
+stream caches. The default size is link
+org.apache.camel.util.IOHelperDEFAULT_BUFFER_SIZE
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="removeSpoolDirectoryWhenStopping" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+Whether to remove the temporary directory when stopping. This option is default
+true. Default value: true
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="statisticsEnabled" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+Sets whether statistics is enabled.
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="anySpoolRules" type="xs:string">
+          <xs:annotation>
+            <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
+org.apache.camel.spi.StreamCachingStrategy.SpoolRule must return true. The
+default value is false which means that all the rules must return true.. Default
+value: false
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="hystrixConfigurationDefinition">
+    <xs:complexContent>
+      <xs:extension base="tns:identifiedType">
+        <xs:sequence/>
+        <xs:attribute name="groupKey" 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
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="threadPoolKey" type="xs:string">
+          <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
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="circuitBreakerEnabled" type="xs:boolean">
+          <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
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="circuitBreakerErrorThresholdPercentage" 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
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="circuitBreakerForceClosed" type="xs:boolean">
+          <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
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="circuitBreakerForceOpen" type="xs:boolean">
+          <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
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="circuitBreakerRequestVolumeThreshold" type="xs:int">
+          <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
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="circuitBreakerSleepWindowInMilliseconds" type="xs:int">
+          <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
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="executionIsolationSemaphoreMaxConcurrentRequests" type="xs:int">
+          <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
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="executionIsolationStrategy" type="xs:string">
+          <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
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="executionIsolationThreadInterruptOnTimeout" type="xs:boolean">
+          <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
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="executionTimeoutInMilliseconds" type="xs:int">
+          <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
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="executionTimeoutEnabled" type="xs:boolean">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+Whether the timeout mechanism is enabled for this command. Default value: true
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="fallbackIsolationSemaphoreMaxConcurrentRequests" type="xs:int">
+          <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
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="fallbackEnabled" type="xs:boolean">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+Whether HystrixCommand.getFallback() should be attempted when failure occurs..
+Default value: true
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="metricsHealthSnapshotIntervalInMilliseconds" type="xs:int">
+          <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
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="metricsRollingPercentileBucketSize" type="xs:int">
+          <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
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="metricsRollingPercentileEnabled" type="xs:boolean">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+Whether percentile metrics should be captured using HystrixRollingPercentile
+inside HystrixCommandMetrics.. Default value: true
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="metricsRollingPercentileWindowInMilliseconds" type="xs:int">
+          <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
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="metricsRollingPercentileWindowBuckets" type="xs:int">
+          <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
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="metricsRollingStatisticalWindowInMilliseconds" type="xs:int">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+Duration of statistical rolling window in milliseconds. This is passed into
+HystrixRollingNumber inside HystrixCommandMetrics.. Default value: 10000
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="metricsRollingStatisticalWindowBuckets" type="xs:int">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+Number of buckets the rolling statistical window is broken into. This is passed
+into HystrixRollingNumber inside HystrixCommandMetrics.. Default value: 10
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="requestLogEnabled" type="xs:boolean">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+Whether HystrixCommand execution and events should be logged to
+HystrixRequestLog.. Default value: true
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="corePoolSize" type="xs:int">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+Core thread-pool size that gets passed to link
+java.util.concurrent.ThreadPoolExecutorsetCorePoolSize(int). Default value: 10
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="keepAliveTime" type="xs:int">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+Keep-alive time in minutes that gets passed to link
+ThreadPoolExecutorsetKeepAliveTime(long TimeUnit). Default value: 1
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="maxQueueSize" type="xs:int">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+Max queue size that gets passed to BlockingQueue in
+HystrixConcurrencyStrategy.getBlockingQueue(int) This should only affect the
+instantiation of a threadpool - it is not eliglible to change a queue size on
+the fly. For that use queueSizeRejectionThreshold().. Default value: -1
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="queueSizeRejectionThreshold" type="xs:int">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+Queue size rejection threshold is an artificial max size at which rejections
+will occur even if link maxQueueSize has not been reached. This is done because
+the link maxQueueSize of a BlockingQueue can not be dynamically changed and we
+want to support dynamically changing the queue size that affects rejections.
+This is used by HystrixCommand when queuing a thread for execution.. Default
+value: 5
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="threadPoolRollingNumberStatisticalWindowInMilliseconds" type="xs:int">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+Duration of statistical rolling window in milliseconds. This is passed into
+HystrixRollingNumber inside each HystrixThreadPoolMetrics instance.. Default
+value: 10000
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="threadPoolRollingNumberStatisticalWindowBuckets" type="xs:int">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+Number of buckets the rolling statistical window is broken into. This is passed
+into HystrixRollingNumber inside each HystrixThreadPoolMetrics instance..
+Default value: 10
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="kubernetesConfigurationDefinition">
+    <xs:complexContent>
+      <xs:extension base="tns:serviceCallConfigurationDefinition">
+        <xs:sequence/>
+        <xs:attribute name="lookup" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+How to perform service lookup. Possible values: client dns environment. When
+using client then the client queries the kubernetes master to obtain a list of
+active pods that provides the service and then random (or round robin) select a
+pod. When using dns the service name is resolved as
+name.namespace.service.dnsDomain. When using environment then environment
+variables are used to lookup the service. By default environment is used..
+Default value: environment
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="dnsDomain" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+Sets the DNS domain to use for DNS lookup.
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="namespace" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+Sets the namespace to use. Will by default use namespace from the ENV variable
+KUBERNETES_MASTER.
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="apiVersion" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+Sets the API version when using client lookup
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="masterUrl" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+Sets the URL to the master when using client lookup
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="username" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+Sets the username for authentication when using client lookup
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="password" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+Sets the password for authentication when using client lookup
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="oauthToken" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+Sets the OAUTH token for authentication (instead of username/password) when
+using client lookup
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="caCertData" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+Sets the Certificate Authority data when using client lookup
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="caCertFile" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+Sets the Certificate Authority data that are loaded from the file when using
+client lookup
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="clientCertData" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+Sets the Client Certificate data when using client lookup
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="clientCertFile" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+Sets the Client Certificate data that are loaded from the file when using client
+lookup
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="clientKeyAlgo" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+Sets the Client Keystore algorithm such as RSA when using client lookup
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="clientKeyData" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+Sets the Client Keystore data when using client lookup
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="clientKeyFile" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+Sets the Client Keystore data that are loaded from the file when using client
+lookup
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="clientKeyPassphrase" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+Sets the Client Keystore passphrase when using client lookup
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="trustCerts" type="xs:boolean">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+Sets whether to turn on trust certificate check when using client lookup.
+Default value: false
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:anyAttribute namespace="##other" processContents="skip"/>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType abstract="true" name="serviceCallConfigurationDefinition">
+    <xs:complexContent>
+      <xs:extension base="tns:identifiedType">
+        <xs:sequence>
+          <xs:element maxOccurs="unbounded" minOccurs="0" name="clientProperty" type="tns:propertyDefinition"/>
+        </xs:sequence>
+        <xs:attribute name="component" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+Sets the default Camel component to use for calling the remote service. By
+default the http component is used. You can configure this to use netty4-http
+jetty restlet or some other components of choice. If the service is not HTTP
+protocol you can use other components such as mqtt jms amqp etc. If the service
+call has been configured using an uri then the component from the uri is used
+instead of this default component.. Default value: http
+            ]]></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 org.apache.camel.spi.ServiceCallLoadBalancer to
+use.
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="serverListStrategyRef" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+Sets a reference to a custom org.apache.camel.spi.ServiceCallServerListStrategy
+to use.
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:anyAttribute namespace="##other" processContents="skip"/>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="ribbonConfigurationDefinition">
+    <xs:complexContent>
+      <xs:extension base="tns:serviceCallConfigurationDefinition">
+        <xs:sequence/>
+        <xs:anyAttribute namespace="##other" processContents="skip"/>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="consulConfigurationDefinition">
+    <xs:complexContent>
+      <xs:extension base="tns:serviceCallConfigurationDefinition">
+        <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="dc" 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="writeTimeoutMillis" type="xs:long">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+Write timeout for OkHttpClient
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="blockSeconds" type="xs:int">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+The second to wait for a watch event default 10 seconds. Default value: 10
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:anyAttribute namespace="##other" processContents="skip"/>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="dnsConfigurationDefinition">
+    <xs:complexContent>
+      <xs:extension base="tns:serviceCallConfigurationDefinition">
+        <xs:sequence/>
+        <xs:attribute name="proto" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+The transport protocol of the desired service.. Default value: _tcp
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="domain" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+The domain name;
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:anyAttribute namespace="##other" processContents="skip"/>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="etcdConfigurationDefinition">
+    <xs:complexContent>
+      <xs:extension base="tns:serviceCallConfigurationDefinition">
+        <xs:sequence/>
+        <xs:attribute name="uris" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+The URIs the client can connect to.
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="userName" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+The user name to use for basic authentication.
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="password" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+The password to use for basic authentication.
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="timeout" type="xs:long">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+To set the maximum time an action could take to complete.
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="servicePath" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+The path to look for for service discovery. Default value: /services/
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:anyAttribute namespace="##other" processContents="skip"/>
+      </xs:extension>
+    </xs:complexContent>
+  </xs:complexType>
+
+  <xs:complexType name="camelProducerTemplateFactoryBean">
+    <xs:complexContent>
+      <xs:extension base="tns:abstractCamelProducerTemplateFactoryBean">
+        <xs:sequence/>
+      </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 default endpoint URI used by default for sending message exchanges
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="maximumCacheSize" type="xs:int">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+Sets a custom maximum cache size to use in the backing cache pools.
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+      </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:attribute name="maximumCacheSize" type="xs:int"/>
+        <xs:attribute name="defaultEndpoint" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+Sets the default endpoint URI used by default for sending message exchanges
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="maximumCacheSize" type="xs:int">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+Sets a custom maximum cache size to use in the backing cache pools.
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
       </xs:extension>
     </xs:complexContent>
   </xs:complexType>
@@ -1665,10 +2933,35 @@ beans is included in the context scan
     <xs:complexContent>
       <xs:extension base="tns:identifiedType">
         <xs:sequence/>
-        <xs:attribute name="uri" type="xs:string"/>
-        <xs:attribute name="serviceRef" type="xs:string"/>
-        <xs:attribute name="serviceInterface" type="xs:string"/>
-        <xs:attribute name="camelContextId" type="xs:string"/>
+        <xs:attribute name="uri" type="xs:string" use="required">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+Camel endpoint uri to use a remote transport when calling the service
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="serviceRef" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+Reference to the service name to lookup in the registry.
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="serviceInterface" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+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>
@@ -1679,18 +2972,119 @@ beans is included in the context scan
         <xs:sequence>
           <xs:element minOccurs="0" ref="tns:redeliveryPolicy"/>
         </xs:sequence>
-        <xs:attribute name="type" type="tns:errorHandlerType"/>
-        <xs:attribute name="deadLetterUri" type="xs:string"/>
-        <xs:attribute name="deadLetterHandleNewException" type="xs:boolean"/>
-        <xs:attribute name="level" type="tns:loggingLevel"/>
-        <xs:attribute name="logName" type="xs:string"/>
-        <xs:attribute name="useOriginalMessage" type="xs:boolean"/>
-        <xs:attribute name="onRedeliveryRef" type="xs:string"/>
-        <xs:attribute name="onPrepareFailureRef" type="xs:string"/>
-        <xs:attribute name="onExceptionOccurredRef" type="xs:string"/>
-        <xs:attribute name="retryWhileRef" type="xs:string"/>
-        <xs:attribute name="executorServiceRef" type="xs:string"/>
-        <xs:attribute name="redeliveryPolicyRef" type="xs:string"/>
+        <xs:attribute name="type" type="tns:errorHandlerType">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+The type of the error handler. Default value: DefaultErrorHandler
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="deadLetterUri" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+The dead letter endpoint uri for the Dead Letter error handler.
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="deadLetterHandleNewException" type="xs:boolean">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+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="level" type="tns:loggingLevel">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+Logging level to use when using the logging error handler type.. Default value:
+ERROR
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="logName" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+Name of the logger to use for the logging error handler
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="useOriginalMessage" type="xs:boolean">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+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="onRedeliveryRef" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+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="onPrepareFailureRef" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+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="onExceptionOccurredRef" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+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="retryWhileRef" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+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="executorServiceRef" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[
+Sets a reference to a thread pool to be used by the error handler
+            ]]></xs:documentation>
+          </xs:annotation>
+        </xs:attribute>
+        <xs:attribute name="redeliveryPolicyRef" type="xs:string">
+          <xs:annotation>
+            <xs:documentation xml:lang="en"><![CDATA[

[... 3194 lines stripped ...]