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

[2/5] camel git commit: CAMEL-10842: Component JSon schema - JSon values should not always be string types

CAMEL-10842: Component JSon schema - JSon values should not always be string types


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/55dcbe80
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/55dcbe80
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/55dcbe80

Branch: refs/heads/master
Commit: 55dcbe801e76bead67a715026e91540b857f5cbf
Parents: 9ea5360
Author: Claus Ibsen <da...@apache.org>
Authored: Thu Feb 16 12:57:29 2017 +0100
Committer: Claus Ibsen <da...@apache.org>
Committed: Thu Feb 16 12:57:29 2017 +0100

----------------------------------------------------------------------
 camel-core/src/main/docs/dataset-component.adoc |  8 +--
 camel-core/src/main/docs/mock-component.adoc    |  8 +--
 camel-core/src/main/docs/test-component.adoc    |  8 +--
 camel-core/src/main/docs/zip-dataformat.adoc    |  4 +-
 .../org/apache/camel/util/JsonSchemaHelper.java | 76 ++++++++++----------
 .../src/main/docs/amqp-component.adoc           | 14 ++--
 .../src/main/docs/couchbase-component.adoc      |  8 +--
 .../src/main/docs/elsql-component.adoc          |  4 +-
 .../src/main/docs/json-gson-dataformat.adoc     |  4 +-
 .../camel-irc/src/main/docs/irc-component.adoc  |  4 +-
 .../src/main/docs/json-jackson-dataformat.adoc  |  4 +-
 .../camel-jms/src/main/docs/jms-component.adoc  | 14 ++--
 .../src/main/docs/json-johnzon-dataformat.adoc  |  4 +-
 .../camel-jpa/src/main/docs/jpa-component.adoc  |  4 +-
 .../src/main/docs/kafka-component.adoc          |  4 +-
 .../src/main/docs/mail-component.adoc           |  4 +-
 .../src/main/docs/mina-component.adoc           |  4 +-
 .../src/main/docs/mina2-component.adoc          |  4 +-
 .../src/main/docs/mllp-component.adoc           |  4 +-
 .../src/main/docs/mongodb-component.adoc        |  4 +-
 .../src/main/docs/mqtt-component.adoc           |  8 +--
 .../src/main/docs/netty-http-component.adoc     |  4 +-
 .../src/main/docs/netty-component.adoc          |  4 +-
 .../src/main/docs/netty4-http-component.adoc    |  4 +-
 .../src/main/docs/netty4-component.adoc         |  4 +-
 .../src/main/docs/sjms-component.adoc           |  6 +-
 .../camel-sql/src/main/docs/sql-component.adoc  |  4 +-
 .../src/main/docs/websocket-component.adoc      |  4 +-
 .../src/main/docs/yammer-component.adoc         |  8 +--
 .../apache/camel/catalog/JSonSchemaHelper.java  | 32 ++++++---
 .../apache/camel/catalog/CamelCatalogTest.java  | 40 +++++++++++
 .../src/test/resources/org/foo/camel/dummy.json | 59 +++++++--------
 .../springboot/AMQPComponentConfiguration.java  |  6 +-
 .../BindyCsvDataFormatConfiguration.java        |  3 +-
 ...BindyFixedLengthDataFormatConfiguration.java |  3 +-
 ...indyKeyValuePairDataFormatConfiguration.java |  3 +-
 .../springboot/ZipDataFormatConfiguration.java  |  2 +-
 .../springboot/GsonDataFormatConfiguration.java |  2 +-
 .../JacksonDataFormatConfiguration.java         |  2 +-
 .../springboot/JmsComponentConfiguration.java   |  6 +-
 .../JohnzonDataFormatConfiguration.java         |  2 +-
 .../tools/apt/CoreEipAnnotationProcessor.java   |  6 +-
 .../tools/apt/EndpointAnnotationProcessor.java  | 15 ++--
 .../tools/apt/SpringAnnotationProcessor.java    |  6 +-
 .../tools/apt/helper/JsonSchemaHelper.java      | 57 ++++++++++-----
 .../camel/maven/packaging/JSonSchemaHelper.java | 32 ++++++---
 46 files changed, 301 insertions(+), 209 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/55dcbe80/camel-core/src/main/docs/dataset-component.adoc
----------------------------------------------------------------------
diff --git a/camel-core/src/main/docs/dataset-component.adoc b/camel-core/src/main/docs/dataset-component.adoc
index 2170661..b4f8245 100644
--- a/camel-core/src/main/docs/dataset-component.adoc
+++ b/camel-core/src/main/docs/dataset-component.adoc
@@ -67,12 +67,12 @@ The Dataset component supports 20 endpoint options which are listed below:
 | exchangePattern | consumer (advanced) |  | ExchangePattern | Sets the default exchange pattern when creating an exchange.
 | assertPeriod | producer | 0 | long | Sets a grace period after which the mock endpoint will re-assert to ensure the preliminary assertion is still valid. This is used for example to assert that exactly a number of messages arrives. For example if link expectedMessageCount(int) was set to 5 then the assertion is satisfied when 5 or more message arrives. To ensure that exactly 5 messages arrives then you would need to wait a little period to ensure no further message arrives. This is what you can use this link setAssertPeriod(long) method for. By default this period is disabled.
 | consumeDelay | producer | 0 | long | Allows a delay to be specified which causes a delay when a message is consumed by the producer (to simulate slow processing)
-| expectedCount | producer | -1 | int | Specifies the expected number of message exchanges that should be received by this endpoint. Beware: If you want to expect that 0 messages then take extra care as 0 matches when the tests starts so you need to set a assert period time to let the test run for a while to make sure there are still no messages arrived; for that use link setAssertPeriod(long). An alternative is to use NotifyBuilder and use the notifier to know when Camel is done routing some messages before you call the link assertIsSatisfied() method on the mocks. This allows you to not use a fixed assert period to speedup testing times. If you want to assert that exactly n'th message arrives to this mock endpoint then see also the link setAssertPeriod(long) method for further details.
+| expectedCount | producer | 1 | int | Specifies the expected number of message exchanges that should be received by this endpoint. Beware: If you want to expect that 0 messages then take extra care as 0 matches when the tests starts so you need to set a assert period time to let the test run for a while to make sure there are still no messages arrived; for that use link setAssertPeriod(long). An alternative is to use NotifyBuilder and use the notifier to know when Camel is done routing some messages before you call the link assertIsSatisfied() method on the mocks. This allows you to not use a fixed assert period to speedup testing times. If you want to assert that exactly n'th message arrives to this mock endpoint then see also the link setAssertPeriod(long) method for further details.
 | reportGroup | producer |  | int | A number that is used to turn on throughput logging based on groups of the size.
 | resultMinimumWaitTime | producer | 0 | long | Sets the minimum expected amount of time (in millis) the link assertIsSatisfied() will wait on a latch until it is satisfied
 | resultWaitTime | producer | 0 | long | Sets the maximum amount of time (in millis) the link assertIsSatisfied() will wait on a latch until it is satisfied
-| retainFirst | producer | -1 | int | Specifies to only retain the first n'th number of received Exchanges. This is used when testing with big data to reduce memory consumption by not storing copies of every Exchange this mock endpoint receives. Important: When using this limitation then the link getReceivedCounter() will still return the actual number of received Exchanges. For example if we have received 5000 Exchanges and have configured to only retain the first 10 Exchanges then the link getReceivedCounter() will still return 5000 but there is only the first 10 Exchanges in the link getExchanges() and link getReceivedExchanges() methods. When using this method then some of the other expectation methods is not supported for example the link expectedBodiesReceived(Object...) sets a expectation on the first number of bodies received. You can configure both link setRetainFirst(int) and link setRetainLast(int) methods to limit both the first and last received.
-| retainLast | producer | -1 | int | Specifies to only retain the last n'th number of received Exchanges. This is used when testing with big data to reduce memory consumption by not storing copies of every Exchange this mock endpoint receives. Important: When using this limitation then the link getReceivedCounter() will still return the actual number of received Exchanges. For example if we have received 5000 Exchanges and have configured to only retain the last 20 Exchanges then the link getReceivedCounter() will still return 5000 but there is only the last 20 Exchanges in the link getExchanges() and link getReceivedExchanges() methods. When using this method then some of the other expectation methods is not supported for example the link expectedBodiesReceived(Object...) sets a expectation on the first number of bodies received. You can configure both link setRetainFirst(int) and link setRetainLast(int) methods to limit both the first and last received.
+| retainFirst | producer | 1 | int | Specifies to only retain the first n'th number of received Exchanges. This is used when testing with big data to reduce memory consumption by not storing copies of every Exchange this mock endpoint receives. Important: When using this limitation then the link getReceivedCounter() will still return the actual number of received Exchanges. For example if we have received 5000 Exchanges and have configured to only retain the first 10 Exchanges then the link getReceivedCounter() will still return 5000 but there is only the first 10 Exchanges in the link getExchanges() and link getReceivedExchanges() methods. When using this method then some of the other expectation methods is not supported for example the link expectedBodiesReceived(Object...) sets a expectation on the first number of bodies received. You can configure both link setRetainFirst(int) and link setRetainLast(int) methods to limit both the first and last received.
+| retainLast | producer | 1 | int | Specifies to only retain the last n'th number of received Exchanges. This is used when testing with big data to reduce memory consumption by not storing copies of every Exchange this mock endpoint receives. Important: When using this limitation then the link getReceivedCounter() will still return the actual number of received Exchanges. For example if we have received 5000 Exchanges and have configured to only retain the last 20 Exchanges then the link getReceivedCounter() will still return 5000 but there is only the last 20 Exchanges in the link getExchanges() and link getReceivedExchanges() methods. When using this method then some of the other expectation methods is not supported for example the link expectedBodiesReceived(Object...) sets a expectation on the first number of bodies received. You can configure both link setRetainFirst(int) and link setRetainLast(int) methods to limit both the first and last received.
 | sleepForEmptyTest | producer | 0 | long | Allows a sleep to be specified to wait to check that this endpoint really is empty when link expectedMessageCount(int) is called with zero
 | copyOnExchange | producer (advanced) | true | boolean | Sets whether to make a deep copy of the incoming Exchange when received at this mock endpoint. Is by default true.
 | synchronous | advanced | false | boolean | Sets whether synchronous processing should be strictly used or Camel is allowed to use asynchronous processing (if supported).
@@ -209,4 +209,4 @@ the file into multiple payloads.
 * link:component.html[Component]
 * link:endpoint.html[Endpoint]
 * link:getting-started.html[Getting Started]
-* link:spring-testing.html[Spring Testing]
\ No newline at end of file
+* link:spring-testing.html[Spring Testing]

http://git-wip-us.apache.org/repos/asf/camel/blob/55dcbe80/camel-core/src/main/docs/mock-component.adoc
----------------------------------------------------------------------
diff --git a/camel-core/src/main/docs/mock-component.adoc b/camel-core/src/main/docs/mock-component.adoc
index 6ac3a1c..47b8e39 100644
--- a/camel-core/src/main/docs/mock-component.adoc
+++ b/camel-core/src/main/docs/mock-component.adoc
@@ -101,12 +101,12 @@ The Mock component supports 11 endpoint options which are listed below:
 | Name | Group | Default | Java Type | Description
 | name | producer |  | String | *Required* Name of mock endpoint
 | assertPeriod | producer | 0 | long | Sets a grace period after which the mock endpoint will re-assert to ensure the preliminary assertion is still valid. This is used for example to assert that exactly a number of messages arrives. For example if link expectedMessageCount(int) was set to 5 then the assertion is satisfied when 5 or more message arrives. To ensure that exactly 5 messages arrives then you would need to wait a little period to ensure no further message arrives. This is what you can use this link setAssertPeriod(long) method for. By default this period is disabled.
-| expectedCount | producer | -1 | int | Specifies the expected number of message exchanges that should be received by this endpoint. Beware: If you want to expect that 0 messages then take extra care as 0 matches when the tests starts so you need to set a assert period time to let the test run for a while to make sure there are still no messages arrived; for that use link setAssertPeriod(long). An alternative is to use NotifyBuilder and use the notifier to know when Camel is done routing some messages before you call the link assertIsSatisfied() method on the mocks. This allows you to not use a fixed assert period to speedup testing times. If you want to assert that exactly n'th message arrives to this mock endpoint then see also the link setAssertPeriod(long) method for further details.
+| expectedCount | producer | 1 | int | Specifies the expected number of message exchanges that should be received by this endpoint. Beware: If you want to expect that 0 messages then take extra care as 0 matches when the tests starts so you need to set a assert period time to let the test run for a while to make sure there are still no messages arrived; for that use link setAssertPeriod(long). An alternative is to use NotifyBuilder and use the notifier to know when Camel is done routing some messages before you call the link assertIsSatisfied() method on the mocks. This allows you to not use a fixed assert period to speedup testing times. If you want to assert that exactly n'th message arrives to this mock endpoint then see also the link setAssertPeriod(long) method for further details.
 | reportGroup | producer |  | int | A number that is used to turn on throughput logging based on groups of the size.
 | resultMinimumWaitTime | producer | 0 | long | Sets the minimum expected amount of time (in millis) the link assertIsSatisfied() will wait on a latch until it is satisfied
 | resultWaitTime | producer | 0 | long | Sets the maximum amount of time (in millis) the link assertIsSatisfied() will wait on a latch until it is satisfied
-| retainFirst | producer | -1 | int | Specifies to only retain the first n'th number of received Exchanges. This is used when testing with big data to reduce memory consumption by not storing copies of every Exchange this mock endpoint receives. Important: When using this limitation then the link getReceivedCounter() will still return the actual number of received Exchanges. For example if we have received 5000 Exchanges and have configured to only retain the first 10 Exchanges then the link getReceivedCounter() will still return 5000 but there is only the first 10 Exchanges in the link getExchanges() and link getReceivedExchanges() methods. When using this method then some of the other expectation methods is not supported for example the link expectedBodiesReceived(Object...) sets a expectation on the first number of bodies received. You can configure both link setRetainFirst(int) and link setRetainLast(int) methods to limit both the first and last received.
-| retainLast | producer | -1 | int | Specifies to only retain the last n'th number of received Exchanges. This is used when testing with big data to reduce memory consumption by not storing copies of every Exchange this mock endpoint receives. Important: When using this limitation then the link getReceivedCounter() will still return the actual number of received Exchanges. For example if we have received 5000 Exchanges and have configured to only retain the last 20 Exchanges then the link getReceivedCounter() will still return 5000 but there is only the last 20 Exchanges in the link getExchanges() and link getReceivedExchanges() methods. When using this method then some of the other expectation methods is not supported for example the link expectedBodiesReceived(Object...) sets a expectation on the first number of bodies received. You can configure both link setRetainFirst(int) and link setRetainLast(int) methods to limit both the first and last received.
+| retainFirst | producer | 1 | int | Specifies to only retain the first n'th number of received Exchanges. This is used when testing with big data to reduce memory consumption by not storing copies of every Exchange this mock endpoint receives. Important: When using this limitation then the link getReceivedCounter() will still return the actual number of received Exchanges. For example if we have received 5000 Exchanges and have configured to only retain the first 10 Exchanges then the link getReceivedCounter() will still return 5000 but there is only the first 10 Exchanges in the link getExchanges() and link getReceivedExchanges() methods. When using this method then some of the other expectation methods is not supported for example the link expectedBodiesReceived(Object...) sets a expectation on the first number of bodies received. You can configure both link setRetainFirst(int) and link setRetainLast(int) methods to limit both the first and last received.
+| retainLast | producer | 1 | int | Specifies to only retain the last n'th number of received Exchanges. This is used when testing with big data to reduce memory consumption by not storing copies of every Exchange this mock endpoint receives. Important: When using this limitation then the link getReceivedCounter() will still return the actual number of received Exchanges. For example if we have received 5000 Exchanges and have configured to only retain the last 20 Exchanges then the link getReceivedCounter() will still return 5000 but there is only the last 20 Exchanges in the link getExchanges() and link getReceivedExchanges() methods. When using this method then some of the other expectation methods is not supported for example the link expectedBodiesReceived(Object...) sets a expectation on the first number of bodies received. You can configure both link setRetainFirst(int) and link setRetainLast(int) methods to limit both the first and last received.
 | sleepForEmptyTest | producer | 0 | long | Allows a sleep to be specified to wait to check that this endpoint really is empty when link expectedMessageCount(int) is called with zero
 | copyOnExchange | producer (advanced) | true | boolean | Sets whether to make a deep copy of the incoming Exchange when received at this mock endpoint. Is by default true.
 | synchronous | advanced | false | boolean | Sets whether synchronous processing should be strictly used or Camel is allowed to use asynchronous processing (if supported).
@@ -486,4 +486,4 @@ In the example above we use `seconds` as the time unit, but Camel offers
 * link:getting-started.html[Getting Started]
 
 * link:spring-testing.html[Spring Testing]
-* link:testing.html[Testing]
\ No newline at end of file
+* link:testing.html[Testing]

http://git-wip-us.apache.org/repos/asf/camel/blob/55dcbe80/camel-core/src/main/docs/test-component.adoc
----------------------------------------------------------------------
diff --git a/camel-core/src/main/docs/test-component.adoc b/camel-core/src/main/docs/test-component.adoc
index 6423fdb..de3a5f1 100644
--- a/camel-core/src/main/docs/test-component.adoc
+++ b/camel-core/src/main/docs/test-component.adoc
@@ -68,12 +68,12 @@ The Test component supports 15 endpoint options which are listed below:
 | anyOrder | producer | false | boolean | Whether the expected messages should arrive in the same order or can be in any order.
 | assertPeriod | producer | 0 | long | Sets a grace period after which the mock endpoint will re-assert to ensure the preliminary assertion is still valid. This is used for example to assert that exactly a number of messages arrives. For example if link expectedMessageCount(int) was set to 5 then the assertion is satisfied when 5 or more message arrives. To ensure that exactly 5 messages arrives then you would need to wait a little period to ensure no further message arrives. This is what you can use this link setAssertPeriod(long) method for. By default this period is disabled.
 | delimiter | producer |  | String | The split delimiter to use when split is enabled. By default the delimiter is new line based. The delimiter can be a regular expression.
-| expectedCount | producer | -1 | int | Specifies the expected number of message exchanges that should be received by this endpoint. Beware: If you want to expect that 0 messages then take extra care as 0 matches when the tests starts so you need to set a assert period time to let the test run for a while to make sure there are still no messages arrived; for that use link setAssertPeriod(long). An alternative is to use NotifyBuilder and use the notifier to know when Camel is done routing some messages before you call the link assertIsSatisfied() method on the mocks. This allows you to not use a fixed assert period to speedup testing times. If you want to assert that exactly n'th message arrives to this mock endpoint then see also the link setAssertPeriod(long) method for further details.
+| expectedCount | producer | 1 | int | Specifies the expected number of message exchanges that should be received by this endpoint. Beware: If you want to expect that 0 messages then take extra care as 0 matches when the tests starts so you need to set a assert period time to let the test run for a while to make sure there are still no messages arrived; for that use link setAssertPeriod(long). An alternative is to use NotifyBuilder and use the notifier to know when Camel is done routing some messages before you call the link assertIsSatisfied() method on the mocks. This allows you to not use a fixed assert period to speedup testing times. If you want to assert that exactly n'th message arrives to this mock endpoint then see also the link setAssertPeriod(long) method for further details.
 | reportGroup | producer |  | int | A number that is used to turn on throughput logging based on groups of the size.
 | resultMinimumWaitTime | producer | 0 | long | Sets the minimum expected amount of time (in millis) the link assertIsSatisfied() will wait on a latch until it is satisfied
 | resultWaitTime | producer | 0 | long | Sets the maximum amount of time (in millis) the link assertIsSatisfied() will wait on a latch until it is satisfied
-| retainFirst | producer | -1 | int | Specifies to only retain the first n'th number of received Exchanges. This is used when testing with big data to reduce memory consumption by not storing copies of every Exchange this mock endpoint receives. Important: When using this limitation then the link getReceivedCounter() will still return the actual number of received Exchanges. For example if we have received 5000 Exchanges and have configured to only retain the first 10 Exchanges then the link getReceivedCounter() will still return 5000 but there is only the first 10 Exchanges in the link getExchanges() and link getReceivedExchanges() methods. When using this method then some of the other expectation methods is not supported for example the link expectedBodiesReceived(Object...) sets a expectation on the first number of bodies received. You can configure both link setRetainFirst(int) and link setRetainLast(int) methods to limit both the first and last received.
-| retainLast | producer | -1 | int | Specifies to only retain the last n'th number of received Exchanges. This is used when testing with big data to reduce memory consumption by not storing copies of every Exchange this mock endpoint receives. Important: When using this limitation then the link getReceivedCounter() will still return the actual number of received Exchanges. For example if we have received 5000 Exchanges and have configured to only retain the last 20 Exchanges then the link getReceivedCounter() will still return 5000 but there is only the last 20 Exchanges in the link getExchanges() and link getReceivedExchanges() methods. When using this method then some of the other expectation methods is not supported for example the link expectedBodiesReceived(Object...) sets a expectation on the first number of bodies received. You can configure both link setRetainFirst(int) and link setRetainLast(int) methods to limit both the first and last received.
+| retainFirst | producer | 1 | int | Specifies to only retain the first n'th number of received Exchanges. This is used when testing with big data to reduce memory consumption by not storing copies of every Exchange this mock endpoint receives. Important: When using this limitation then the link getReceivedCounter() will still return the actual number of received Exchanges. For example if we have received 5000 Exchanges and have configured to only retain the first 10 Exchanges then the link getReceivedCounter() will still return 5000 but there is only the first 10 Exchanges in the link getExchanges() and link getReceivedExchanges() methods. When using this method then some of the other expectation methods is not supported for example the link expectedBodiesReceived(Object...) sets a expectation on the first number of bodies received. You can configure both link setRetainFirst(int) and link setRetainLast(int) methods to limit both the first and last received.
+| retainLast | producer | 1 | int | Specifies to only retain the last n'th number of received Exchanges. This is used when testing with big data to reduce memory consumption by not storing copies of every Exchange this mock endpoint receives. Important: When using this limitation then the link getReceivedCounter() will still return the actual number of received Exchanges. For example if we have received 5000 Exchanges and have configured to only retain the last 20 Exchanges then the link getReceivedCounter() will still return 5000 but there is only the last 20 Exchanges in the link getExchanges() and link getReceivedExchanges() methods. When using this method then some of the other expectation methods is not supported for example the link expectedBodiesReceived(Object...) sets a expectation on the first number of bodies received. You can configure both link setRetainFirst(int) and link setRetainLast(int) methods to limit both the first and last received.
 | sleepForEmptyTest | producer | 0 | long | Allows a sleep to be specified to wait to check that this endpoint really is empty when link expectedMessageCount(int) is called with zero
 | split | producer | false | boolean | If enabled the the messages loaded from the test endpoint will be split using \n\r delimiters (new lines) so each line is an expected message. For example to use a file endpoint to load a file where each line is an expected message.
 | timeout | producer | 2000 | long | The timeout to use when polling for message bodies from the URI
@@ -108,4 +108,4 @@ link:mock.html[Mock] component.
 * link:endpoint.html[Endpoint]
 * link:getting-started.html[Getting Started]
 
-* link:spring-testing.html[Spring Testing]
\ No newline at end of file
+* link:spring-testing.html[Spring Testing]

http://git-wip-us.apache.org/repos/asf/camel/blob/55dcbe80/camel-core/src/main/docs/zip-dataformat.adoc
----------------------------------------------------------------------
diff --git a/camel-core/src/main/docs/zip-dataformat.adoc b/camel-core/src/main/docs/zip-dataformat.adoc
index f0ddbee..fd338bb 100644
--- a/camel-core/src/main/docs/zip-dataformat.adoc
+++ b/camel-core/src/main/docs/zip-dataformat.adoc
@@ -27,7 +27,7 @@ The Zip Deflate Compression dataformat supports 2 options which are listed below
 [width="100%",cols="2s,1m,1m,6",options="header"]
 |=======================================================================
 | Name | Default | Java Type | Description
-| compressionLevel | -1 | Integer | To specify a specific compression between 0-9. -1 is default compression 0 is no compression and 9 is best compression.
+| compressionLevel | 1 | Integer | To specify a specific compression between 0-9. -1 is default compression 0 is no compression and 9 is best compression.
 | contentTypeHeader | false | Boolean | Whether the data format should set the Content-Type header with the type from the data format if the data format is capable of doing so. For example application/xml for data formats marshalling to XML or application/json for data formats marshalling to JSon etc.
 |=======================================================================
 {% endraw %}
@@ -68,4 +68,4 @@ from("activemq:queue:MY_QUEUE").unmarshal().zip().process(new UnZippedMessagePro
 ### Dependencies
 
 This data format is provided in *camel-core* so no additional
-dependencies are needed.
\ No newline at end of file
+dependencies are needed.

http://git-wip-us.apache.org/repos/asf/camel/blob/55dcbe80/camel-core/src/main/java/org/apache/camel/util/JsonSchemaHelper.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/util/JsonSchemaHelper.java b/camel-core/src/main/java/org/apache/camel/util/JsonSchemaHelper.java
index df7ff01..09e89c0 100644
--- a/camel-core/src/main/java/org/apache/camel/util/JsonSchemaHelper.java
+++ b/camel-core/src/main/java/org/apache/camel/util/JsonSchemaHelper.java
@@ -30,7 +30,8 @@ import java.util.regex.Pattern;
  */
 public final class JsonSchemaHelper {
 
-    private static final Pattern PATTERN = Pattern.compile("\"(.+?)\"|\\[(.+)\\]");
+    // 0 = text, 1 = enum, 2 = boolean, 3 = integer
+    private static final Pattern PATTERN = Pattern.compile("\"(.+?)\"|\\[(.+)\\]|(true|false)|(\\d+)");
     private static final String QUOT = "&quot;";
 
     private JsonSchemaHelper() {
@@ -49,10 +50,10 @@ public final class JsonSchemaHelper {
             return "array";
         }
         if (type.isAssignableFrom(URI.class) || type.isAssignableFrom(URL.class)) {
-            return "sting";
+            return "string";
         }
 
-        String primitive = getPrimitiveType(type);
+        String primitive = getPrimitiveType(type.getCanonicalName());
         if (primitive != null) {
             return primitive;
         }
@@ -63,11 +64,10 @@ public final class JsonSchemaHelper {
     /**
      * Gets the JSon schema primitive type.
      *
-     * @param type the java type
-     * @return the json schema primitive type, or <tt>null</tt> if not a primitive
+     * @param   name the java type
+     * @return  the json schema primitive type, or <tt>null</tt> if not a primitive
      */
-    public static String getPrimitiveType(Class<?> type) {
-        String name = type.getCanonicalName();
+    public static String getPrimitiveType(String name) {
 
         // special for byte[] or Object[] as its common to use
         if ("java.lang.byte[]".equals(name) || "byte[]".equals(name)) {
@@ -78,36 +78,23 @@ public final class JsonSchemaHelper {
             return "array";
         } else if ("java.lang.String[]".equals(name) || "String[]".equals(name)) {
             return "array";
-            // and these is common as well
+        } else if ("java.lang.Character".equals(name) || "Character".equals(name) || "char".equals(name)) {
+            return "string";
         } else if ("java.lang.String".equals(name) || "String".equals(name)) {
             return "string";
-        } else if ("java.lang.Boolean".equals(name) || "Boolean".equals(name)) {
+        } else if ("java.lang.Boolean".equals(name) || "Boolean".equals(name) || "boolean".equals(name)) {
             return "boolean";
-        } else if ("boolean".equals(name)) {
-            return "boolean";
-        } else if ("java.lang.Integer".equals(name) || "Integer".equals(name)) {
-            return "integer";
-        } else if ("int".equals(name)) {
-            return "integer";
-        } else if ("java.lang.Long".equals(name) || "Long".equals(name)) {
+        } else if ("java.lang.Integer".equals(name) || "Integer".equals(name) || "int".equals(name)) {
             return "integer";
-        } else if ("long".equals(name)) {
+        } else if ("java.lang.Long".equals(name) || "Long".equals(name) || "long".equals(name)) {
             return "integer";
-        } else if ("java.lang.Short".equals(name) || "Short".equals(name)) {
+        } else if ("java.lang.Short".equals(name) || "Short".equals(name) || "short".equals(name)) {
             return "integer";
-        } else if ("short".equals(name)) {
+        } else if ("java.lang.Byte".equals(name) || "Byte".equals(name) || "byte".equals(name)) {
             return "integer";
-        } else if ("java.lang.Byte".equals(name) || "Byte".equals(name)) {
-            return "integer";
-        } else if ("byte".equals(name)) {
-            return "integer";
-        } else if ("java.lang.Float".equals(name) || "Float".equals(name)) {
-            return "number";
-        } else if ("float".equals(name)) {
+        } else if ("java.lang.Float".equals(name) || "Float".equals(name) || "float".equals(name)) {
             return "number";
-        } else if ("java.lang.Double".equals(name) || "Double".equals(name)) {
-            return "number";
-        } else if ("double".equals(name)) {
+        } else if ("java.lang.Double".equals(name) || "Double".equals(name) || "double".equals(name)) {
             return "number";
         }
 
@@ -118,7 +105,7 @@ public final class JsonSchemaHelper {
      * Parses the json schema to split it into a list or rows, where each row contains key value pairs with the metadata
      *
      * @param group the group to parse from such as <tt>component</tt>, <tt>componentProperties</tt>, or <tt>properties</tt>.
-     * @param json  the json
+     * @param json the json
      * @return a list of all the rows, where each row is a set of key value pairs with metadata
      */
     public static List<Map<String, String>> parseJsonSchema(String group, String json, boolean parseProperties) {
@@ -162,19 +149,34 @@ public final class JsonSchemaHelper {
                     key = matcher.group(1);
                 } else {
                     String value = matcher.group(1);
-                    if (value == null) {
-                        value = matcher.group(2);
-                        // its an enum so strip out " and trim spaces after comma
-                        value = value.replaceAll("\"", "");
-                        value = value.replaceAll(", ", ",");
-                    }
                     if (value != null) {
+                        // its text based
                         value = value.trim();
                         // decode
                         value = value.replaceAll(QUOT, "\"");
                         value = decodeJson(value);
                     }
-                    row.put(key, value);
+                    if (value == null) {
+                        // not text then its maybe an enum?
+                        value = matcher.group(2);
+                        if (value != null) {
+                            // its an enum so strip out " and trim spaces after comma
+                            value = value.replaceAll("\"", "");
+                            value = value.replaceAll(", ", ",");
+                            value = value.trim();
+                        }
+                    }
+                    if (value == null) {
+                        // not text then its maybe a boolean?
+                        value = matcher.group(3);
+                    }
+                    if (value == null) {
+                        // not text then its maybe a integer?
+                        value = matcher.group(4);
+                    }
+                    if (value != null) {
+                        row.put(key, value);
+                    }
                     // reset
                     key = null;
                 }

http://git-wip-us.apache.org/repos/asf/camel/blob/55dcbe80/components/camel-amqp/src/main/docs/amqp-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-amqp/src/main/docs/amqp-component.adoc b/components/camel-amqp/src/main/docs/amqp-component.adoc
index 804ea26..5eabd0f 100644
--- a/components/camel-amqp/src/main/docs/amqp-component.adoc
+++ b/components/camel-amqp/src/main/docs/amqp-component.adoc
@@ -76,7 +76,7 @@ The AMQP component supports 75 options which are listed below.
 | maxConcurrentConsumers | consumer |  | int | Specifies the maximum number of concurrent consumers when consuming from JMS (not for request/reply over JMS). See also the maxMessagesPerTask option to control dynamic scaling up/down of threads. When doing request/reply over JMS then the option replyToMaxConcurrentConsumers is used to control number of concurrent consumers on the reply message listener.
 | replyToMaxConcurrentConsumers | producer |  | int | Specifies the maximum number of concurrent consumers when using request/reply over JMS. See also the maxMessagesPerTask option to control dynamic scaling up/down of threads.
 | replyOnTimeoutToMaxConcurrentConsumers | producer | 1 | int | Specifies the maximum number of concurrent consumers for continue routing when timeout occurred when using request/reply over JMS.
-| maxMessagesPerTask | advanced | -1 | int | The number of messages per task. -1 is unlimited. If you use a range for concurrent consumers (eg min max) then this option can be used to set a value to eg 100 to control how fast the consumers will shrink when less work is required.
+| maxMessagesPerTask | advanced | 1 | int | The number of messages per task. -1 is unlimited. If you use a range for concurrent consumers (eg min max) then this option can be used to set a value to eg 100 to control how fast the consumers will shrink when less work is required.
 | messageConverter | advanced |  | MessageConverter | To use a custom Spring org.springframework.jms.support.converter.MessageConverter so you can be in control how to map to/from a javax.jms.Message.
 | mapJmsMessage | advanced | true | boolean | Specifies whether Camel should auto map the received JMS message to a suited payload type such as javax.jms.TextMessage to a String etc.
 | messageIdEnabled | advanced | true | boolean | When sending specifies whether message IDs should be added. This is just an hint to the JMS broker.If the JMS provider accepts this hint these messages must have the message ID set to null; if the provider ignores the hint the message ID must be set to its normal unique value
@@ -89,12 +89,12 @@ The AMQP component supports 75 options which are listed below.
 | recoveryInterval | advanced | 5000 | long | Specifies the interval between recovery attempts i.e. when a connection is being refreshed in milliseconds. The default is 5000 ms that is 5 seconds.
 | subscriptionDurable | common | false | boolean | Deprecated: Enabled by default if you specify a durableSubscriptionName and a clientId.
 | taskExecutor | consumer (advanced) |  | TaskExecutor | Allows you to specify a custom task executor for consuming messages.
-| timeToLive | producer | -1 | long | When sending messages specifies the time-to-live of the message (in milliseconds).
+| timeToLive | producer | 1 | long | When sending messages specifies the time-to-live of the message (in milliseconds).
 | transacted | transaction | false | boolean | Specifies whether to use transacted mode
 | lazyCreateTransactionManager | transaction (advanced) | true | boolean | If true Camel will create a JmsTransactionManager if there is no transactionManager injected when option transacted=true.
 | transactionManager | transaction (advanced) |  | PlatformTransactionManager | The Spring transaction manager to use.
 | transactionName | transaction (advanced) |  | String | The name of the transaction to use.
-| transactionTimeout | transaction (advanced) | -1 | int | The timeout value of the transaction (in seconds) if using transacted mode.
+| transactionTimeout | transaction (advanced) | 1 | int | The timeout value of the transaction (in seconds) if using transacted mode.
 | testConnectionOnStartup | common | false | boolean | Specifies whether to test the connection on startup. This ensures that when Camel starts that all the JMS consumers have a valid connection to the JMS broker. If a connection cannot be granted then Camel throws an exception on startup. This ensures that Camel is not started with failed connections. The JMS producers is tested as well.
 | asyncStartListener | advanced | false | boolean | Whether to startup the JmsConsumer message listener asynchronously when starting a route. For example if a JmsConsumer cannot get a connection to a remote JMS broker then it may block while retrying and/or failover. This will cause Camel to block while starting routes. By setting this option to true you will let routes startup while the JmsConsumer connects to the JMS broker using a dedicated thread in asynchronous mode. If this option is used then beware that if the connection could not be established then an exception is logged at WARN level and the consumer will not be able to receive messages; You can then restart the route to retry.
 | asyncStopListener | advanced | false | boolean | Whether to stop the JmsConsumer message listener asynchronously when stopping a route.
@@ -178,7 +178,7 @@ The AMQP component supports 87 endpoint options which are listed below:
 | replyToOverride | producer |  | String | Provides an explicit ReplyTo destination in the JMS message which overrides the setting of replyTo. It is useful if you want to forward the message to a remote Queue and receive the reply message from the ReplyTo destination.
 | replyToType | producer |  | ReplyToType | Allows for explicitly specifying which kind of strategy to use for replyTo queues when doing request/reply over JMS. Possible values are: Temporary Shared or Exclusive. By default Camel will use temporary queues. However if replyTo has been configured then Shared is used by default. This option allows you to use exclusive queues instead of shared ones. See Camel JMS documentation for more details and especially the notes about the implications if running in a clustered environment and the fact that Shared reply queues has lower performance than its alternatives Temporary and Exclusive.
 | requestTimeout | producer | 20000 | long | The timeout for waiting for a reply when using the InOut Exchange Pattern (in milliseconds). The default is 20 seconds. You can include the header CamelJmsRequestTimeout to override this endpoint configured timeout value and thus have per message individual timeout values. See also the requestTimeoutCheckerInterval option.
-| timeToLive | producer | -1 | long | When sending messages specifies the time-to-live of the message (in milliseconds).
+| timeToLive | producer | 1 | long | When sending messages specifies the time-to-live of the message (in milliseconds).
 | allowNullBody | producer (advanced) | true | boolean | Whether to allow sending messages with no body. If this option is false and the message body is null then an JMSException is thrown.
 | alwaysCopyMessage | producer (advanced) | false | boolean | If true Camel will always make a JMS message copy of the message when it is passed to the producer for sending. Copying the message is needed in some situations such as when a replyToDestinationSelectorName is set (incidentally Camel will set the alwaysCopyMessage option to true if a replyToDestinationSelectorName is set)
 | correlationProperty | producer (advanced) |  | String | When using InOut exchange pattern use this JMS property instead of JMSCorrelationID JMS property to correlate messages. If set messages will be correlated solely on the value of this property JMSCorrelationID property will be ignored and not set by Camel.
@@ -199,7 +199,7 @@ The AMQP component supports 87 endpoint options which are listed below:
 | includeAllJMSXProperties | advanced | false | boolean | Whether to include all JMSXxxx properties when mapping from JMS to Camel Message. Setting this to true will include properties such as JMSXAppID and JMSXUserID etc. Note: If you are using a custom headerFilterStrategy then this option does not apply.
 | jmsKeyFormatStrategy | advanced |  | String | Pluggable strategy for encoding and decoding JMS keys so they can be compliant with the JMS specification. Camel provides two implementations out of the box: default and passthrough. The default strategy will safely marshal dots and hyphens (. and -). The passthrough strategy leaves the key as is. Can be used for JMS brokers which do not care whether JMS header keys contain illegal characters. You can provide your own implementation of the org.apache.camel.component.jms.JmsKeyFormatStrategy and refer to it using the notation.
 | mapJmsMessage | advanced | true | boolean | Specifies whether Camel should auto map the received JMS message to a suited payload type such as javax.jms.TextMessage to a String etc.
-| maxMessagesPerTask | advanced | -1 | int | The number of messages per task. -1 is unlimited. If you use a range for concurrent consumers (eg min max) then this option can be used to set a value to eg 100 to control how fast the consumers will shrink when less work is required.
+| maxMessagesPerTask | advanced | 1 | int | The number of messages per task. -1 is unlimited. If you use a range for concurrent consumers (eg min max) then this option can be used to set a value to eg 100 to control how fast the consumers will shrink when less work is required.
 | messageConverter | advanced |  | MessageConverter | To use a custom Spring org.springframework.jms.support.converter.MessageConverter so you can be in control how to map to/from a javax.jms.Message.
 | messageCreatedStrategy | advanced |  | MessageCreatedStrategy | To use the given MessageCreatedStrategy which are invoked when Camel creates new instances of javax.jms.Message objects when Camel is sending a JMS message.
 | messageIdEnabled | advanced | true | boolean | When sending specifies whether message IDs should be added. This is just an hint to the JMS broker.If the JMS provider accepts this hint these messages must have the message ID set to null; if the provider ignores the hint the message ID must be set to its normal unique value
@@ -224,7 +224,7 @@ The AMQP component supports 87 endpoint options which are listed below:
 | lazyCreateTransactionManager | transaction (advanced) | true | boolean | If true Camel will create a JmsTransactionManager if there is no transactionManager injected when option transacted=true.
 | transactionManager | transaction (advanced) |  | PlatformTransactionManager | The Spring transaction manager to use.
 | transactionName | transaction (advanced) |  | String | The name of the transaction to use.
-| transactionTimeout | transaction (advanced) | -1 | int | The timeout value of the transaction (in seconds) if using transacted mode.
+| transactionTimeout | transaction (advanced) | 1 | int | The timeout value of the transaction (in seconds) if using transacted mode.
 |=======================================================================
 {% endraw %}
 // endpoint options: END
@@ -360,4 +360,4 @@ prefix, so you don't have to configure it explicitly.
 * link:configuring-camel.html[Configuring Camel]
 * link:component.html[Component]
 * link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
\ No newline at end of file
+* link:getting-started.html[Getting Started]

http://git-wip-us.apache.org/repos/asf/camel/blob/55dcbe80/components/camel-couchbase/src/main/docs/couchbase-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-couchbase/src/main/docs/couchbase-component.adoc b/components/camel-couchbase/src/main/docs/couchbase-component.adoc
index 9c1c6c2..ae7aace 100644
--- a/components/camel-couchbase/src/main/docs/couchbase-component.adoc
+++ b/components/camel-couchbase/src/main/docs/couchbase-component.adoc
@@ -48,11 +48,11 @@ The Couchbase component supports 50 endpoint options which are listed below:
 | consumerProcessedStrategy | consumer | none | String | Define the consumer Processed strategy to use
 | descending | consumer | false | boolean | Define if this operation is descending or not
 | designDocumentName | consumer | beer | String | The design document name to use
-| limit | consumer | -1 | int | The output limit to use
+| limit | consumer | 1 | int | The output limit to use
 | rangeEndKey | consumer |  | String | Define a range for the end key
 | rangeStartKey | consumer |  | String | Define a range for the start key
 | sendEmptyMessageWhenIdle | consumer | false | boolean | If the polling consumer did not poll any files you can enable this option to send an empty message (no body) instead.
-| skip | consumer | -1 | int | Define the skip to use
+| skip | consumer | 1 | int | Define the skip to use
 | viewName | consumer | brewery_beers | String | The view name to use
 | exceptionHandler | consumer (advanced) |  | ExceptionHandler | To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this options is not in use. By default the consumer will deal with exceptions that will be logged at WARN or ERROR level and ignored.
 | exchangePattern | consumer (advanced) |  | ExchangePattern | Sets the exchange pattern when the consumer creates an exchange.
@@ -67,7 +67,7 @@ The Couchbase component supports 50 endpoint options which are listed below:
 | additionalHosts | advanced |  | String | The additional hosts
 | maxReconnectDelay | advanced | 30000 | long | Define the max delay during a reconnection
 | obsPollInterval | advanced | 400 | long | Define the observation polling interval
-| obsTimeout | advanced | -1 | long | Define the observation timeout
+| obsTimeout | advanced | 1 | long | Define the observation timeout
 | opQueueMaxBlockTime | advanced | 10000 | long | Define the max time an operation can be in queue blocked
 | opTimeOut | advanced | 2500 | long | Define the operation timeout
 | readBufferSize | advanced | 16384 | int | Define the buffer size
@@ -91,4 +91,4 @@ The Couchbase component supports 50 endpoint options which are listed below:
 | username | security |  | String | The username to use
 |=======================================================================
 {% endraw %}
-// endpoint options: END
\ No newline at end of file
+// endpoint options: END

http://git-wip-us.apache.org/repos/asf/camel/blob/55dcbe80/components/camel-elsql/src/main/docs/elsql-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-elsql/src/main/docs/elsql-component.adoc b/components/camel-elsql/src/main/docs/elsql-component.adoc
index fbc9b85..629e9a4 100644
--- a/components/camel-elsql/src/main/docs/elsql-component.adoc
+++ b/components/camel-elsql/src/main/docs/elsql-component.adoc
@@ -84,7 +84,7 @@ The ElSQL component supports 49 endpoint options which are listed below:
 | separator | common | , | char | The separator to use when parameter values is taken from message body (if the body is a String type) to be inserted at placeholders.Notice if you use named parameters then a Map type is used instead. The default value is comma
 | breakBatchOnConsumeFail | consumer | false | boolean | Sets whether to break batch if onConsume failed.
 | bridgeErrorHandler | consumer | false | boolean | Allows for bridging the consumer to the Camel routing Error Handler which mean any exceptions occurred while the consumer is trying to pickup incoming messages or the likes will now be processed as a message and handled by the routing Error Handler. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions that will be logged at WARN or ERROR level and ignored.
-| expectedUpdateCount | consumer | -1 | int | Sets an expected update count to validate when using onConsume.
+| expectedUpdateCount | consumer | 1 | int | Sets an expected update count to validate when using onConsume.
 | maxMessagesPerPoll | consumer |  | int | Sets the maximum number of messages to poll
 | onConsume | consumer |  | String | After processing each row then this query can be executed if the Exchange was processed successfully for example to mark the row as processed. The query can have parameter.
 | onConsumeBatchComplete | consumer |  | String | After processing the entire batch this query can be executed to bulk update rows etc. The query cannot have parameters.
@@ -216,4 +216,4 @@ assumes to have�`getLicense` and�`getMinimum` methods:
 
 * link:sql-component.html[SQL Component]
 * link:mybatis.html[MyBatis]
-* link:jdbc.html[JDBC]
\ No newline at end of file
+* link:jdbc.html[JDBC]

http://git-wip-us.apache.org/repos/asf/camel/blob/55dcbe80/components/camel-gson/src/main/docs/json-gson-dataformat.adoc
----------------------------------------------------------------------
diff --git a/components/camel-gson/src/main/docs/json-gson-dataformat.adoc b/components/camel-gson/src/main/docs/json-gson-dataformat.adoc
index bd1608c..1e69f55 100644
--- a/components/camel-gson/src/main/docs/json-gson-dataformat.adoc
+++ b/components/camel-gson/src/main/docs/json-gson-dataformat.adoc
@@ -26,7 +26,7 @@ The JSon GSon dataformat supports 17 options which are listed below.
 | Name | Default | Java Type | Description
 | objectMapper |  | String | Lookup and use the existing ObjectMapper with the given id when using Jackson.
 | prettyPrint | false | Boolean | To enable pretty printing output nicely formatted. Is by default false.
-| library | Gson | JsonLibrary | Which json library to use.
+| library | XStream | JsonLibrary | Which json library to use.
 | unmarshalTypeName |  | String | Class name of the java type to use when unarmshalling
 | jsonView |  | Class<?> | When marshalling a POJO to JSON you might want to exclude certain fields from the JSON output. With Jackson you can use JSON views to accomplish this. This option is to refer to the class which has JsonView annotations
 | include |  | String | If you want to marshal a pojo to JSON and the pojo has some fields with null values. And you want to skip these null values you can set this option to NOT_NULL
@@ -64,4 +64,4 @@ link:download.html[the download page for the latest versions]).
   <version>x.x.x</version>
   <!-- use the same version as your Camel core version -->
 </dependency>
-----------------------------------------------------------
\ No newline at end of file
+----------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/camel/blob/55dcbe80/components/camel-irc/src/main/docs/irc-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-irc/src/main/docs/irc-component.adoc b/components/camel-irc/src/main/docs/irc-component.adoc
index d0e0477..13e8a15 100644
--- a/components/camel-irc/src/main/docs/irc-component.adoc
+++ b/components/camel-irc/src/main/docs/irc-component.adoc
@@ -51,7 +51,7 @@ The IRC component supports 26 endpoint options which are listed below:
 |=======================================================================
 | Name | Group | Default | Java Type | Description
 | hostname | common |  | String | *Required* Hostname for the IRC chat server
-| port | common | 6667,6668,6669 | int | Port number for the IRC chat server
+| port | common | 6667 | int | Port number for the IRC chat server
 | autoRejoin | common | true | boolean | Whether to auto re-join when being kicked
 | namesOnJoin | common | false | boolean | Sends NAMES command to channel after joining it. link onReply has to be true in order to process the result which will have the header value irc.num = '353'.
 | nickname | common |  | String | The nickname used in chat.
@@ -193,4 +193,4 @@ from("ircs:nick@myserver:1234/#mychannelname?namesOnJoin=true&onReply=true")
 * link:configuring-camel.html[Configuring Camel]
 * link:component.html[Component]
 * link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
\ No newline at end of file
+* link:getting-started.html[Getting Started]

http://git-wip-us.apache.org/repos/asf/camel/blob/55dcbe80/components/camel-jackson/src/main/docs/json-jackson-dataformat.adoc
----------------------------------------------------------------------
diff --git a/components/camel-jackson/src/main/docs/json-jackson-dataformat.adoc b/components/camel-jackson/src/main/docs/json-jackson-dataformat.adoc
index 68adcf2..d30b1bd 100644
--- a/components/camel-jackson/src/main/docs/json-jackson-dataformat.adoc
+++ b/components/camel-jackson/src/main/docs/json-jackson-dataformat.adoc
@@ -27,7 +27,7 @@ The JSon Jackson dataformat supports 17 options which are listed below.
 | Name | Default | Java Type | Description
 | objectMapper |  | String | Lookup and use the existing ObjectMapper with the given id when using Jackson.
 | prettyPrint | false | Boolean | To enable pretty printing output nicely formatted. Is by default false.
-| library | Jackson | JsonLibrary | Which json library to use.
+| library | XStream | JsonLibrary | Which json library to use.
 | unmarshalTypeName |  | String | Class name of the java type to use when unarmshalling
 | jsonView |  | Class<?> | When marshalling a POJO to JSON you might want to exclude certain fields from the JSON output. With Jackson you can use JSON views to accomplish this. This option is to refer to the class which has JsonView annotations
 | include |  | String | If you want to marshal a pojo to JSON and the pojo has some fields with null values. And you want to skip these null values you can set this option to NOT_NULL
@@ -65,4 +65,4 @@ link:download.html[the download page for the latest versions]).
   <version>x.x.x</version>
   <!-- use the same version as your Camel core version -->
 </dependency>
-----------------------------------------------------------
\ No newline at end of file
+----------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/camel/blob/55dcbe80/components/camel-jms/src/main/docs/jms-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-jms/src/main/docs/jms-component.adoc b/components/camel-jms/src/main/docs/jms-component.adoc
index db4b2d0..0c2bc37 100644
--- a/components/camel-jms/src/main/docs/jms-component.adoc
+++ b/components/camel-jms/src/main/docs/jms-component.adoc
@@ -237,7 +237,7 @@ The JMS component supports 75 options which are listed below.
 | maxConcurrentConsumers | consumer |  | int | Specifies the maximum number of concurrent consumers when consuming from JMS (not for request/reply over JMS). See also the maxMessagesPerTask option to control dynamic scaling up/down of threads. When doing request/reply over JMS then the option replyToMaxConcurrentConsumers is used to control number of concurrent consumers on the reply message listener.
 | replyToMaxConcurrentConsumers | producer |  | int | Specifies the maximum number of concurrent consumers when using request/reply over JMS. See also the maxMessagesPerTask option to control dynamic scaling up/down of threads.
 | replyOnTimeoutToMaxConcurrentConsumers | producer | 1 | int | Specifies the maximum number of concurrent consumers for continue routing when timeout occurred when using request/reply over JMS.
-| maxMessagesPerTask | advanced | -1 | int | The number of messages per task. -1 is unlimited. If you use a range for concurrent consumers (eg min max) then this option can be used to set a value to eg 100 to control how fast the consumers will shrink when less work is required.
+| maxMessagesPerTask | advanced | 1 | int | The number of messages per task. -1 is unlimited. If you use a range for concurrent consumers (eg min max) then this option can be used to set a value to eg 100 to control how fast the consumers will shrink when less work is required.
 | messageConverter | advanced |  | MessageConverter | To use a custom Spring org.springframework.jms.support.converter.MessageConverter so you can be in control how to map to/from a javax.jms.Message.
 | mapJmsMessage | advanced | true | boolean | Specifies whether Camel should auto map the received JMS message to a suited payload type such as javax.jms.TextMessage to a String etc. See section about how mapping works below for more details.
 | messageIdEnabled | advanced | true | boolean | When sending specifies whether message IDs should be added. This is just an hint to the JMS Broker. If the JMS provider accepts this hint these messages must have the message ID set to null; if the provider ignores the hint the message ID must be set to its normal unique value
@@ -250,12 +250,12 @@ The JMS component supports 75 options which are listed below.
 | recoveryInterval | advanced | 5000 | long | Specifies the interval between recovery attempts i.e. when a connection is being refreshed in milliseconds. The default is 5000 ms that is 5 seconds.
 | subscriptionDurable | common | false | boolean | Deprecated: Enabled by default if you specify a durableSubscriptionName and a clientId.
 | taskExecutor | consumer (advanced) |  | TaskExecutor | Allows you to specify a custom task executor for consuming messages.
-| timeToLive | producer | -1 | long | When sending messages specifies the time-to-live of the message (in milliseconds).
+| timeToLive | producer | 1 | long | When sending messages specifies the time-to-live of the message (in milliseconds).
 | transacted | transaction | false | boolean | Specifies whether to use transacted mode
 | lazyCreateTransactionManager | transaction (advanced) | true | boolean | If true Camel will create a JmsTransactionManager if there is no transactionManager injected when option transacted=true.
 | transactionManager | transaction (advanced) |  | PlatformTransactionManager | The Spring transaction manager to use.
 | transactionName | transaction (advanced) |  | String | The name of the transaction to use.
-| transactionTimeout | transaction (advanced) | -1 | int | The timeout value of the transaction (in seconds) if using transacted mode.
+| transactionTimeout | transaction (advanced) | 1 | int | The timeout value of the transaction (in seconds) if using transacted mode.
 | testConnectionOnStartup | common | false | boolean | Specifies whether to test the connection on startup. This ensures that when Camel starts that all the JMS consumers have a valid connection to the JMS broker. If a connection cannot be granted then Camel throws an exception on startup. This ensures that Camel is not started with failed connections. The JMS producers is tested as well.
 | asyncStartListener | advanced | false | boolean | Whether to startup the JmsConsumer message listener asynchronously when starting a route. For example if a JmsConsumer cannot get a connection to a remote JMS broker then it may block while retrying and/or failover. This will cause Camel to block while starting routes. By setting this option to true you will let routes startup while the JmsConsumer connects to the JMS broker using a dedicated thread in asynchronous mode. If this option is used then beware that if the connection could not be established then an exception is logged at WARN level and the consumer will not be able to receive messages; You can then restart the route to retry.
 | asyncStopListener | advanced | false | boolean | Whether to stop the JmsConsumer message listener asynchronously when stopping a route.
@@ -350,7 +350,7 @@ The JMS component supports 87 endpoint options which are listed below:
 | replyToOverride | producer |  | String | Provides an explicit ReplyTo destination in the JMS message which overrides the setting of replyTo. It is useful if you want to forward the message to a remote Queue and receive the reply message from the ReplyTo destination.
 | replyToType | producer |  | ReplyToType | Allows for explicitly specifying which kind of strategy to use for replyTo queues when doing request/reply over JMS. Possible values are: Temporary Shared or Exclusive. By default Camel will use temporary queues. However if replyTo has been configured then Shared is used by default. This option allows you to use exclusive queues instead of shared ones. See Camel JMS documentation for more details and especially the notes about the implications if running in a clustered environment and the fact that Shared reply queues has lower performance than its alternatives Temporary and Exclusive.
 | requestTimeout | producer | 20000 | long | The timeout for waiting for a reply when using the InOut Exchange Pattern (in milliseconds). The default is 20 seconds. You can include the header CamelJmsRequestTimeout to override this endpoint configured timeout value and thus have per message individual timeout values. See also the requestTimeoutCheckerInterval option.
-| timeToLive | producer | -1 | long | When sending messages specifies the time-to-live of the message (in milliseconds).
+| timeToLive | producer | 1 | long | When sending messages specifies the time-to-live of the message (in milliseconds).
 | allowNullBody | producer (advanced) | true | boolean | Whether to allow sending messages with no body. If this option is false and the message body is null then an JMSException is thrown.
 | alwaysCopyMessage | producer (advanced) | false | boolean | If true Camel will always make a JMS message copy of the message when it is passed to the producer for sending. Copying the message is needed in some situations such as when a replyToDestinationSelectorName is set (incidentally Camel will set the alwaysCopyMessage option to true if a replyToDestinationSelectorName is set)
 | correlationProperty | producer (advanced) |  | String | Use this JMS property to correlate messages in InOut exchange pattern (request-reply) instead of JMSCorrelationID property. This allows you to exchange messages with systems that do not correlate messages using JMSCorrelationID JMS property. If used JMSCorrelationID will not be used or set by Camel. The value of here named property will be generated if not supplied in the header of the message under the same name.
@@ -371,7 +371,7 @@ The JMS component supports 87 endpoint options which are listed below:
 | includeAllJMSXProperties | advanced | false | boolean | Whether to include all JMSXxxx properties when mapping from JMS to Camel Message. Setting this to true will include properties such as JMSXAppID and JMSXUserID etc. Note: If you are using a custom headerFilterStrategy then this option does not apply.
 | jmsKeyFormatStrategy | advanced |  | String | Pluggable strategy for encoding and decoding JMS keys so they can be compliant with the JMS specification. Camel provides two implementations out of the box: default and passthrough. The default strategy will safely marshal dots and hyphens (. and -). The passthrough strategy leaves the key as is. Can be used for JMS brokers which do not care whether JMS header keys contain illegal characters. You can provide your own implementation of the org.apache.camel.component.jms.JmsKeyFormatStrategy and refer to it using the notation.
 | mapJmsMessage | advanced | true | boolean | Specifies whether Camel should auto map the received JMS message to a suited payload type such as javax.jms.TextMessage to a String etc.
-| maxMessagesPerTask | advanced | -1 | int | The number of messages per task. -1 is unlimited. If you use a range for concurrent consumers (eg min max) then this option can be used to set a value to eg 100 to control how fast the consumers will shrink when less work is required.
+| maxMessagesPerTask | advanced | 1 | int | The number of messages per task. -1 is unlimited. If you use a range for concurrent consumers (eg min max) then this option can be used to set a value to eg 100 to control how fast the consumers will shrink when less work is required.
 | messageConverter | advanced |  | MessageConverter | To use a custom Spring org.springframework.jms.support.converter.MessageConverter so you can be in control how to map to/from a javax.jms.Message.
 | messageCreatedStrategy | advanced |  | MessageCreatedStrategy | To use the given MessageCreatedStrategy which are invoked when Camel creates new instances of javax.jms.Message objects when Camel is sending a JMS message.
 | messageIdEnabled | advanced | true | boolean | When sending specifies whether message IDs should be added. This is just an hint to the JMS Broker. If the JMS provider accepts this hint these messages must have the message ID set to null; if the provider ignores the hint the message ID must be set to its normal unique value
@@ -396,7 +396,7 @@ The JMS component supports 87 endpoint options which are listed below:
 | lazyCreateTransactionManager | transaction (advanced) | true | boolean | If true Camel will create a JmsTransactionManager if there is no transactionManager injected when option transacted=true.
 | transactionManager | transaction (advanced) |  | PlatformTransactionManager | The Spring transaction manager to use.
 | transactionName | transaction (advanced) |  | String | The name of the transaction to use.
-| transactionTimeout | transaction (advanced) | -1 | int | The timeout value of the transaction (in seconds) if using transacted mode.
+| transactionTimeout | transaction (advanced) | 1 | int | The timeout value of the transaction (in seconds) if using transacted mode.
 |=======================================================================
 {% endraw %}
 // endpoint options: END
@@ -1358,4 +1358,4 @@ wmq.setDestinationResolver(new DestinationResolver() {
 * link:bean-integration.html[Bean Integration]
 * link:tutorial-jmsremoting.html[Tutorial-JmsRemoting]
 * http://activemq.apache.org/jmstemplate-gotchas.html[JMSTemplate
-gotchas]
\ No newline at end of file
+gotchas]

http://git-wip-us.apache.org/repos/asf/camel/blob/55dcbe80/components/camel-johnzon/src/main/docs/json-johnzon-dataformat.adoc
----------------------------------------------------------------------
diff --git a/components/camel-johnzon/src/main/docs/json-johnzon-dataformat.adoc b/components/camel-johnzon/src/main/docs/json-johnzon-dataformat.adoc
index ef67134..dc73485 100644
--- a/components/camel-johnzon/src/main/docs/json-johnzon-dataformat.adoc
+++ b/components/camel-johnzon/src/main/docs/json-johnzon-dataformat.adoc
@@ -27,7 +27,7 @@ The JSon Johnzon dataformat supports 17 options which are listed below.
 | Name | Default | Java Type | Description
 | objectMapper |  | String | Lookup and use the existing ObjectMapper with the given id when using Jackson.
 | prettyPrint | false | Boolean | To enable pretty printing output nicely formatted. Is by default false.
-| library | Johnzon | JsonLibrary | Which json library to use.
+| library | XStream | JsonLibrary | Which json library to use.
 | unmarshalTypeName |  | String | Class name of the java type to use when unarmshalling
 | jsonView |  | Class<?> | When marshalling a POJO to JSON you might want to exclude certain fields from the JSON output. With Jackson you can use JSON views to accomplish this. This option is to refer to the class which has JsonView annotations
 | include |  | String | If you want to marshal a pojo to JSON and the pojo has some fields with null values. And you want to skip these null values you can set this option to NOT_NULL
@@ -65,4 +65,4 @@ link:download.html[the download page for the latest versions]).
   <version>x.x.x</version>
   <!-- use the same version as your Camel core version -->
 </dependency>
-----------------------------------------------------------
\ No newline at end of file
+----------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/camel/blob/55dcbe80/components/camel-jpa/src/main/docs/jpa-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-jpa/src/main/docs/jpa-component.adoc b/components/camel-jpa/src/main/docs/jpa-component.adoc
index 49b7e66..d4245a4 100644
--- a/components/camel-jpa/src/main/docs/jpa-component.adoc
+++ b/components/camel-jpa/src/main/docs/jpa-component.adoc
@@ -123,7 +123,7 @@ The JPA component supports 42 endpoint options which are listed below:
 | consumeLockEntity | consumer | true | boolean | Specifies whether or not to set an exclusive lock on each entity bean while processing the results from polling.
 | deleteHandler | consumer |  | Object> | To use a custom DeleteHandler to delete the row after the consumer is done processing the exchange
 | lockModeType | consumer | PESSIMISTIC_WRITE | LockModeType | To configure the lock mode on the consumer.
-| maximumResults | consumer | -1 | int | Set the maximum number of results to retrieve on the Query.
+| maximumResults | consumer | 1 | int | Set the maximum number of results to retrieve on the Query.
 | maxMessagesPerPoll | consumer |  | int | An integer value to define the maximum number of messages to gather per poll. By default no maximum is set. Can be used to avoid polling many thousands of messages when starting up the server. Set a value of 0 or negative to disable.
 | namedQuery | consumer |  | String | To use a named query when consuming data.
 | nativeQuery | consumer |  | String | To use a custom native query when consuming data. You may want to use the option consumer.resultClass also when using native queries.
@@ -365,4 +365,4 @@ image:https://cwiki.apache.org/confluence/s/en_GB/5982/f2b47fb3d636c8bc9fd0b11c0
 * link:endpoint.html[Endpoint]
 * link:getting-started.html[Getting Started]
 
-* link:tracer-example.html[Tracer Example]
\ No newline at end of file
+* link:tracer-example.html[Tracer Example]

http://git-wip-us.apache.org/repos/asf/camel/blob/55dcbe80/components/camel-kafka/src/main/docs/kafka-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-kafka/src/main/docs/kafka-component.adoc b/components/camel-kafka/src/main/docs/kafka-component.adoc
index 211d592..8c41c3f 100644
--- a/components/camel-kafka/src/main/docs/kafka-component.adoc
+++ b/components/camel-kafka/src/main/docs/kafka-component.adoc
@@ -117,8 +117,8 @@ The Kafka component supports 80 endpoint options which are listed below:
 | kerberosBeforeReloginMinTime | security | 60000 | Integer | Login thread sleep time between refresh attempts.
 | kerberosInitCmd | security | /usr/bin/kinit | String | Kerberos kinit command path. Default is /usr/bin/kinit
 | kerberosPrincipalToLocalRules | security | DEFAULT | String | A list of rules for mapping from principal names to short names (typically operating system usernames). The rules are evaluated in order and the first rule that matches a principal name is used to map it to a short name. Any later rules in the list are ignored. By default principal names of the form username/hostnameREALM are mapped to username. For more details on the format please see security authorization and acls. Multiple values can be separated by comma
-| kerberosRenewJitter | security | 0.05 | Double | Percentage of random jitter added to the renewal time.
-| kerberosRenewWindowFactor | security | 0.8 | Double | Login thread will sleep until the specified window factor of time from last refresh to ticket's expiry has been reached at which time it will try to renew the ticket.
+| kerberosRenewJitter | security | 0 | Double | Percentage of random jitter added to the renewal time.
+| kerberosRenewWindowFactor | security | 0 | Double | Login thread will sleep until the specified window factor of time from last refresh to ticket's expiry has been reached at which time it will try to renew the ticket.
 | saslKerberosServiceName | security |  | String | The Kerberos principal name that Kafka runs as. This can be defined either in Kafka's JAAS config or in Kafka's config.
 | saslMechanism | security | GSSAPI | String | The Simple Authentication and Security Layer (SASL) Mechanism used. For the valid values see http://www.iana.org/assignments/sasl-mechanisms/sasl-mechanisms.xhtml
 | securityProtocol | security | PLAINTEXT | String | Protocol used to communicate with brokers. Currently only PLAINTEXT and SSL are supported.

http://git-wip-us.apache.org/repos/asf/camel/blob/55dcbe80/components/camel-mail/src/main/docs/mail-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-mail/src/main/docs/mail-component.adoc b/components/camel-mail/src/main/docs/mail-component.adoc
index 3f0ba33..6874ede 100644
--- a/components/camel-mail/src/main/docs/mail-component.adoc
+++ b/components/camel-mail/src/main/docs/mail-component.adoc
@@ -118,7 +118,7 @@ The Mail component supports 63 endpoint options which are listed below:
 | unseen | consumer | true | boolean | Whether to limit by unseen mails only.
 | exceptionHandler | consumer (advanced) |  | ExceptionHandler | To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this options is not in use. By default the consumer will deal with exceptions that will be logged at WARN or ERROR level and ignored.
 | exchangePattern | consumer (advanced) |  | ExchangePattern | Sets the exchange pattern when the consumer creates an exchange.
-| fetchSize | consumer (advanced) | -1 | int | Sets the maximum number of messages to consume during a poll. This can be used to avoid overloading a mail server if a mailbox folder contains a lot of messages. Default value of -1 means no fetch size and all messages will be consumed. Setting the value to 0 is a special corner case where Camel will not consume any messages at all.
+| fetchSize | consumer (advanced) | 1 | int | Sets the maximum number of messages to consume during a poll. This can be used to avoid overloading a mail server if a mailbox folder contains a lot of messages. Default value of -1 means no fetch size and all messages will be consumed. Setting the value to 0 is a special corner case where Camel will not consume any messages at all.
 | folderName | consumer (advanced) | INBOX | String | The folder to poll.
 | mailUidGenerator | consumer (advanced) |  | MailUidGenerator | A pluggable MailUidGenerator that allows to use custom logic to generate UUID of the mail message.
 | mapMailMessage | consumer (advanced) | true | boolean | Specifies whether Camel should map the received mail message to Camel body/headers. If set to true the body of the mail message is mapped to the body of the Camel IN message and the mail headers are mapped to IN headers. If this option is set to false then the IN message contains a raw javax.mail.Message. You can retrieve this raw message by calling exchange.getIn().getBody(javax.mail.Message.class).
@@ -629,4 +629,4 @@ SearchTerm term = builder.build();
 * link:configuring-camel.html[Configuring Camel]
 * link:component.html[Component]
 * link:endpoint.html[Endpoint]
-* link:getting-started.html[Getting Started]
\ No newline at end of file
+* link:getting-started.html[Getting Started]

http://git-wip-us.apache.org/repos/asf/camel/blob/55dcbe80/components/camel-mina/src/main/docs/mina-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-mina/src/main/docs/mina-component.adoc b/components/camel-mina/src/main/docs/mina-component.adoc
index 26febaa..cfa1bf3 100644
--- a/components/camel-mina/src/main/docs/mina-component.adoc
+++ b/components/camel-mina/src/main/docs/mina-component.adoc
@@ -110,7 +110,7 @@ The Mina component supports 24 endpoint options which are listed below:
 | allowDefaultCodec | codec | true | boolean | The mina component installs a default codec if both codec is null and textline is false. Setting allowDefaultCodec to false prevents the mina component from installing a default codec as the first element in the filter chain. This is useful in scenarios where another filter must be the first in the filter chain like the SSL filter.
 | codec | codec |  | ProtocolCodecFactory | To use a custom minda codec implementation.
 | decoderMaxLineLength | codec | 1024 | int | To set the textline protocol decoder max line length. By default the default value of Mina itself is used which are 1024.
-| encoderMaxLineLength | codec | -1 | int | To set the textline protocol encoder max line length. By default the default value of Mina itself is used which are Integer.MAX_VALUE.
+| encoderMaxLineLength | codec | 1 | int | To set the textline protocol encoder max line length. By default the default value of Mina itself is used which are Integer.MAX_VALUE.
 | encoding | codec |  | String | You can configure the encoding (a charset name) to use for the TCP textline codec and the UDP protocol. If not provided Camel will use the JVM default Charset
 | filters | codec |  | List | You can set a list of Mina IoFilters to use.
 | textline | codec | false | boolean | Only used for TCP. If no codec is specified you can use this flag to indicate a text line based codec; if not specified or the value is false then Object Serialization is assumed over TCP.
@@ -324,4 +324,4 @@ Then, you can configure your endpoint using Spring DSL:
 * link:getting-started.html[Getting Started]
 
 * link:mina2.html[MINA2]
-* link:netty.html[Netty]
\ No newline at end of file
+* link:netty.html[Netty]

http://git-wip-us.apache.org/repos/asf/camel/blob/55dcbe80/components/camel-mina2/src/main/docs/mina2-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-mina2/src/main/docs/mina2-component.adoc b/components/camel-mina2/src/main/docs/mina2-component.adoc
index 71c81a2..1d84279 100644
--- a/components/camel-mina2/src/main/docs/mina2-component.adoc
+++ b/components/camel-mina2/src/main/docs/mina2-component.adoc
@@ -112,7 +112,7 @@ The Mina2 component supports 29 endpoint options which are listed below:
 | allowDefaultCodec | codec | true | boolean | The mina component installs a default codec if both codec is null and textline is false. Setting allowDefaultCodec to false prevents the mina component from installing a default codec as the first element in the filter chain. This is useful in scenarios where another filter must be the first in the filter chain like the SSL filter.
 | codec | codec |  | ProtocolCodecFactory | To use a custom minda codec implementation.
 | decoderMaxLineLength | codec | 1024 | int | To set the textline protocol decoder max line length. By default the default value of Mina itself is used which are 1024.
-| encoderMaxLineLength | codec | -1 | int | To set the textline protocol encoder max line length. By default the default value of Mina itself is used which are Integer.MAX_VALUE.
+| encoderMaxLineLength | codec | 1 | int | To set the textline protocol encoder max line length. By default the default value of Mina itself is used which are Integer.MAX_VALUE.
 | encoding | codec |  | String | You can configure the encoding (a charset name) to use for the TCP textline codec and the UDP protocol. If not provided Camel will use the JVM default Charset
 | filters | codec |  | List | You can set a list of Mina IoFilters to use.
 | textline | codec | false | boolean | Only used for TCP. If no codec is specified you can use this flag to indicate a text line based codec; if not specified or the value is false then Object Serialization is assumed over TCP.
@@ -256,4 +256,4 @@ is, after `codec` and `logger`.
 * link:getting-started.html[Getting Started]
 
 * link:mina.html[MINA]
-* link:netty.html[Netty]
\ No newline at end of file
+* link:netty.html[Netty]

http://git-wip-us.apache.org/repos/asf/camel/blob/55dcbe80/components/camel-mllp/src/main/docs/mllp-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-mllp/src/main/docs/mllp-component.adoc b/components/camel-mllp/src/main/docs/mllp-component.adoc
index dcce353..75f128e 100644
--- a/components/camel-mllp/src/main/docs/mllp-component.adoc
+++ b/components/camel-mllp/src/main/docs/mllp-component.adoc
@@ -78,7 +78,7 @@ The MLLP component supports 24 endpoint options which are listed below:
 | bindRetryInterval | timeout | 5000 | int | TCP Server Only - The number of milliseconds to wait between bind attempts
 | bindTimeout | timeout | 30000 | int | TCP Server Only - The number of milliseconds to retry binding to a server port
 | connectTimeout | timeout | 30000 | int | Timeout (in milliseconds) for establishing for a TCP connection TCP Client only
-| maxReceiveTimeouts | timeout | -1 | int | The maximum number of timeouts (specified by receiveTimeout) allowed before the TCP Connection will be reset.
+| maxReceiveTimeouts | timeout | 1 | int | The maximum number of timeouts (specified by receiveTimeout) allowed before the TCP Connection will be reset.
 | readTimeout | timeout | 500 | int | The SO_TIMEOUT value (in milliseconds) used after the start of an MLLP frame has been received
 | receiveTimeout | timeout | 10000 | int | The SO_TIMEOUT value (in milliseconds) used when waiting for the start of an MLLP frame
 |=======================================================================
@@ -167,4 +167,4 @@ The MLLP Producer adds these headers on the Camel message:
 |===================================
 
 All headers�are�String�types. If a header value is missing, its value
-is�null.
\ No newline at end of file
+is�null.

http://git-wip-us.apache.org/repos/asf/camel/blob/55dcbe80/components/camel-mongodb/src/main/docs/mongodb-component.adoc
----------------------------------------------------------------------
diff --git a/components/camel-mongodb/src/main/docs/mongodb-component.adoc b/components/camel-mongodb/src/main/docs/mongodb-component.adoc
index 4e37155..628d4df 100644
--- a/components/camel-mongodb/src/main/docs/mongodb-component.adoc
+++ b/components/camel-mongodb/src/main/docs/mongodb-component.adoc
@@ -84,7 +84,7 @@ The MongoDB component supports 24 endpoint options which are listed below:
 | writeResultAsHeader | advanced | false | boolean | In write operations it determines whether instead of returning WriteResult as the body of the OUT message we transfer the IN message to the OUT and attach the WriteResult as a header.
 | persistentId | tail |  | String | One tail tracking collection can host many trackers for several tailable consumers. To keep them separate each tracker should have its own unique persistentId.
 | persistentTailTracking | tail | false | boolean | Enable persistent tail tracking which is a mechanism to keep track of the last consumed message across system restarts. The next time the system is up the endpoint will recover the cursor from the point where it last stopped slurping records.
-| persistRecords | tail | -1 | int | Sets the number of tailed records after which the tail tracking data is persisted to MongoDB.
+| persistRecords | tail | 1 | int | Sets the number of tailed records after which the tail tracking data is persisted to MongoDB.
 | tailTrackCollection | tail |  | String | Collection where tail tracking information will be persisted. If not specified link MongoDbTailTrackingConfigDEFAULT_COLLECTION will be used by default.
 | tailTrackDb | tail |  | String | Indicates what database the tail tracking mechanism will persist to. If not specified the current database will be picked by default. Dynamicity will not be taken into account even if enabled i.e. the tail tracking database will not vary past endpoint initialisation.
 | tailTrackField | tail |  | String | Field where the last tracked value will be placed. If not specified link MongoDbTailTrackingConfigDEFAULT_FIELD will be used by default.
@@ -903,4 +903,4 @@ anything manually.
 current version]
 *
 http://svn.apache.org/viewvc/camel/trunk/components/camel-mongodb/src/test/[Unit
-tests] for more examples of usage
\ No newline at end of file
+tests] for more examples of usage