You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by bu...@apache.org on 2016/12/15 10:19:54 UTC

svn commit: r1002854 - in /websites/production/camel/content: cache/main.pageCache camel-219-release.html salesforce.html what-are-the-dependencies.html

Author: buildbot
Date: Thu Dec 15 10:19:54 2016
New Revision: 1002854

Log:
Production update by buildbot for camel

Modified:
    websites/production/camel/content/cache/main.pageCache
    websites/production/camel/content/camel-219-release.html
    websites/production/camel/content/salesforce.html
    websites/production/camel/content/what-are-the-dependencies.html

Modified: websites/production/camel/content/cache/main.pageCache
==============================================================================
Binary files - no diff available.

Modified: websites/production/camel/content/camel-219-release.html
==============================================================================
--- websites/production/camel/content/camel-219-release.html (original)
+++ websites/production/camel/content/camel-219-release.html Thu Dec 15 10:19:54 2016
@@ -85,7 +85,7 @@
 	<tbody>
         <tr>
         <td valign="top" width="100%">
-<div class="wiki-content maincontent"><h1 id="Camel2.19Release-Camel2.19.0Release(currentlyinprogress)">Camel 2.19.0 Release (currently in progress)</h1><div style="padding-right:20px;float:left;margin-left:-20px;"><span class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image confluence-external-resource" src="http://camel.apache.org/images/camel-box-small.png" data-image-src="http://camel.apache.org/images/camel-box-small.png"></span></div><div style="min-height:200px">&#160;</div><h2 id="Camel2.19Release-NewandNoteworthy">New and Noteworthy</h2><p>Welcome to the 2.19.0 release which approx XXX issues resolved (new features, improvements and bug fixes such as...)</p><ul><li>The <a shape="rect" href="camel-maven-plugin.html">Camel Maven Plugin</a> now provides the <code>camel:validate</code> goal to parse your Java and XML source code for any Camel routes and report invalid Camel endpoint uri and simple expression errors. You can run this at code time (not run
 time).&#160;</li><li>Introduced a new&#160;<code>camel-catalog-rest</code>&#160;artifact which is a tiny standalone REST API of the CamelCatalog using JAX-RS and Swagger Annotations.</li><li>Added&#160;<code>camel-catalog-rest-app</code>&#160;as a standalone application which used Apache CXF with Jetty to host the Catalog REST API with embedded Swagger UI</li><li>Returning&#160;<code>null</code>&#160;from&#160;<a shape="rect" href="bean.html">Bean</a> should work similar to how&#160;<code>setBody</code>&#160;and&#160;<code>transform</code>&#160;works when they set a&#160;<code>null</code>&#160;body.</li><li>The Camel Spring Boot starter components now have their auto configuration depends on&#160;<code>org.apache.camel.springboot.CamelAutoConfiguration</code> which makes it easier writing unit tests where you can exclude&#160;<code>org.apache.camel.springboot.CamelAutoConfiguration</code> to turn off Camel Spring Boot auto configuration completely.</li><li>Camel now supports OWASP d
 ependency check maven plugin</li><li>Camel-Nats component now supports TLS</li><li>Camel-Nats component now supports explicit flushing (with timeout) of the connection</li><li>Camel-Metrics component now supports Gauge type</li><li><a shape="rect" href="file2.html">File&#160;consumer</a> now supports idempotent-changed and idempotent-rename read lock strategies for clustering.&#160;</li><li>Camel Catalog now supports custom runtime providers that only includes the supported Camel components, languages and data formats running in that container. For example for Karaf or Spring Boot in the camel-catalog-provider-karaf and camel-catalog-provider-springboot.</li><li>The&#160;<a shape="rect" href="https://cwiki.apache.org/confluence/display/WW/bean">bean</a> component will when calling a method that returned an instance of <code>Callable</code>&#160;now call that callable to obtain the chained result. This allows to call Groovy functions/closures etc.</li><li>Failover&#160;<a shape="rect
 " href="load-balancer.html">Load Balancer</a> with inheritErrorHandler=false, now allows Camel's&#160;<a shape="rect" href="error-handler.html">Error Handler</a> to react after the load balancer is exhausted.</li><li><a shape="rect" href="salesforce.html">Salesforce</a> component now supports limits, recent items and approvals</li><li>Dumping Camel routes as XML now includes custom namespaces which are at xpath expressions etc. Likewise updating Camel routes from XML can now include namespaces which will be associated on xpath expressions.</li><li>Added&#160;<code>RouteIdFactory</code> which can auto assign route ids based on the consumer endpoints to use more sensitible names, instead of route1, route2, etc.</li><li><code>RouteBuilder</code> auto-configuration can now be disabled in <a shape="rect" href="cdi.html">Camel CDI</a></li></ul><p>Fixed these issues</p><ul><li>Fixed starting Camel on Oracle JDK 1.8.0_19 or lower, which would throw an&#160;UnsupportedOperationException</li>
 <li>Fixed&#160;<a shape="rect" href="hystrix-eip.html">Hystrix EIP</a> to also execute fallback if execution was rejected or short-circuited or other reasons from Hystrix.&#160;</li><li>Fixed adding new routes to running CamelContext and if the new routes would fail to startup, then before these routes would "hang around". Now only succesful started routes are added.</li><li>Adding or removing routes that starts from&#160;<a shape="rect" href="undertow.html">Undertow</a> no longer restart the entire HTTP server</li><li><a shape="rect" href="vm.html">VM</a> endpoint should prepare exchange with the CamelContext from the consumer and not from cached endpoint which can be different</li><li>Fixed a bug when using&#160;<a shape="rect" href="rest-dsl.html">Rest DSL</a> with&#160;<a shape="rect" href="servlet.html">SERVLET</a> could cause a java.io.IOException: Stream closed exception when using <a shape="rect" href="bean.html">Bean</a>&#160;in the route.&#160;</li><li>Fixed an issue when 
 using&#160;<code>pipeline</code> in Java DSL not setting up the EIP correctly which could lead to runtime route not as intended.</li><li>Fixed&#160;<a shape="rect" href="dropbox.html">Dropbox</a> to use&#160;<a shape="rect" href="stream-caching.html">Stream caching</a> to avoid reading entire file into memory so Camel can process big files</li><li>Fixed&#160;<code>toD</code> issue with splitting uris when RAW values had + sign</li><li>Fixed Netty double buffer release leak in&#160;<a shape="rect" href="netty4.html">Netty4</a> and&#160;<a shape="rect" href="netty4-http.html">Netty4 HTTP</a></li></ul><h3 id="Camel2.19Release-New">New <a shape="rect" href="enterprise-integration-patterns.html">Enterprise Integration Patterns</a></h3><h3 id="Camel2.19Release-New.1">New <a shape="rect" href="components.html">Components</a></h3><ul><li>camel-bonita -&#160;allow you to communicate with a remote Bonita engine.</li><li>camel-google-pubsub - allow you communicate with Google Cloud Pub/Sub</li
 ></ul><h3 id="Camel2.19Release-NewDSL">New DSL</h3><h3 id="Camel2.19Release-NewAnnotations">New Annotations</h3><h3 id="Camel2.19Release-New.2">New <a shape="rect" href="data-format.html">Data Format</a></h3><h3 id="Camel2.19Release-New.3">New <a shape="rect" href="languages.html">Languages</a></h3><h3 id="Camel2.19Release-New.4">New <a shape="rect" href="examples.html">Examples</a></h3><h3 id="Camel2.19Release-New.5">New <a shape="rect" href="tutorials.html">Tutorials</a></h3><h2 id="Camel2.19Release-APIbreaking">API breaking</h2><ul><li>Camel-spring-LDAP now uses java.util.function.BiFunction&lt;L, Q, S&gt; instead of&#160;org.apache.camel.component.springldap.LdapOperationsFunction&lt;Q, S&gt;</li></ul><h2 id="Camel2.19Release-KnownIssues">Known Issues</h2><h2 id="Camel2.19Release-Importantchangestoconsiderwhenupgrading">Important changes to consider when upgrading</h2><ul><li>Camel now uses Karaf 4.x API and therefore not possible to run on older Karaf versions.</li><li><code>ca
 mel-blueprint</code>&#160;changed startup behavior to start on Blueprint.CREATED event which would be more `correct` way of startup instead of Blueprint.REGISTERED as before.</li><li>camel-spring-boot now don't include prototype scoped beans when auto scanning for RouteBuilder instances, which is how camel-spring works. You can turn this back using the&#160;includeNonSingletons option.</li><li>camel-spring-javaconfig removed from Karaf features as it was not really supported in OSGi/Karaf.</li></ul><h2 id="Camel2.19Release-GettingtheDistributions">Getting the Distributions</h2><h3 id="Camel2.19Release-BinaryDistributions">Binary Distributions</h3><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Download Link</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>PGP Signature file of download</p></th></tr><tr><td colspan="1" rowspan="1" cl
 ass="confluenceTd"><p>Windows Distribution</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://www.apache.org/dyn/closer.cgi/camel/apache-camel/x.y.x/apache-camel-x.y.x.zip">apache-camel-x.y.x.zip</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://www.apache.org/dist/camel/apache-camel/x.y.x/apache-camel-x.y.x.zip.asc">apache-camel-x.y.x.zip.asc</a></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Unix/Linux/Cygwin Distribution</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://www.apache.org/dyn/closer.cgi/camel/apache-camel/x.y.x/apache-camel-x.y.x.tar.gz">apache-camel-x.y.x.tar.gz</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://www.apache.org/dist/camel/apache-camel/x.y.x/apache-camel-x.y.x.tar.gz.asc">apache-camel
 -x.y.x.tar.gz.asc</a></p></td></tr></tbody></table></div><div class="confluence-information-macro confluence-information-macro-information"><p class="title">The above URLs use redirection</p><span class="aui-icon aui-icon-small aui-iconfont-info confluence-information-macro-icon"></span><div class="confluence-information-macro-body"><p>The above URLs use the Apache Mirror system to redirect you to a suitable mirror for your download. Some users have experienced issues with some versions of browsers (e.g. some Safari browsers). If the download doesn't seem to work for you from the above URL then try using <a shape="rect" class="external-link" href="http://www.mozilla.com/en-US/firefox/" rel="nofollow">FireFox</a></p></div></div><h3 id="Camel2.19Release-SourceDistributions">Source Distributions</h3><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p
 >Download Link</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>PGP Signature file of download</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Source (zip)</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://www.apache.org/dyn/closer.cgi/camel/apache-camel/x.y.x/apache-camel-x.y.x-src.zip">apache-camel-x.y.x-src.zip</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://www.apache.org/dist/camel/apache-camel/x.y.x/apache-camel-x.y.x-src.zip.asc">apache-camel-x.y.x-src.zip.asc</a></p></td></tr></tbody></table></div><h3 id="Camel2.19Release-GettingtheBinariesusingMaven2">Getting the Binaries using Maven 2</h3><p>To use this release in your maven project, the proper dependency configuration that you should use in your <a shape="rect" class="external-link" href="http://maven.apache.org/guides/introduction/introduction-to-the-pom.html">Mav
 en POM</a> is:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<div class="wiki-content maincontent"><h1 id="Camel2.19Release-Camel2.19.0Release(currentlyinprogress)">Camel 2.19.0 Release (currently in progress)</h1><div style="padding-right:20px;float:left;margin-left:-20px;"><span class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image confluence-external-resource" src="http://camel.apache.org/images/camel-box-small.png" data-image-src="http://camel.apache.org/images/camel-box-small.png"></span></div><div style="min-height:200px">&#160;</div><h2 id="Camel2.19Release-NewandNoteworthy">New and Noteworthy</h2><p>Welcome to the 2.19.0 release which approx XXX issues resolved (new features, improvements and bug fixes such as...)</p><ul><li>The <a shape="rect" href="camel-maven-plugin.html">Camel Maven Plugin</a> now provides the <code>camel:validate</code> goal to parse your Java and XML source code for any Camel routes and report invalid Camel endpoint uri and simple expression errors. You can run this at code time (not run
 time).&#160;</li><li>Introduced a new&#160;<code>camel-catalog-rest</code>&#160;artifact which is a tiny standalone REST API of the CamelCatalog using JAX-RS and Swagger Annotations.</li><li>Added&#160;<code>camel-catalog-rest-app</code>&#160;as a standalone application which used Apache CXF with Jetty to host the Catalog REST API with embedded Swagger UI</li><li>Returning&#160;<code>null</code>&#160;from&#160;<a shape="rect" href="bean.html">Bean</a> should work similar to how&#160;<code>setBody</code>&#160;and&#160;<code>transform</code>&#160;works when they set a&#160;<code>null</code>&#160;body.</li><li>The Camel Spring Boot starter components now have their auto configuration depends on&#160;<code>org.apache.camel.springboot.CamelAutoConfiguration</code> which makes it easier writing unit tests where you can exclude&#160;<code>org.apache.camel.springboot.CamelAutoConfiguration</code> to turn off Camel Spring Boot auto configuration completely.</li><li>Camel now supports OWASP d
 ependency check maven plugin</li><li>Camel-Nats component now supports TLS</li><li>Camel-Nats component now supports explicit flushing (with timeout) of the connection</li><li>Camel-Metrics component now supports Gauge type</li><li><a shape="rect" href="file2.html">File&#160;consumer</a> now supports idempotent-changed and idempotent-rename read lock strategies for clustering.&#160;</li><li>Camel Catalog now supports custom runtime providers that only includes the supported Camel components, languages and data formats running in that container. For example for Karaf or Spring Boot in the camel-catalog-provider-karaf and camel-catalog-provider-springboot.</li><li>The&#160;<a shape="rect" href="https://cwiki.apache.org/confluence/display/WW/bean">bean</a> component will when calling a method that returned an instance of <code>Callable</code>&#160;now call that callable to obtain the chained result. This allows to call Groovy functions/closures etc.</li><li>Failover&#160;<a shape="rect
 " href="load-balancer.html">Load Balancer</a> with inheritErrorHandler=false, now allows Camel's&#160;<a shape="rect" href="error-handler.html">Error Handler</a> to react after the load balancer is exhausted.</li><li><a shape="rect" href="salesforce.html">Salesforce</a> component now supports limits, recent items, approvals and composite API</li><li>Dumping Camel routes as XML now includes custom namespaces which are at xpath expressions etc. Likewise updating Camel routes from XML can now include namespaces which will be associated on xpath expressions.</li><li>Added&#160;<code>RouteIdFactory</code> which can auto assign route ids based on the consumer endpoints to use more sensitible names, instead of route1, route2, etc.</li><li><code>RouteBuilder</code> auto-configuration can now be disabled in <a shape="rect" href="cdi.html">Camel CDI</a></li></ul><p>Fixed these issues</p><ul><li>Fixed starting Camel on Oracle JDK 1.8.0_19 or lower, which would throw an&#160;UnsupportedOperatio
 nException</li><li>Fixed&#160;<a shape="rect" href="hystrix-eip.html">Hystrix EIP</a> to also execute fallback if execution was rejected or short-circuited or other reasons from Hystrix.&#160;</li><li>Fixed adding new routes to running CamelContext and if the new routes would fail to startup, then before these routes would "hang around". Now only succesful started routes are added.</li><li>Adding or removing routes that starts from&#160;<a shape="rect" href="undertow.html">Undertow</a> no longer restart the entire HTTP server</li><li><a shape="rect" href="vm.html">VM</a> endpoint should prepare exchange with the CamelContext from the consumer and not from cached endpoint which can be different</li><li>Fixed a bug when using&#160;<a shape="rect" href="rest-dsl.html">Rest DSL</a> with&#160;<a shape="rect" href="servlet.html">SERVLET</a> could cause a java.io.IOException: Stream closed exception when using <a shape="rect" href="bean.html">Bean</a>&#160;in the route.&#160;</li><li>Fixed
  an issue when using&#160;<code>pipeline</code> in Java DSL not setting up the EIP correctly which could lead to runtime route not as intended.</li><li>Fixed&#160;<a shape="rect" href="dropbox.html">Dropbox</a> to use&#160;<a shape="rect" href="stream-caching.html">Stream caching</a> to avoid reading entire file into memory so Camel can process big files</li><li>Fixed&#160;<code>toD</code> issue with splitting uris when RAW values had + sign</li><li>Fixed Netty double buffer release leak in&#160;<a shape="rect" href="netty4.html">Netty4</a> and&#160;<a shape="rect" href="netty4-http.html">Netty4 HTTP</a></li></ul><h3 id="Camel2.19Release-New">New <a shape="rect" href="enterprise-integration-patterns.html">Enterprise Integration Patterns</a></h3><h3 id="Camel2.19Release-New.1">New <a shape="rect" href="components.html">Components</a></h3><ul><li>camel-bonita -&#160;allow you to communicate with a remote Bonita engine.</li><li>camel-google-pubsub - allow you communicate with Google Cl
 oud Pub/Sub</li></ul><h3 id="Camel2.19Release-NewDSL">New DSL</h3><h3 id="Camel2.19Release-NewAnnotations">New Annotations</h3><h3 id="Camel2.19Release-New.2">New <a shape="rect" href="data-format.html">Data Format</a></h3><h3 id="Camel2.19Release-New.3">New <a shape="rect" href="languages.html">Languages</a></h3><h3 id="Camel2.19Release-New.4">New <a shape="rect" href="examples.html">Examples</a></h3><h3 id="Camel2.19Release-New.5">New <a shape="rect" href="tutorials.html">Tutorials</a></h3><h2 id="Camel2.19Release-APIbreaking">API breaking</h2><ul><li>Camel-spring-LDAP now uses java.util.function.BiFunction&lt;L, Q, S&gt; instead of&#160;org.apache.camel.component.springldap.LdapOperationsFunction&lt;Q, S&gt;</li></ul><h2 id="Camel2.19Release-KnownIssues">Known Issues</h2><h2 id="Camel2.19Release-Importantchangestoconsiderwhenupgrading">Important changes to consider when upgrading</h2><ul><li>Camel now uses Karaf 4.x API and therefore not possible to run on older Karaf versions.</
 li><li><code>camel-blueprint</code>&#160;changed startup behavior to start on Blueprint.CREATED event which would be more `correct` way of startup instead of Blueprint.REGISTERED as before.</li><li>camel-spring-boot now don't include prototype scoped beans when auto scanning for RouteBuilder instances, which is how camel-spring works. You can turn this back using the&#160;includeNonSingletons option.</li><li>camel-spring-javaconfig removed from Karaf features as it was not really supported in OSGi/Karaf.</li></ul><h2 id="Camel2.19Release-GettingtheDistributions">Getting the Distributions</h2><h3 id="Camel2.19Release-BinaryDistributions">Binary Distributions</h3><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Download Link</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>PGP Signature file of download</p></th></tr><tr><td colspan="1"
  rowspan="1" class="confluenceTd"><p>Windows Distribution</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://www.apache.org/dyn/closer.cgi/camel/apache-camel/x.y.x/apache-camel-x.y.x.zip">apache-camel-x.y.x.zip</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://www.apache.org/dist/camel/apache-camel/x.y.x/apache-camel-x.y.x.zip.asc">apache-camel-x.y.x.zip.asc</a></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Unix/Linux/Cygwin Distribution</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://www.apache.org/dyn/closer.cgi/camel/apache-camel/x.y.x/apache-camel-x.y.x.tar.gz">apache-camel-x.y.x.tar.gz</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://www.apache.org/dist/camel/apache-camel/x.y.x/apache-camel-x.y.x.tar.gz.as
 c">apache-camel-x.y.x.tar.gz.asc</a></p></td></tr></tbody></table></div><div class="confluence-information-macro confluence-information-macro-information"><p class="title">The above URLs use redirection</p><span class="aui-icon aui-icon-small aui-iconfont-info confluence-information-macro-icon"></span><div class="confluence-information-macro-body"><p>The above URLs use the Apache Mirror system to redirect you to a suitable mirror for your download. Some users have experienced issues with some versions of browsers (e.g. some Safari browsers). If the download doesn't seem to work for you from the above URL then try using <a shape="rect" class="external-link" href="http://www.mozilla.com/en-US/firefox/" rel="nofollow">FireFox</a></p></div></div><h3 id="Camel2.19Release-SourceDistributions">Source Distributions</h3><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th><th colspan="1" rowspan="1" class="c
 onfluenceTh"><p>Download Link</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>PGP Signature file of download</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Source (zip)</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://www.apache.org/dyn/closer.cgi/camel/apache-camel/x.y.x/apache-camel-x.y.x-src.zip">apache-camel-x.y.x-src.zip</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://www.apache.org/dist/camel/apache-camel/x.y.x/apache-camel-x.y.x-src.zip.asc">apache-camel-x.y.x-src.zip.asc</a></p></td></tr></tbody></table></div><h3 id="Camel2.19Release-GettingtheBinariesusingMaven2">Getting the Binaries using Maven 2</h3><p>To use this release in your maven project, the proper dependency configuration that you should use in your <a shape="rect" class="external-link" href="http://maven.apache.org/guides/introduction/introduction-to-th
 e-pom.html">Maven POM</a> is:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <script class="brush: xml; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[&lt;dependency&gt;
   &lt;groupId&gt;org.apache.camel&lt;/groupId&gt;
   &lt;artifactId&gt;camel-core&lt;/artifactId&gt;

Modified: websites/production/camel/content/salesforce.html
==============================================================================
--- websites/production/camel/content/salesforce.html (original)
+++ websites/production/camel/content/salesforce.html Thu Dec 15 10:19:54 2016
@@ -96,7 +96,7 @@
 </div></div><h3 id="Salesforce-URIformat">URI format</h3><p>The URI scheme for a salesforce component is as follows</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[salesforce:topic?options
 ]]></script>
-</div></div><p>You can append query options to the URI in the following format, <code>?option=value&amp;option=value&amp;...</code></p><h3 id="Salesforce-SupportedSalesforceAPIs">Supported Salesforce APIs</h3><p>The component supports the following Salesforce APIs</p><p>Producer endpoints can use the following APIs. Most of the APIs process one record at a time, the Query API can retrieve multiple Records.</p><h4 id="Salesforce-RestAPI">Rest API</h4><ul><li>getVersions - Gets supported Salesforce REST API versions</li><li>getResources - Gets available Salesforce REST Resource endpoints</li><li>getGlobalObjects - Gets metadata for all available SObject types</li><li>getBasicInfo - Gets basic metadata for a specific SObject type</li><li>getDescription - Gets comprehensive metadata for a specific SObject type</li><li>getSObject - Gets an SObject using its Salesforce Id</li><li>createSObject - Creates an SObject</li><li>updateSObject - Updates an SObject using Id</li><li>deleteSObject -
  Deletes an SObject using Id</li><li>getSObjectWithId - Gets an SObject using an external (user defined) id field</li><li>upsertSObject - Updates or inserts an SObject using an external id</li><li>deleteSObjectWithId - Deletes an SObject using an external id</li><li>query - Runs a Salesforce SOQL query</li><li>queryMore - Retrieves more results (in case of large number of results) using result link returned from the 'query' API</li><li>search - Runs a Salesforce SOSL query</li><li><p>limits - fetching organization <a shape="rect" class="external-link" href="https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/resources_limits.htm" rel="nofollow">API usage limits</a></p></li><li><p>recent - fetching <a shape="rect" class="external-link" href="https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/resources_recent_items.htm" rel="nofollow">recently viewed items</a></p></li><li><p>approval - submit a record or records (batch) for <a shape="rect" cl
 ass="external-link" href="https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/resources_process_approvals.htm" rel="nofollow">approval process</a></p></li><li><p>approvals - fetch a list of all <a shape="rect" class="external-link" href="https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/resources_process_approvals.htm" rel="nofollow">approval processes</a></p></li></ul><p>For example, the following producer endpoint uses the upsertSObject API, with the sObjectIdName parameter specifying 'Name' as the external id field. <br clear="none"> The request message body should be an SObject DTO generated using the maven plugin. <br clear="none"> The response message will either be <code>null</code> if an existing record was updated, or <code>CreateSObjectResult</code> with an id of the new record, or a list of errors while creating the new object.</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><p>You can append query options to the URI in the following format, <code>?option=value&amp;option=value&amp;...</code></p><h3 id="Salesforce-SupportedSalesforceAPIs">Supported Salesforce APIs</h3><p>The component supports the following Salesforce APIs</p><p>Producer endpoints can use the following APIs. Most of the APIs process one record at a time, the Query API can retrieve multiple Records.</p><h4 id="Salesforce-RestAPI">Rest API</h4><ul><li>getVersions - Gets supported Salesforce REST API versions</li><li>getResources - Gets available Salesforce REST Resource endpoints</li><li>getGlobalObjects - Gets metadata for all available SObject types</li><li>getBasicInfo - Gets basic metadata for a specific SObject type</li><li>getDescription - Gets comprehensive metadata for a specific SObject type</li><li>getSObject - Gets an SObject using its Salesforce Id</li><li>createSObject - Creates an SObject</li><li>updateSObject - Updates an SObject using Id</li><li>deleteSObject -
  Deletes an SObject using Id</li><li>getSObjectWithId - Gets an SObject using an external (user defined) id field</li><li>upsertSObject - Updates or inserts an SObject using an external id</li><li>deleteSObjectWithId - Deletes an SObject using an external id</li><li>query - Runs a Salesforce SOQL query</li><li>queryMore - Retrieves more results (in case of large number of results) using result link returned from the 'query' API</li><li>search - Runs a Salesforce SOSL query</li><li><p>limits - fetching organization <a shape="rect" class="external-link" href="https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/resources_limits.htm" rel="nofollow">API usage limits</a></p></li><li><p>recent - fetching <a shape="rect" class="external-link" href="https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/resources_recent_items.htm" rel="nofollow">recently viewed items</a></p></li><li><p>approval - submit a record or records (batch) for <a shape="rect" cl
 ass="external-link" href="https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/resources_process_approvals.htm" rel="nofollow">approval process</a></p></li><li><p>approvals - fetch a list of all <a shape="rect" class="external-link" href="https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/resources_process_approvals.htm" rel="nofollow">approval processes</a></p></li><li>composite-tree - create up to 200 records with parent-child relationships (up to 5 levels) <a shape="rect" class="external-link" href="https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/resources_composite_sobject_tree.htm" rel="nofollow">in one go</a></li><li>composite-batch - submit a composition of requests in <a shape="rect" class="external-link" href="https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/resources_composite_batch.htm" rel="nofollow">batch</a></li></ul><p>For example, the following producer endpoint uses the upsert
 SObject API, with the sObjectIdName parameter specifying 'Name' as the external id field. <br clear="none"> The request message body should be an SObject DTO generated using the maven plugin. <br clear="none"> The response message will either be <code>null</code> if an existing record was updated, or <code>CreateSObjectResult</code> with an id of the new record, or a list of errors while creating the new object.</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[	...to(&quot;salesforce:upsertSObject?sObjectIdName=Name&quot;)...
 ]]></script>
 </div></div><h4 id="Salesforce-RestBulkAPI">Rest Bulk API</h4><p>Producer endpoints can use the following APIs. All Job data formats, i.e. xml, csv, zip/xml, and zip/csv are supported. <br clear="none"> The request and response have to be marshalled/unmarshalled by the route. Usually the request will be some stream source like a CSV file, <br clear="none"> and the response may also be saved to a file to be correlated with the request.</p><ul><li>createJob - Creates a Salesforce Bulk Job</li><li>getJob - Gets a Job using its Salesforce Id</li><li>closeJob - Closes a Job</li><li>abortJob - Aborts a Job</li><li>createBatch - Submits a Batch within a Bulk Job</li><li>getBatch - Gets a Batch using Id</li><li>getAllBatches - Gets all Batches for a Bulk Job Id</li><li>getRequest - Gets Request data (XML/CSV) for a Batch</li><li>getResults - Gets the results of the Batch when its complete</li><li>createBatchQuery - Creates a Batch from an SOQL query</li><li>getQueryResultIds - Gets a list o
 f Result Ids for a Batch Query</li><li>getQueryResult - Gets results for a Result Id</li></ul><p>For example, the following producer endpoint uses the createBatch API to create a Job Batch. <br clear="none"> The in message must contain a body that can be converted into an <code>InputStream</code> (usually UTF-8 CSV or XML content from a file, etc.) and header fields 'jobId' for the Job and 'contentType' for the Job content type, which can be XML, CSV, ZIP_XML or ZIP_CSV. The put message body will contain <code>BatchInfo</code> on success, or throw a <code>SalesforceException</code> on error.</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
@@ -165,6 +165,67 @@ final ApprovalResult result = template.r
     to(&quot;salesforce:recent&quot;)
         .split().body()
             .log(&quot;${body.name} at ${body.attributes.url}&quot;);]]></script>
+</div></div><h3 id="Salesforce-UsingSalesforceCompositeAPItosubmitSObjecttree">Using Salesforce Composite API to submit SObject tree</h3><p>To create up to 200 records including parent-child relationships use <code>salesforce:composite-tree</code> operation. This requires an instance of <code>org.apache.camel.component.salesforce.api.dto.composite.SObjectTree</code> in the input message and returns the same tree of objects in the output message. The <code>org.apache.camel.component.salesforce.api.dto.AbstractSObjectBase</code> instances within the tree get updated with the identifier values (<code>Id</code> property) or their corresponding <code>org.apache.camel.component.salesforce.api.dto.composite.SObjectNode</code> is populated with <code>errors</code> on failure.</p><div>Note that for some records operation can succeed and for some it can fail&#8201;&#8212;&#8201;so you need to manually check for errors.</div><div>Easiest way to use this functionality is to use the DTOs generat
 ed by the <code>camel-salesforce-maven-plugin</code>, but you also have the option of customizing the references that identify the each object in the tree, for instance primary keys from your database.</div><div>Lets look at an example:</div><div><p>&#160;</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[Account account = ...
+Contact president = ...
+Contact marketing = ...
+
+Account anotherAccount = ...
+Contact sales = ...
+Asset someAsset = ...
+
+// build the tree
+SObjectTree request = new SObjectTree();
+request.addObject(account).addChildren(president, marketing);
+request.addObject(anotherAccount).addChild(sales).addChild(someAsset);
+
+final SObjectTree response = template.requestBody(&quot;salesforce:composite-tree&quot;, tree, SObjectTree.class);
+final Map&lt;Boolean, List&lt;SObjectNode&gt;&gt; result = response.allNodes()
+                                                   .collect(Collectors.groupingBy(SObjectNode::hasErrors));
+
+final List&lt;SObjectNode&gt; withErrors = result.get(true);
+final List&lt;SObjectNode&gt; succeeded = result.get(false);
+
+final String firstId = succeeded.get(0).getId();]]></script>
+</div></div><h3 id="Salesforce-UsingSalesforceCompositeAPItosubmitmultiplerequestsinabatch">Using Salesforce Composite API to submit multiple requests in a batch</h3><p>The Composite API batch operation (<code>composite-batch</code>) allows you to accumulate multiple requests in a batch and then submit them in one go, saving the round trip cost of multiple individual requests. Each response is then received in a list of responses with the order perserved, so that the n-th requests response is in the n-th place of the response.</p><blockquote><p>The results can vary from API to API so the result of the request is given as a <code>java.lang.Object</code>. In most cases the result will be a <code>java.util.Map</code> with string keys and values or other <code>java.util.Map</code> as value. Requests made in JSON format hold some type information (i.e. it is known what values are strings and what values are numbers), so in general those will be more type friendly. Note that the responses
  will vary between XML and JSON, this is due to the responses from Salesforce API being different. So be careful if you switch between formats without changing the response handling code.</p></blockquote></div><p>Lets look at an example:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[final String acountId = ...
+final SObjectBatch batch = new SObjectBatch(&quot;38.0&quot;);
+
+final Account updates = new Account();
+updates.setName(&quot;NewName&quot;);
+batch.addUpdate(&quot;Account&quot;, accountId, updates);
+
+final Account newAccount = new Account();
+newAccount.setName(&quot;Account created from Composite batch API&quot;);
+batch.addCreate(newAccount);
+
+batch.addGet(&quot;Account&quot;, accountId, &quot;Name&quot;, &quot;BillingPostalCode&quot;);
+
+batch.addDelete(&quot;Account&quot;, accountId);
+
+final SObjectBatchResponse response = template.requestBody(&quot;salesforce:composite-batch?format=JSON&quot;, batch, SObjectBatchResponse.class);
+
+boolean hasErrors = response.hasErrors(); // if any of the requests has resulted in either 4xx or 5xx HTTP status
+final List&lt;SObjectBatchResult&gt; results = response.getResults(); // results of three operations sent in batch
+
+final SObjectBatchResult updateResult = results.get(0); // update result
+final int updateStatus = updateResult.getStatusCode(); // probably 204
+final Object updateResultData = updateResult.getResult(); // probably null
+
+final SObjectBatchResult createResult = results.get(1); // create result
+@SuppressWarnings(&quot;unchecked&quot;)
+final Map&lt;String, Object&gt; createData = (Map&lt;String, Object&gt;) createResult.getResult();
+final String newAccountId = createData.get(&quot;id&quot;); // id of the new account, this is for JSON, for XML it would be createData.get(&quot;Result&quot;).get(&quot;id&quot;)
+
+final SObjectBatchResult retrieveResult = results.get(2); // retrieve result
+@SuppressWarnings(&quot;unchecked&quot;)
+final Map&lt;String, Object&gt; retrieveData = (Map&lt;String, Object&gt;) retrieveResult.getResult();
+final String accountName = retrieveData.get(&quot;Name&quot;); // Name of the retrieved account, this is for JSON, for XML it would be createData.get(&quot;Account&quot;).get(&quot;Name&quot;)
+final String accountBillingPostalCode = retrieveData.get(&quot;BillingPostalCode&quot;); // Name of the retrieved account, this is for JSON, for XML it would be createData.get(&quot;Account&quot;).get(&quot;BillingPostalCode&quot;)
+
+final SObjectBatchResult deleteResult = results.get(3); // delete result
+final int updateStatus = deleteResult.getStatusCode(); // probably 204
+final Object updateResultData = deleteResult.getResult(); // probably null]]></script>
 </div></div><h2 id="Salesforce-CamelSalesforceMavenPlugin">Camel Salesforce Maven Plugin</h2><p>This Maven plugin generates DTOs for the Camel <a shape="rect" href="salesforce.html">Salesforce</a>.</p><h3 id="Salesforce-Usage">Usage</h3><p>The plugin configuration has the following properties.</p><div class="confluenceTableSmall"><div class="table-wrap">
  <table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Option</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>clientId</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Salesforce client Id for Remote API access</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>clientSecret</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Salesforce client secret for Remote API access</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>userName</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Salesforce account user name</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>password</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Salesforce account password (including secret token)</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>version</p></td><td colspa
 n="1" rowspan="1" class="confluenceTd"><p>Salesforce Rest API version, defaults to 25.0</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>outputDirectory</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Directory where to place generated DTOs, defaults to ${project.build.directory}/generated-sources/camel-salesforce</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>includes</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>List of SObject types to include</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>excludes</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>List of SObject types to exclude</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>includePattern</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Java RegEx for SObject types to include</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>excludePattern</p></td><td colspan="1" rowspan="1" cla
 ss="confluenceTd"><p>Java RegEx for SObject types to exclude</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>packageName</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Java package name for generated DTOs, defaults to org.apache.camel.salesforce.dto.</p></td></tr></tbody></table>
 </div></div><p>For obvious security reasons it is recommended that the clientId, clientSecret, userName and password fields be not set in the pom.xml. <br clear="none"> The plugin should be configured for the rest of the properties, and can be executed using the following command:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">

Modified: websites/production/camel/content/what-are-the-dependencies.html
==============================================================================
--- websites/production/camel/content/what-are-the-dependencies.html (original)
+++ websites/production/camel/content/what-are-the-dependencies.html Thu Dec 15 10:19:54 2016
@@ -75,7 +75,7 @@
 	<tbody>
         <tr>
         <td valign="top" width="100%">
-<div class="wiki-content maincontent"><h2 id="Whatarethedependencies-Whatarethedependencies?">What are the dependencies?</h2><p>Camel 2.6 or older can run on JDK 1.5 or better.<br clear="none"> Camel 2.7 onwards requires JDK 1.6 or JDK 1.7.<br clear="none">Camel 2.14 onwards requires JDK 1.7 or better.&#160;</p><h2 id="Whatarethedependencies-Whataretheruntimejardependencies?">What are the runtime jar dependencies?</h2><p>Apache Camel is designed to require a minimum number of dependencies for us so it is ideal for embedding into smart clients, message brokers, SOA frameworks and ESBs.</p><p></p><h2 id="Whatarethedependencies-Cameljardependencies">Camel jar dependencies</h2><p>Camel core itself is lightweight and can run with a few .jars.</p><h4 id="Whatarethedependencies-camel-coredependenciesforCamel2.0orlower">camel-core dependencies for Camel 2.0 or lower</h4><ul class="alternate"><li>commons-logging-api.jar - API for commons logging</li><li>JAXB 2.1.x - XML stuff - Is provided i
 n the JDK core from Java 1.6 onwards</li><li>activation.jar - For Attachments support - Is provided in the JDK core from Java 1.6 onwards</li></ul><h4 id="Whatarethedependencies-camel-coredependenciesforCamel2.1-2.6">camel-core dependencies for Camel 2.1 - 2.6</h4><ul class="alternate"><li>commons-logging-api-1.1.jar - API for commons logging</li><li>commons-management-1.0.jar - API for JMX</li><li>JAXB 2.1.x - XML stuff - Is provided in the JDK core from Java 1.6 onwards</li><li>activation-1.1.jar - For Attachments support - Is provided in the JDK core from Java 1.6 onwards</li></ul><h4 id="Whatarethedependencies-camel-coredependenciesforCamel2.7-2.8">camel-core dependencies for Camel 2.7 - 2.8</h4><ul class="alternate"><li>slf4j-api-1.5.11.jar - API for slf4j logging</li><li>commons-management-1.0.jar - API for JMX</li></ul><h4 id="Whatarethedependencies-camel-coredependenciesforCamel2.9onwards">camel-core dependencies for Camel 2.9 onwards</h4><ul class="alternate"><li>slf4j-api-
 1.6.1.jar - API for slf4j logging</li></ul><h4 id="Whatarethedependencies-OptionaldependenciesforJMXforCamel1.x-2.8">Optional dependencies for JMX for Camel 1.x - 2.8</h4><ul class="alternate"><li>spring-core.jar, spring-beans.jar, spring-context.jar, spring-aop.jar - All 4 jars needed to use JMX with Camel (subject to change in the future).</li></ul><p>From <strong>Camel 2.9</strong> onwards the Spring JARs are no longer required for using JMX.</p><h2 id="Whatarethedependencies-OtherComponents">Other Components</h2><p>All the other <a shape="rect" href="components.html">Components</a> have a range of 3rd party .jars they depend on. They are listed in the maven pom files which files they require.</p><p>Other modules require other dependencies; such as camel-jms requires a JMS provider. To see the exact dependencies of the other modules see the <a shape="rect" class="external-link" href="http://activemq.apache.org/camel/maven/">Maven reports</a></p></div>
+<div class="wiki-content maincontent"><h2 id="Whatarethedependencies-Whatarethedependencies?">What are the dependencies?</h2><p>Camel 2.6 or older can run on JDK 1.5 or better.<br clear="none"> Camel 2.7 onwards requires JDK 1.6 or JDK 1.7.<br clear="none">Camel 2.14 onwards requires JDK 1.7 or better.<br clear="none">Camel 2.18 onwards requires JDK 1.8.</p><h2 id="Whatarethedependencies-Whataretheruntimejardependencies?">What are the runtime jar dependencies?</h2><p>Apache Camel is designed to require a minimum number of dependencies for us so it is ideal for embedding into smart clients, message brokers, SOA frameworks and ESBs.</p><p></p><h2 id="Whatarethedependencies-Cameljardependencies">Camel jar dependencies</h2><p>Camel core itself is lightweight and can run with a few .jars.</p><h4 id="Whatarethedependencies-camel-coredependenciesforCamel2.0orlower">camel-core dependencies for Camel 2.0 or lower</h4><ul class="alternate"><li>commons-logging-api.jar - API for commons logging
 </li><li>JAXB 2.1.x - XML stuff - Is provided in the JDK core from Java 1.6 onwards</li><li>activation.jar - For Attachments support - Is provided in the JDK core from Java 1.6 onwards</li></ul><h4 id="Whatarethedependencies-camel-coredependenciesforCamel2.1-2.6">camel-core dependencies for Camel 2.1 - 2.6</h4><ul class="alternate"><li>commons-logging-api-1.1.jar - API for commons logging</li><li>commons-management-1.0.jar - API for JMX</li><li>JAXB 2.1.x - XML stuff - Is provided in the JDK core from Java 1.6 onwards</li><li>activation-1.1.jar - For Attachments support - Is provided in the JDK core from Java 1.6 onwards</li></ul><h4 id="Whatarethedependencies-camel-coredependenciesforCamel2.7-2.8">camel-core dependencies for Camel 2.7 - 2.8</h4><ul class="alternate"><li>slf4j-api-1.5.11.jar - API for slf4j logging</li><li>commons-management-1.0.jar - API for JMX</li></ul><h4 id="Whatarethedependencies-camel-coredependenciesforCamel2.9onwards">camel-core dependencies for Camel 2.9 o
 nwards</h4><ul class="alternate"><li>slf4j-api-1.6.1.jar - API for slf4j logging</li></ul><h4 id="Whatarethedependencies-OptionaldependenciesforJMXforCamel1.x-2.8">Optional dependencies for JMX for Camel 1.x - 2.8</h4><ul class="alternate"><li>spring-core.jar, spring-beans.jar, spring-context.jar, spring-aop.jar - All 4 jars needed to use JMX with Camel (subject to change in the future).</li></ul><p>From <strong>Camel 2.9</strong> onwards the Spring JARs are no longer required for using JMX.</p><h2 id="Whatarethedependencies-OtherComponents">Other Components</h2><p>All the other <a shape="rect" href="components.html">Components</a> have a range of 3rd party .jars they depend on. They are listed in the maven pom files which files they require.</p><p>Other modules require other dependencies; such as camel-jms requires a JMS provider. To see the exact dependencies of the other modules see the <a shape="rect" class="external-link" href="http://activemq.apache.org/camel/maven/">Maven rep
 orts</a></p></div>
         </td>
         <td valign="top">
           <div class="navigation">