[camel] branch master updated: CAMEL-13814 Inline EIP images

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[camel] branch master updated: CAMEL-13814 Inline EIP images

zregvart
This is an automated email from the ASF dual-hosted git repository.

zregvart pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git


The following commit(s) were added to refs/heads/master by this push:
     new 7b3eb70  CAMEL-13814 Inline EIP images
7b3eb70 is described below

commit 7b3eb706b71124bb52acfbc853f15648dd2e32aa
Author: Zoran Regvart <[hidden email]>
AuthorDate: Tue Aug 13 12:16:04 2019 +0200

    CAMEL-13814 Inline EIP images
---
 .../src/main/docs/eips/aggregate-eip.adoc          |   2 +-
 core/camel-core/src/main/docs/eips/choice-eip.adoc |   2 +-
 .../src/main/docs/eips/claimCheck-eip.adoc         |   2 +-
 .../main/docs/eips/content-based-router-eip.adoc   |   2 +-
 .../src/main/docs/eips/content-filter-eip.adoc     |   2 +-
 .../src/main/docs/eips/dynamic-router.adoc         |   2 +-
 .../src/main/docs/eips/dynamicRouter-eip.adoc      |   2 +-
 core/camel-core/src/main/docs/eips/enrich-eip.adoc |   2 +-
 .../main/docs/eips/eventDrivenConsumer-eip.adoc    |   2 +-
 core/camel-core/src/main/docs/eips/filter-eip.adoc |   2 +-
 .../src/main/docs/eips/otherwise-eip.adoc          |   2 +-
 .../src/main/docs/eips/pipeline-eip.adoc           |   2 +-
 .../src/main/docs/eips/recipientList-eip.adoc      |   2 +-
 .../src/main/docs/eips/requestReply-eip.adoc       |   2 +-
 .../src/main/docs/eips/resequence-eip.adoc         |   2 +-
 .../src/main/docs/eips/rollback-eip.adoc           |   2 +-
 .../src/main/docs/eips/routingSlip-eip.adoc        |   2 +-
 core/camel-core/src/main/docs/eips/split-eip.adoc  |   2 +-
 core/camel-core/src/main/docs/eips/step-eip.adoc   |   2 +-
 core/camel-core/src/main/docs/eips/when-eip.adoc   |   2 +-
 .../camel-core/src/main/docs/eips/wireTap-eip.adoc |   2 +-
 .../modules/ROOT/pages/pulsar-component.adoc       |   9 +-
 .../modules/ROOT/assets/images/eip/Aggregator.gif  | Bin 0 -> 2413 bytes
 .../ROOT/assets/images/eip/AggregatorIcon.gif      | Bin 0 -> 392 bytes
 .../modules/ROOT/assets/images/eip/ChannelIcon.gif | Bin 0 -> 376 bytes
 .../assets/images/eip/CompetingConsumersIcon.gif   | Bin 0 -> 428 bytes
 .../ROOT/assets/images/eip/ContentBasedRouter.gif  | Bin 0 -> 2504 bytes
 .../assets/images/eip/ContentBasedRouterIcon.gif   | Bin 0 -> 356 bytes
 .../ROOT/assets/images/eip/ContentFilter.gif       | Bin 0 -> 1777 bytes
 .../ROOT/assets/images/eip/ContentFilterIcon.gif   | Bin 0 -> 375 bytes
 .../ROOT/assets/images/eip/ControlBusIcon.gif      | Bin 0 -> 764 bytes
 .../images/eip/CorrelationIdentifierIcon.gif       | Bin 0 -> 375 bytes
 .../images/eip/CorrelationIdentifierSolution.gif   | Bin 0 -> 4041 bytes
 .../ROOT/assets/images/eip/DataEnricher.gif        | Bin 0 -> 2703 bytes
 .../ROOT/assets/images/eip/DataEnricherIcon.gif    | Bin 0 -> 372 bytes
 .../assets/images/eip/DeadLetterChannelIcon.gif    | Bin 0 -> 519 bytes
 .../images/eip/DeadLetterChannelSolution.gif       | Bin 0 -> 3557 bytes
 .../modules/ROOT/assets/images/eip/DetourIcon.gif  | Bin 0 -> 678 bytes
 .../images/eip/DistributionAggregateIcon.gif       | Bin 0 -> 491 bytes
 .../assets/images/eip/DurableSubscriptionIcon.gif  | Bin 0 -> 306 bytes
 .../ROOT/assets/images/eip/DynamicRouter.gif       | Bin 0 -> 7122 bytes
 .../ROOT/assets/images/eip/DynamicRouterIcon.gif   | Bin 0 -> 654 bytes
 .../assets/images/eip/EventDrivenConsumerIcon.gif  | Bin 0 -> 388 bytes
 .../images/eip/EventDrivenConsumerSolution.gif     | Bin 0 -> 2077 bytes
 .../ROOT/assets/images/eip/EventMessageIcon.gif    | Bin 0 -> 264 bytes
 .../assets/images/eip/EventMessageSolution.gif     | Bin 0 -> 2843 bytes
 .../assets/images/eip/GuaranteedMessagingIcon.gif  | Bin 0 -> 312 bytes
 .../images/eip/GuaranteedMessagingSolution.gif     | Bin 0 -> 4574 bytes
 .../ROOT/assets/images/eip/MessageBusIcon.gif      | Bin 0 -> 381 bytes
 .../ROOT/assets/images/eip/MessageBusSolution.gif  | Bin 0 -> 2243 bytes
 .../assets/images/eip/MessageChannelSolution.gif   | Bin 0 -> 3343 bytes
 .../assets/images/eip/MessageDispatcherIcon.gif    | Bin 0 -> 431 bytes
 .../ROOT/assets/images/eip/MessageEndpointIcon.gif | Bin 0 -> 391 bytes
 .../assets/images/eip/MessageEndpointSolution.gif  | Bin 0 -> 3816 bytes
 .../ROOT/assets/images/eip/MessageFilter.gif       | Bin 0 -> 3820 bytes
 .../ROOT/assets/images/eip/MessageFilterIcon.gif   | Bin 0 -> 497 bytes
 .../modules/ROOT/assets/images/eip/MessageIcon.gif | Bin 0 -> 799 bytes
 .../ROOT/assets/images/eip/MessageRouter.gif       | Bin 0 -> 3340 bytes
 .../ROOT/assets/images/eip/MessageSelectorIcon.gif | Bin 0 -> 455 bytes
 .../ROOT/assets/images/eip/MessageSolution.gif     | Bin 0 -> 1256 bytes
 .../ROOT/assets/images/eip/MessageTranslator.gif   | Bin 0 -> 2183 bytes
 .../assets/images/eip/MessageTranslatorIcon.gif    | Bin 0 -> 487 bytes
 .../assets/images/eip/MessagingAdapterIcon.gif     | Bin 0 -> 388 bytes
 .../assets/images/eip/MessagingGatewayIcon.gif     | Bin 0 -> 485 bytes
 .../ROOT/assets/images/eip/NormalizerIcon.gif      | Bin 0 -> 401 bytes
 .../ROOT/assets/images/eip/PipesAndFilters.gif     | Bin 0 -> 2906 bytes
 .../ROOT/assets/images/eip/PipesAndFiltersIcon.gif | Bin 0 -> 455 bytes
 .../ROOT/assets/images/eip/PointToPointIcon.gif    | Bin 0 -> 147 bytes
 .../assets/images/eip/PointToPointSolution.gif     | Bin 0 -> 2995 bytes
 .../ROOT/assets/images/eip/PollingConsumerIcon.gif | Bin 0 -> 418 bytes
 .../assets/images/eip/PollingConsumerSolution.gif  | Bin 0 -> 2117 bytes
 .../assets/images/eip/PublishSubscribeIcon.gif     | Bin 0 -> 227 bytes
 .../assets/images/eip/PublishSubscribeSolution.gif | Bin 0 -> 4269 bytes
 .../ROOT/assets/images/eip/RecipientList.gif       | Bin 0 -> 5065 bytes
 .../ROOT/assets/images/eip/RecipientListIcon.gif   | Bin 0 -> 368 bytes
 .../ROOT/assets/images/eip/RequestReply.gif        | Bin 0 -> 3141 bytes
 .../ROOT/assets/images/eip/RequestReplyIcon.gif    | Bin 0 -> 274 bytes
 .../modules/ROOT/assets/images/eip/Resequencer.gif | Bin 0 -> 1965 bytes
 .../ROOT/assets/images/eip/ResequencerIcon.gif     | Bin 0 -> 435 bytes
 .../ROOT/assets/images/eip/ReturnAddressIcon.gif   | Bin 0 -> 302 bytes
 .../assets/images/eip/ReturnAddressSolution.gif    | Bin 0 -> 5867 bytes
 .../ROOT/assets/images/eip/RoutingTableIcon.gif    | Bin 0 -> 376 bytes
 .../ROOT/assets/images/eip/RoutingTableSimple.gif  | Bin 0 -> 3459 bytes
 .../modules/ROOT/assets/images/eip/Sequencer.gif   | Bin 0 -> 2298 bytes
 .../ROOT/assets/images/eip/SplitterIcon.gif        | Bin 0 -> 397 bytes
 .../ROOT/assets/images/eip/StoreInLibrary.gif      | Bin 0 -> 6440 bytes
 .../ROOT/assets/images/eip/StoreInLibraryIcon.gif  | Bin 0 -> 684 bytes
 .../assets/images/eip/TransactionalClientIcon.gif  | Bin 0 -> 486 bytes
 .../images/eip/TransactionalClientSolution.gif     | Bin 0 -> 3654 bytes
 .../modules/ROOT/assets/images/eip/WireTap.gif     | Bin 0 -> 3067 bytes
 .../modules/ROOT/assets/images/eip/WireTapIcon.gif | Bin 0 -> 481 bytes
 .../modules/ROOT/pages/aggregate-eip.adoc          |   2 +-
 .../user-manual/modules/ROOT/pages/choice-eip.adoc |   2 +-
 .../modules/ROOT/pages/claimCheck-eip.adoc         |   2 +-
 .../ROOT/pages/content-based-router-eip.adoc       |   2 +-
 .../modules/ROOT/pages/content-enricher.adoc       |   2 +-
 .../modules/ROOT/pages/content-filter-eip.adoc     |   2 +-
 .../modules/ROOT/pages/correlation-identifier.adoc |   2 +-
 .../modules/ROOT/pages/dead-letter-channel.adoc    |   2 +-
 .../modules/ROOT/pages/dynamic-router.adoc         |   2 +-
 .../modules/ROOT/pages/dynamicRouter-eip.adoc      |   2 +-
 .../user-manual/modules/ROOT/pages/enrich-eip.adoc |   2 +-
 .../pages/enterprise-integration-patterns.adoc     | 112 ++++++++++-----------
 .../modules/ROOT/pages/event-message.adoc          |   2 +-
 .../ROOT/pages/eventDrivenConsumer-eip.adoc        |   2 +-
 .../user-manual/modules/ROOT/pages/filter-eip.adoc |   2 +-
 .../modules/ROOT/pages/guaranteed-delivery.adoc    |   2 +-
 .../modules/ROOT/pages/message-bus.adoc            |   2 +-
 .../modules/ROOT/pages/message-channel.adoc        |   2 +-
 .../modules/ROOT/pages/message-endpoint.adoc       |   2 +-
 .../modules/ROOT/pages/message-router.adoc         |   2 +-
 .../modules/ROOT/pages/message-translator.adoc     |   2 +-
 docs/user-manual/modules/ROOT/pages/message.adoc   |   2 +-
 .../modules/ROOT/pages/otherwise-eip.adoc          |   2 +-
 .../modules/ROOT/pages/pipeline-eip.adoc           |   2 +-
 .../modules/ROOT/pages/point-to-point-channel.adoc |   2 +-
 .../modules/ROOT/pages/polling-consumer.adoc       |   2 +-
 .../ROOT/pages/publish-subscribe-channel.adoc      |   2 +-
 .../modules/ROOT/pages/recipientList-eip.adoc      |   2 +-
 .../modules/ROOT/pages/requestReply-eip.adoc       |   2 +-
 .../modules/ROOT/pages/resequence-eip.adoc         |   2 +-
 .../modules/ROOT/pages/return-address.adoc         |   2 +-
 .../modules/ROOT/pages/rollback-eip.adoc           |   2 +-
 .../modules/ROOT/pages/routingSlip-eip.adoc        |   2 +-
 docs/user-manual/modules/ROOT/pages/split-eip.adoc |   2 +-
 docs/user-manual/modules/ROOT/pages/step-eip.adoc  |   2 +-
 .../modules/ROOT/pages/transactional-client.adoc   |   2 +-
 docs/user-manual/modules/ROOT/pages/when-eip.adoc  |   2 +-
 .../modules/ROOT/pages/wireTap-eip.adoc            |   2 +-
 129 files changed, 121 insertions(+), 116 deletions(-)

diff --git a/core/camel-core/src/main/docs/eips/aggregate-eip.adoc b/core/camel-core/src/main/docs/eips/aggregate-eip.adoc
index f77d40a..9b15044 100644
--- a/core/camel-core/src/main/docs/eips/aggregate-eip.adoc
+++ b/core/camel-core/src/main/docs/eips/aggregate-eip.adoc
@@ -6,7 +6,7 @@ http://www.enterpriseintegrationpatterns.com/Aggregator.html[Aggregator]
 from the xref:enterprise-integration-patterns.adoc[EIP patterns] allows
 you to combine a number of messages together into a single message.
 
-image:http://www.enterpriseintegrationpatterns.com/img/Aggregator.gif[image]
+image::eip/Aggregator.gif[image]
 
 A correlation xref:expression.adoc[Expression] is used to determine the
 messages which should be aggregated together. If you want to aggregate
diff --git a/core/camel-core/src/main/docs/eips/choice-eip.adoc b/core/camel-core/src/main/docs/eips/choice-eip.adoc
index 9d60c69..73dd14b 100644
--- a/core/camel-core/src/main/docs/eips/choice-eip.adoc
+++ b/core/camel-core/src/main/docs/eips/choice-eip.adoc
@@ -7,7 +7,7 @@ Based Router] from the xref:enterprise-integration-patterns.adoc[EIP
 patterns] allows you to route messages to the correct destination based
 on the contents of the message exchanges.
 
-image:http://www.enterpriseintegrationpatterns.com/img/ContentBasedRouter.gif[image]
+image::eip/ContentBasedRouter.gif[image]
 
 == Choice options
 
diff --git a/core/camel-core/src/main/docs/eips/claimCheck-eip.adoc b/core/camel-core/src/main/docs/eips/claimCheck-eip.adoc
index fd8728b..a726bdf 100644
--- a/core/camel-core/src/main/docs/eips/claimCheck-eip.adoc
+++ b/core/camel-core/src/main/docs/eips/claimCheck-eip.adoc
@@ -6,7 +6,7 @@
 The http://www.enterpriseintegrationpatterns.com/patterns/messaging/StoreInLibrary.html[Claim Check] from the xref:enterprise-integration-patterns.adoc[EIP patterns]
 allows you to replace message content with a claim check (a unique key), which can be used to retrieve the message content at a later time.
 
-image:http://www.enterpriseintegrationpatterns.com/img/StoreInLibrary.gif[image]
+image::eip/StoreInLibrary.gif[image]
 
 It can also be useful in situations where you cannot trust the information with an outside party; in this case, you can use the Claim Check to hide the sensitive portions of data.
 
diff --git a/core/camel-core/src/main/docs/eips/content-based-router-eip.adoc b/core/camel-core/src/main/docs/eips/content-based-router-eip.adoc
index 0a444a9..a734992 100644
--- a/core/camel-core/src/main/docs/eips/content-based-router-eip.adoc
+++ b/core/camel-core/src/main/docs/eips/content-based-router-eip.adoc
@@ -7,7 +7,7 @@ Based Router] from the xref:enterprise-integration-patterns.adoc[EIP
 patterns] allows you to route messages to the correct destination based
 on the contents of the message exchanges.
 
-image:http://www.enterpriseintegrationpatterns.com/img/ContentBasedRouter.gif[image]
+image::eip/ContentBasedRouter.gif[image]
 
 The following example shows how to route a request from an input
 *seda:a* endpoint to either *seda:b*, *seda:c* or *seda:d* depending on
diff --git a/core/camel-core/src/main/docs/eips/content-filter-eip.adoc b/core/camel-core/src/main/docs/eips/content-filter-eip.adoc
index b4ff1c8..5d106e7 100644
--- a/core/camel-core/src/main/docs/eips/content-filter-eip.adoc
+++ b/core/camel-core/src/main/docs/eips/content-filter-eip.adoc
@@ -12,7 +12,7 @@ content from the inbound message.
 * invoking a xref:bean-integration.adoc[Java bean]
 * xref:processor.adoc[Processor] object
 
-image:http://www.enterpriseintegrationpatterns.com/img/ContentFilter.gif[image]
+image::eip/ContentFilter.gif[image]
 
 A common way to filter messages is to use an
 xref:expression.adoc[Expression] in the xref:dsl.adoc[DSL] like
diff --git a/core/camel-core/src/main/docs/eips/dynamic-router.adoc b/core/camel-core/src/main/docs/eips/dynamic-router.adoc
index 665dd1e..dd6094f 100644
--- a/core/camel-core/src/main/docs/eips/dynamic-router.adoc
+++ b/core/camel-core/src/main/docs/eips/dynamic-router.adoc
@@ -7,7 +7,7 @@ Router] from the EIP patterns
 allows you to route messages while avoiding the dependency of the router
 on all possible destinations while maintaining its efficiency.
 
-image:http://www.enterpriseintegrationpatterns.com/img/DynamicRouter.gif[image]
+image::eip/DynamicRouter.gif[image]
 
 The `dynamicRouter` in the DSL is similar to
 a dynamic Routing Slip which evaluates the slip
diff --git a/core/camel-core/src/main/docs/eips/dynamicRouter-eip.adoc b/core/camel-core/src/main/docs/eips/dynamicRouter-eip.adoc
index ceb13a5..9646c58 100644
--- a/core/camel-core/src/main/docs/eips/dynamicRouter-eip.adoc
+++ b/core/camel-core/src/main/docs/eips/dynamicRouter-eip.adoc
@@ -3,7 +3,7 @@
 
 The http://www.enterpriseintegrationpatterns.com/DynamicRouter.html[Dynamic Router] from the xref:enterprise-integration-patterns.adoc[EIP patterns] allows you to route messages while avoiding the dependency of the router on all possible destinations while maintaining its efficiency.
 
-image:http://www.enterpriseintegrationpatterns.com/img/DynamicRouter.gif[image]
+image::eip/DynamicRouter.gif[image]
 
 The `dynamicRouter` in the DSL is similar to
 a dynamic Routing Slip which evaluates the slip
diff --git a/core/camel-core/src/main/docs/eips/enrich-eip.adoc b/core/camel-core/src/main/docs/eips/enrich-eip.adoc
index fdab1a5..153c185 100644
--- a/core/camel-core/src/main/docs/eips/enrich-eip.adoc
+++ b/core/camel-core/src/main/docs/eips/enrich-eip.adoc
@@ -3,7 +3,7 @@
 
 Camel supports the Content Enricher from the EIP patterns using a Message Translator, an arbitrary Processor in the routing logic, or using the enrich DSL element to enrich the message.
 
-image:http://www.enterpriseintegrationpatterns.com/img/DataEnricher.gif[image]
+image::eip/DataEnricher.gif[image]
 
 // eip options: START
 The Enrich EIP supports 7 options which are listed below:
diff --git a/core/camel-core/src/main/docs/eips/eventDrivenConsumer-eip.adoc b/core/camel-core/src/main/docs/eips/eventDrivenConsumer-eip.adoc
index cfd0aa3..d6da362 100644
--- a/core/camel-core/src/main/docs/eips/eventDrivenConsumer-eip.adoc
+++ b/core/camel-core/src/main/docs/eips/eventDrivenConsumer-eip.adoc
@@ -9,7 +9,7 @@ The default consumer model is event based (i.e. asynchronous)
 as this means that the Camel container can then manage pooling,
 threading and concurrency for you in a declarative manner.
 
-image:http://www.enterpriseintegrationpatterns.com/img/EventDrivenConsumerSolution.gif[image]
+image::eip/EventDrivenConsumerSolution.gif[image]
 
 The Event Driven Consumer is implemented by consumers implementing the
 http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/Processor.html[Processor]
diff --git a/core/camel-core/src/main/docs/eips/filter-eip.adoc b/core/camel-core/src/main/docs/eips/filter-eip.adoc
index c5197c1..cff780f 100644
--- a/core/camel-core/src/main/docs/eips/filter-eip.adoc
+++ b/core/camel-core/src/main/docs/eips/filter-eip.adoc
@@ -5,7 +5,7 @@ The http://www.enterpriseintegrationpatterns.com/Filter.html[Message
 Filter] from the xref:enterprise-integration-patterns.adoc[EIP patterns]
 allows you to filter messages
 
-image:http://www.enterpriseintegrationpatterns.com/img/MessageFilter.gif[image]
+image::eip/MessageFilter.gif[image]
 
 The following example shows how to create a Message Filter route
 consuming messages from an endpoint called *queue:a*, which if the
diff --git a/core/camel-core/src/main/docs/eips/otherwise-eip.adoc b/core/camel-core/src/main/docs/eips/otherwise-eip.adoc
index 4682f98..45d4547 100644
--- a/core/camel-core/src/main/docs/eips/otherwise-eip.adoc
+++ b/core/camel-core/src/main/docs/eips/otherwise-eip.adoc
@@ -5,7 +5,7 @@ The Otherwise EIP is related to http://www.enterpriseintegrationpatterns.com/Con
 Based Router] from the xref:enterprise-integration-patterns.adoc[EIP
 patterns]
 
-image:http://www.enterpriseintegrationpatterns.com/img/ContentBasedRouter.gif[image]
+image::eip/ContentBasedRouter.gif[image]
 
 == Options
 
diff --git a/core/camel-core/src/main/docs/eips/pipeline-eip.adoc b/core/camel-core/src/main/docs/eips/pipeline-eip.adoc
index c91c483..6e5662f 100644
--- a/core/camel-core/src/main/docs/eips/pipeline-eip.adoc
+++ b/core/camel-core/src/main/docs/eips/pipeline-eip.adoc
@@ -3,7 +3,7 @@
 
 Camel supports the http://www.enterpriseintegrationpatterns.com/PipesAndFilters.html[Pipes and Filters] from the https://github.com/apache/camel/blob/master/docs/user-manual/en/enterprise-integration-patterns.adoc[EIP patterns] in various ways.
 
-image:http://www.enterpriseintegrationpatterns.com/img/PipesAndFilters.gif[image]
+image::eip/PipesAndFilters.gif[image]
 
 With Camel you can split your processing across multiple independent
 https://github.com/apache/camel/blob/master/docs/user-manual/en/endpoint.adoc[Endpoint] instances which can then be chained
diff --git a/core/camel-core/src/main/docs/eips/recipientList-eip.adoc b/core/camel-core/src/main/docs/eips/recipientList-eip.adoc
index da32e34..955b823 100644
--- a/core/camel-core/src/main/docs/eips/recipientList-eip.adoc
+++ b/core/camel-core/src/main/docs/eips/recipientList-eip.adoc
@@ -2,7 +2,7 @@
 = Recipient List EIP
 The http://www.enterpriseintegrationpatterns.com/RecipientList.html[Recipient List] from the EIP patterns allows you to route messages to a number of dynamically specified recipients.
 
-image:http://www.enterpriseintegrationpatterns.com/img/RecipientList.gif[image]
+image::eip/RecipientList.gif[image]
 
 The recipients will receive a copy of the *same* Exchange, and Camel will execute them sequentially.
 
diff --git a/core/camel-core/src/main/docs/eips/requestReply-eip.adoc b/core/camel-core/src/main/docs/eips/requestReply-eip.adoc
index ec6858f..130bd3f 100644
--- a/core/camel-core/src/main/docs/eips/requestReply-eip.adoc
+++ b/core/camel-core/src/main/docs/eips/requestReply-eip.adoc
@@ -9,7 +9,7 @@ Message which can be set to *InOut* to indicate a
 request/reply. Camel Components then implement
 this pattern using the underlying transport or protocols.
 
-image:http://www.enterpriseintegrationpatterns.com/img/RequestReply.gif[image]
+image::eip/RequestReply.gif[image]
 
 For example when using xref:components::jms-component.adoc[JMS] with InOut the component will
 by default perform these actions
diff --git a/core/camel-core/src/main/docs/eips/resequence-eip.adoc b/core/camel-core/src/main/docs/eips/resequence-eip.adoc
index 1b5d777..760f661 100644
--- a/core/camel-core/src/main/docs/eips/resequence-eip.adoc
+++ b/core/camel-core/src/main/docs/eips/resequence-eip.adoc
@@ -4,7 +4,7 @@
 The http://www.enterpriseintegrationpatterns.com/Resequencer.html[Resequencer] from the https://camel.apache.org/enterprise-integration-patterns.html[EIP patterns] allows you to reorganise messages based on some comparator. +
 By default in Camel we use an Expression to create the comparator; so that you can compare by a message header or the body or a piece of a message etc.
 
-image:http://www.enterpriseintegrationpatterns.com/img/Resequencer.gif[image]
+image::eip/Resequencer.gif[image]
 
 == Options
 
diff --git a/core/camel-core/src/main/docs/eips/rollback-eip.adoc b/core/camel-core/src/main/docs/eips/rollback-eip.adoc
index 1b87b95..b595f45 100644
--- a/core/camel-core/src/main/docs/eips/rollback-eip.adoc
+++ b/core/camel-core/src/main/docs/eips/rollback-eip.adoc
@@ -7,7 +7,7 @@ http://www.enterpriseintegrationpatterns.com/TransactionalClient.html[Transactio
 Client] from the xref:enterprise-integration-patterns.adoc[EIP patterns]
 using spring transactions.
 
-image:http://www.enterpriseintegrationpatterns.com/img/TransactionalClientSolution.gif[image]
+image::eip/TransactionalClientSolution.gif[image]
 
 Transaction Oriented Endpoints like https://github.com/apache/camel/blob/master/components/camel-jms/src/main/docs/jms-component.adoc[JMS] support using a
 transaction for both inbound and outbound message exchanges. Endpoints
diff --git a/core/camel-core/src/main/docs/eips/routingSlip-eip.adoc b/core/camel-core/src/main/docs/eips/routingSlip-eip.adoc
index a9a47c5..540a565 100644
--- a/core/camel-core/src/main/docs/eips/routingSlip-eip.adoc
+++ b/core/camel-core/src/main/docs/eips/routingSlip-eip.adoc
@@ -2,7 +2,7 @@
 = Routing Slip EIP
 The Routing Slip from the https://camel.apache.org/enterprise-integration-patterns.html[EIP patterns] allows you to route a message consecutively through a series of processing steps where the sequence of steps is not known at design time and can vary for each message.
 
-image:http://www.enterpriseintegrationpatterns.com/img/RoutingTableSimple.gif[image]
+image::eip/RoutingTableSimple.gif[image]
 
 
 == Options
diff --git a/core/camel-core/src/main/docs/eips/split-eip.adoc b/core/camel-core/src/main/docs/eips/split-eip.adoc
index f2ea37b..568ab7a 100644
--- a/core/camel-core/src/main/docs/eips/split-eip.adoc
+++ b/core/camel-core/src/main/docs/eips/split-eip.adoc
@@ -3,7 +3,7 @@
 
 The http://www.enterpriseintegrationpatterns.com/patterns/messaging/Sequencer.html[Splitter] from the xref:enterprise-integration-patterns.adoc[EIP patterns] allows you split a message into a number of pieces and process them individually.
 
-image:http://www.enterpriseintegrationpatterns.com/img/Sequencer.gif[image]
+image::eip/Sequencer.gif[image]
 
 You need to specify a Splitter as `split()`. In earlier versions of Camel, you need to use `splitter()`.
 
diff --git a/core/camel-core/src/main/docs/eips/step-eip.adoc b/core/camel-core/src/main/docs/eips/step-eip.adoc
index ba61a0f..0b14b23 100644
--- a/core/camel-core/src/main/docs/eips/step-eip.adoc
+++ b/core/camel-core/src/main/docs/eips/step-eip.adoc
@@ -3,7 +3,7 @@
 
 Camel supports the http://www.enterpriseintegrationpatterns.com/PipesAndFilters.html[Pipes and Filters] from the https://github.com/apache/camel/blob/master/docs/user-manual/en/enterprise-integration-patterns.adoc[EIP patterns] in various ways.
 
-image:http://www.enterpriseintegrationpatterns.com/img/PipesAndFilters.gif[image]
+image::eip/PipesAndFilters.gif[image]
 
 With Camel you can split your processing across multiple independent processing
  which can then be chained together in a logical unit as a step.
diff --git a/core/camel-core/src/main/docs/eips/when-eip.adoc b/core/camel-core/src/main/docs/eips/when-eip.adoc
index 6478500..5070c54 100644
--- a/core/camel-core/src/main/docs/eips/when-eip.adoc
+++ b/core/camel-core/src/main/docs/eips/when-eip.adoc
@@ -5,7 +5,7 @@ The When EIP is related to http://www.enterpriseintegrationpatterns.com/ContentB
 Based Router] from the xref:enterprise-integration-patterns.adoc[EIP
 patterns]
 
-image:http://www.enterpriseintegrationpatterns.com/img/ContentBasedRouter.gif[image]
+image::eip/ContentBasedRouter.gif[image]
 
 == Options
 
diff --git a/core/camel-core/src/main/docs/eips/wireTap-eip.adoc b/core/camel-core/src/main/docs/eips/wireTap-eip.adoc
index ecf9323..0bcdda5 100644
--- a/core/camel-core/src/main/docs/eips/wireTap-eip.adoc
+++ b/core/camel-core/src/main/docs/eips/wireTap-eip.adoc
@@ -6,7 +6,7 @@ http://www.enterpriseintegrationpatterns.com/WireTap.html[Wire Tap]
 allows you to route messages to a separate location while they are being
 forwarded to the ultimate destination.
 
-image:http://www.enterpriseintegrationpatterns.com/img/WireTap.gif[image]
+image::eip/WireTap.gif[image]
 
 == Streams
 
diff --git a/docs/components/modules/ROOT/pages/pulsar-component.adoc b/docs/components/modules/ROOT/pages/pulsar-component.adoc
index e6d9ec5..f157413 100644
--- a/docs/components/modules/ROOT/pages/pulsar-component.adoc
+++ b/docs/components/modules/ROOT/pages/pulsar-component.adoc
@@ -28,7 +28,7 @@ pulsar:[persistent|non-persistent]://tenant/namespace/topic
 
 
 // component options: START
-The Apache Pulsar component supports 4 options, which are listed below.
+The Apache Pulsar component supports 6 options, which are listed below.
 
 
 
@@ -37,6 +37,8 @@ The Apache Pulsar component supports 4 options, which are listed below.
 | Name | Description | Default | Type
 | *autoConfiguration* (advanced) | The pulsar auto configuration |  | AutoConfiguration
 | *pulsarClient* (advanced) | The pulsar client |  | PulsarClient
+| *allowManual Acknowledgement* (consumer) | Whether to allow manual message acknowledgements. If this option is enabled, then messages are not immediately acknowledged after being consumed. Instead, an instance of PulsarMessageReceipt is stored as a header on the org.apache.camel.Exchange. Messages can then be acknowledged using PulsarMessageReceipt at any time before the ackTimeout occurs. | false | boolean
+| *pulsarMessageReceipt Factory* (consumer) | Provide a factory to create an alternate implementation of PulsarMessageReceipt. |  | PulsarMessageReceipt Factory
 | *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 | *basicPropertyBinding* (advanced) | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | boolean
 |===
@@ -68,12 +70,15 @@ with the following path and query parameters:
 |===
 
 
-=== Query Parameters (13 parameters):
+=== Query Parameters (16 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
+| *ackGroupTimeMillis* (consumer) | Group the consumer acknowledgments for the specified time in milliseconds - defaults to 100 | 100 | long
+| *ackTimeoutMillis* (consumer) | Timeout for unacknowledged messages in milliseconds - defaults to 10000 | 10000 | long
+| *allowManualAcknowledgement* (consumer) | Whether to allow manual message acknowledgements. If this option is enabled, then messages are not immediately acknowledged after being consumed. Instead, an instance of PulsarMessageReceipt is stored as a header on the org.apache.camel.Exchange. Messages can then be acknowledged using PulsarMessageReceipt at any time before the ackTimeout occurs. | false | boolean
 | *bridgeErrorHandler* (consumer) | 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. | false | boolean
 | *consumerName* (consumer) | Name of the consumer when subscription is EXCLUSIVE | sole-consumer | String
 | *consumerNamePrefix* (consumer) | Prefix to add to consumer names when a SHARED or FAILOVER subscription is used | cons | String
diff --git a/docs/user-manual/modules/ROOT/assets/images/eip/Aggregator.gif b/docs/user-manual/modules/ROOT/assets/images/eip/Aggregator.gif
new file mode 100644
index 0000000..b06cdfb
Binary files /dev/null and b/docs/user-manual/modules/ROOT/assets/images/eip/Aggregator.gif differ
diff --git a/docs/user-manual/modules/ROOT/assets/images/eip/AggregatorIcon.gif b/docs/user-manual/modules/ROOT/assets/images/eip/AggregatorIcon.gif
new file mode 100644
index 0000000..81521fe
Binary files /dev/null and b/docs/user-manual/modules/ROOT/assets/images/eip/AggregatorIcon.gif differ
diff --git a/docs/user-manual/modules/ROOT/assets/images/eip/ChannelIcon.gif b/docs/user-manual/modules/ROOT/assets/images/eip/ChannelIcon.gif
new file mode 100644
index 0000000..2565164
Binary files /dev/null and b/docs/user-manual/modules/ROOT/assets/images/eip/ChannelIcon.gif differ
diff --git a/docs/user-manual/modules/ROOT/assets/images/eip/CompetingConsumersIcon.gif b/docs/user-manual/modules/ROOT/assets/images/eip/CompetingConsumersIcon.gif
new file mode 100644
index 0000000..1afcb37
Binary files /dev/null and b/docs/user-manual/modules/ROOT/assets/images/eip/CompetingConsumersIcon.gif differ
diff --git a/docs/user-manual/modules/ROOT/assets/images/eip/ContentBasedRouter.gif b/docs/user-manual/modules/ROOT/assets/images/eip/ContentBasedRouter.gif
new file mode 100644
index 0000000..29e53b8
Binary files /dev/null and b/docs/user-manual/modules/ROOT/assets/images/eip/ContentBasedRouter.gif differ
diff --git a/docs/user-manual/modules/ROOT/assets/images/eip/ContentBasedRouterIcon.gif b/docs/user-manual/modules/ROOT/assets/images/eip/ContentBasedRouterIcon.gif
new file mode 100644
index 0000000..8f4bef4
Binary files /dev/null and b/docs/user-manual/modules/ROOT/assets/images/eip/ContentBasedRouterIcon.gif differ
diff --git a/docs/user-manual/modules/ROOT/assets/images/eip/ContentFilter.gif b/docs/user-manual/modules/ROOT/assets/images/eip/ContentFilter.gif
new file mode 100644
index 0000000..dfb3e95
Binary files /dev/null and b/docs/user-manual/modules/ROOT/assets/images/eip/ContentFilter.gif differ
diff --git a/docs/user-manual/modules/ROOT/assets/images/eip/ContentFilterIcon.gif b/docs/user-manual/modules/ROOT/assets/images/eip/ContentFilterIcon.gif
new file mode 100644
index 0000000..6565a7c
Binary files /dev/null and b/docs/user-manual/modules/ROOT/assets/images/eip/ContentFilterIcon.gif differ
diff --git a/docs/user-manual/modules/ROOT/assets/images/eip/ControlBusIcon.gif b/docs/user-manual/modules/ROOT/assets/images/eip/ControlBusIcon.gif
new file mode 100644
index 0000000..f3890c0
Binary files /dev/null and b/docs/user-manual/modules/ROOT/assets/images/eip/ControlBusIcon.gif differ
diff --git a/docs/user-manual/modules/ROOT/assets/images/eip/CorrelationIdentifierIcon.gif b/docs/user-manual/modules/ROOT/assets/images/eip/CorrelationIdentifierIcon.gif
new file mode 100644
index 0000000..8918d6d
Binary files /dev/null and b/docs/user-manual/modules/ROOT/assets/images/eip/CorrelationIdentifierIcon.gif differ
diff --git a/docs/user-manual/modules/ROOT/assets/images/eip/CorrelationIdentifierSolution.gif b/docs/user-manual/modules/ROOT/assets/images/eip/CorrelationIdentifierSolution.gif
new file mode 100644
index 0000000..d607832
Binary files /dev/null and b/docs/user-manual/modules/ROOT/assets/images/eip/CorrelationIdentifierSolution.gif differ
diff --git a/docs/user-manual/modules/ROOT/assets/images/eip/DataEnricher.gif b/docs/user-manual/modules/ROOT/assets/images/eip/DataEnricher.gif
new file mode 100644
index 0000000..ea631a8
Binary files /dev/null and b/docs/user-manual/modules/ROOT/assets/images/eip/DataEnricher.gif differ
diff --git a/docs/user-manual/modules/ROOT/assets/images/eip/DataEnricherIcon.gif b/docs/user-manual/modules/ROOT/assets/images/eip/DataEnricherIcon.gif
new file mode 100644
index 0000000..83fb3ae
Binary files /dev/null and b/docs/user-manual/modules/ROOT/assets/images/eip/DataEnricherIcon.gif differ
diff --git a/docs/user-manual/modules/ROOT/assets/images/eip/DeadLetterChannelIcon.gif b/docs/user-manual/modules/ROOT/assets/images/eip/DeadLetterChannelIcon.gif
new file mode 100644
index 0000000..db043e6
Binary files /dev/null and b/docs/user-manual/modules/ROOT/assets/images/eip/DeadLetterChannelIcon.gif differ
diff --git a/docs/user-manual/modules/ROOT/assets/images/eip/DeadLetterChannelSolution.gif b/docs/user-manual/modules/ROOT/assets/images/eip/DeadLetterChannelSolution.gif
new file mode 100644
index 0000000..3f92c1d
Binary files /dev/null and b/docs/user-manual/modules/ROOT/assets/images/eip/DeadLetterChannelSolution.gif differ
diff --git a/docs/user-manual/modules/ROOT/assets/images/eip/DetourIcon.gif b/docs/user-manual/modules/ROOT/assets/images/eip/DetourIcon.gif
new file mode 100644
index 0000000..cdb9a41
Binary files /dev/null and b/docs/user-manual/modules/ROOT/assets/images/eip/DetourIcon.gif differ
diff --git a/docs/user-manual/modules/ROOT/assets/images/eip/DistributionAggregateIcon.gif b/docs/user-manual/modules/ROOT/assets/images/eip/DistributionAggregateIcon.gif
new file mode 100644
index 0000000..c7d720e
Binary files /dev/null and b/docs/user-manual/modules/ROOT/assets/images/eip/DistributionAggregateIcon.gif differ
diff --git a/docs/user-manual/modules/ROOT/assets/images/eip/DurableSubscriptionIcon.gif b/docs/user-manual/modules/ROOT/assets/images/eip/DurableSubscriptionIcon.gif
new file mode 100644
index 0000000..85eaa4f
Binary files /dev/null and b/docs/user-manual/modules/ROOT/assets/images/eip/DurableSubscriptionIcon.gif differ
diff --git a/docs/user-manual/modules/ROOT/assets/images/eip/DynamicRouter.gif b/docs/user-manual/modules/ROOT/assets/images/eip/DynamicRouter.gif
new file mode 100644
index 0000000..219cfd9
Binary files /dev/null and b/docs/user-manual/modules/ROOT/assets/images/eip/DynamicRouter.gif differ
diff --git a/docs/user-manual/modules/ROOT/assets/images/eip/DynamicRouterIcon.gif b/docs/user-manual/modules/ROOT/assets/images/eip/DynamicRouterIcon.gif
new file mode 100644
index 0000000..ed0abc4
Binary files /dev/null and b/docs/user-manual/modules/ROOT/assets/images/eip/DynamicRouterIcon.gif differ
diff --git a/docs/user-manual/modules/ROOT/assets/images/eip/EventDrivenConsumerIcon.gif b/docs/user-manual/modules/ROOT/assets/images/eip/EventDrivenConsumerIcon.gif
new file mode 100644
index 0000000..9b12c4f
Binary files /dev/null and b/docs/user-manual/modules/ROOT/assets/images/eip/EventDrivenConsumerIcon.gif differ
diff --git a/docs/user-manual/modules/ROOT/assets/images/eip/EventDrivenConsumerSolution.gif b/docs/user-manual/modules/ROOT/assets/images/eip/EventDrivenConsumerSolution.gif
new file mode 100644
index 0000000..8e71efa
Binary files /dev/null and b/docs/user-manual/modules/ROOT/assets/images/eip/EventDrivenConsumerSolution.gif differ
diff --git a/docs/user-manual/modules/ROOT/assets/images/eip/EventMessageIcon.gif b/docs/user-manual/modules/ROOT/assets/images/eip/EventMessageIcon.gif
new file mode 100644
index 0000000..75cef0a
Binary files /dev/null and b/docs/user-manual/modules/ROOT/assets/images/eip/EventMessageIcon.gif differ
diff --git a/docs/user-manual/modules/ROOT/assets/images/eip/EventMessageSolution.gif b/docs/user-manual/modules/ROOT/assets/images/eip/EventMessageSolution.gif
new file mode 100644
index 0000000..0fd898a
Binary files /dev/null and b/docs/user-manual/modules/ROOT/assets/images/eip/EventMessageSolution.gif differ
diff --git a/docs/user-manual/modules/ROOT/assets/images/eip/GuaranteedMessagingIcon.gif b/docs/user-manual/modules/ROOT/assets/images/eip/GuaranteedMessagingIcon.gif
new file mode 100644
index 0000000..b0608a3
Binary files /dev/null and b/docs/user-manual/modules/ROOT/assets/images/eip/GuaranteedMessagingIcon.gif differ
diff --git a/docs/user-manual/modules/ROOT/assets/images/eip/GuaranteedMessagingSolution.gif b/docs/user-manual/modules/ROOT/assets/images/eip/GuaranteedMessagingSolution.gif
new file mode 100644
index 0000000..db6298c
Binary files /dev/null and b/docs/user-manual/modules/ROOT/assets/images/eip/GuaranteedMessagingSolution.gif differ
diff --git a/docs/user-manual/modules/ROOT/assets/images/eip/MessageBusIcon.gif b/docs/user-manual/modules/ROOT/assets/images/eip/MessageBusIcon.gif
new file mode 100644
index 0000000..3428bd8
Binary files /dev/null and b/docs/user-manual/modules/ROOT/assets/images/eip/MessageBusIcon.gif differ
diff --git a/docs/user-manual/modules/ROOT/assets/images/eip/MessageBusSolution.gif b/docs/user-manual/modules/ROOT/assets/images/eip/MessageBusSolution.gif
new file mode 100644
index 0000000..b6471a7
Binary files /dev/null and b/docs/user-manual/modules/ROOT/assets/images/eip/MessageBusSolution.gif differ
diff --git a/docs/user-manual/modules/ROOT/assets/images/eip/MessageChannelSolution.gif b/docs/user-manual/modules/ROOT/assets/images/eip/MessageChannelSolution.gif
new file mode 100644
index 0000000..a4224fa
Binary files /dev/null and b/docs/user-manual/modules/ROOT/assets/images/eip/MessageChannelSolution.gif differ
diff --git a/docs/user-manual/modules/ROOT/assets/images/eip/MessageDispatcherIcon.gif b/docs/user-manual/modules/ROOT/assets/images/eip/MessageDispatcherIcon.gif
new file mode 100644
index 0000000..c75a9bc
Binary files /dev/null and b/docs/user-manual/modules/ROOT/assets/images/eip/MessageDispatcherIcon.gif differ
diff --git a/docs/user-manual/modules/ROOT/assets/images/eip/MessageEndpointIcon.gif b/docs/user-manual/modules/ROOT/assets/images/eip/MessageEndpointIcon.gif
new file mode 100644
index 0000000..5ca7c3d
Binary files /dev/null and b/docs/user-manual/modules/ROOT/assets/images/eip/MessageEndpointIcon.gif differ
diff --git a/docs/user-manual/modules/ROOT/assets/images/eip/MessageEndpointSolution.gif b/docs/user-manual/modules/ROOT/assets/images/eip/MessageEndpointSolution.gif
new file mode 100644
index 0000000..e5b7f88
Binary files /dev/null and b/docs/user-manual/modules/ROOT/assets/images/eip/MessageEndpointSolution.gif differ
diff --git a/docs/user-manual/modules/ROOT/assets/images/eip/MessageFilter.gif b/docs/user-manual/modules/ROOT/assets/images/eip/MessageFilter.gif
new file mode 100644
index 0000000..551690d
Binary files /dev/null and b/docs/user-manual/modules/ROOT/assets/images/eip/MessageFilter.gif differ
diff --git a/docs/user-manual/modules/ROOT/assets/images/eip/MessageFilterIcon.gif b/docs/user-manual/modules/ROOT/assets/images/eip/MessageFilterIcon.gif
new file mode 100644
index 0000000..ede1103
Binary files /dev/null and b/docs/user-manual/modules/ROOT/assets/images/eip/MessageFilterIcon.gif differ
diff --git a/docs/user-manual/modules/ROOT/assets/images/eip/MessageIcon.gif b/docs/user-manual/modules/ROOT/assets/images/eip/MessageIcon.gif
new file mode 100644
index 0000000..0bf98a3
Binary files /dev/null and b/docs/user-manual/modules/ROOT/assets/images/eip/MessageIcon.gif differ
diff --git a/docs/user-manual/modules/ROOT/assets/images/eip/MessageRouter.gif b/docs/user-manual/modules/ROOT/assets/images/eip/MessageRouter.gif
new file mode 100644
index 0000000..7e694af
Binary files /dev/null and b/docs/user-manual/modules/ROOT/assets/images/eip/MessageRouter.gif differ
diff --git a/docs/user-manual/modules/ROOT/assets/images/eip/MessageSelectorIcon.gif b/docs/user-manual/modules/ROOT/assets/images/eip/MessageSelectorIcon.gif
new file mode 100644
index 0000000..e938046
Binary files /dev/null and b/docs/user-manual/modules/ROOT/assets/images/eip/MessageSelectorIcon.gif differ
diff --git a/docs/user-manual/modules/ROOT/assets/images/eip/MessageSolution.gif b/docs/user-manual/modules/ROOT/assets/images/eip/MessageSolution.gif
new file mode 100644
index 0000000..feed40a
Binary files /dev/null and b/docs/user-manual/modules/ROOT/assets/images/eip/MessageSolution.gif differ
diff --git a/docs/user-manual/modules/ROOT/assets/images/eip/MessageTranslator.gif b/docs/user-manual/modules/ROOT/assets/images/eip/MessageTranslator.gif
new file mode 100644
index 0000000..f2d52fe
Binary files /dev/null and b/docs/user-manual/modules/ROOT/assets/images/eip/MessageTranslator.gif differ
diff --git a/docs/user-manual/modules/ROOT/assets/images/eip/MessageTranslatorIcon.gif b/docs/user-manual/modules/ROOT/assets/images/eip/MessageTranslatorIcon.gif
new file mode 100644
index 0000000..723c236
Binary files /dev/null and b/docs/user-manual/modules/ROOT/assets/images/eip/MessageTranslatorIcon.gif differ
diff --git a/docs/user-manual/modules/ROOT/assets/images/eip/MessagingAdapterIcon.gif b/docs/user-manual/modules/ROOT/assets/images/eip/MessagingAdapterIcon.gif
new file mode 100644
index 0000000..74534cb
Binary files /dev/null and b/docs/user-manual/modules/ROOT/assets/images/eip/MessagingAdapterIcon.gif differ
diff --git a/docs/user-manual/modules/ROOT/assets/images/eip/MessagingGatewayIcon.gif b/docs/user-manual/modules/ROOT/assets/images/eip/MessagingGatewayIcon.gif
new file mode 100644
index 0000000..16c33ce
Binary files /dev/null and b/docs/user-manual/modules/ROOT/assets/images/eip/MessagingGatewayIcon.gif differ
diff --git a/docs/user-manual/modules/ROOT/assets/images/eip/NormalizerIcon.gif b/docs/user-manual/modules/ROOT/assets/images/eip/NormalizerIcon.gif
new file mode 100644
index 0000000..497bcf4
Binary files /dev/null and b/docs/user-manual/modules/ROOT/assets/images/eip/NormalizerIcon.gif differ
diff --git a/docs/user-manual/modules/ROOT/assets/images/eip/PipesAndFilters.gif b/docs/user-manual/modules/ROOT/assets/images/eip/PipesAndFilters.gif
new file mode 100644
index 0000000..9dd3c15
Binary files /dev/null and b/docs/user-manual/modules/ROOT/assets/images/eip/PipesAndFilters.gif differ
diff --git a/docs/user-manual/modules/ROOT/assets/images/eip/PipesAndFiltersIcon.gif b/docs/user-manual/modules/ROOT/assets/images/eip/PipesAndFiltersIcon.gif
new file mode 100644
index 0000000..ab2131e
Binary files /dev/null and b/docs/user-manual/modules/ROOT/assets/images/eip/PipesAndFiltersIcon.gif differ
diff --git a/docs/user-manual/modules/ROOT/assets/images/eip/PointToPointIcon.gif b/docs/user-manual/modules/ROOT/assets/images/eip/PointToPointIcon.gif
new file mode 100644
index 0000000..db36d2c
Binary files /dev/null and b/docs/user-manual/modules/ROOT/assets/images/eip/PointToPointIcon.gif differ
diff --git a/docs/user-manual/modules/ROOT/assets/images/eip/PointToPointSolution.gif b/docs/user-manual/modules/ROOT/assets/images/eip/PointToPointSolution.gif
new file mode 100644
index 0000000..1792608
Binary files /dev/null and b/docs/user-manual/modules/ROOT/assets/images/eip/PointToPointSolution.gif differ
diff --git a/docs/user-manual/modules/ROOT/assets/images/eip/PollingConsumerIcon.gif b/docs/user-manual/modules/ROOT/assets/images/eip/PollingConsumerIcon.gif
new file mode 100644
index 0000000..71cf610
Binary files /dev/null and b/docs/user-manual/modules/ROOT/assets/images/eip/PollingConsumerIcon.gif differ
diff --git a/docs/user-manual/modules/ROOT/assets/images/eip/PollingConsumerSolution.gif b/docs/user-manual/modules/ROOT/assets/images/eip/PollingConsumerSolution.gif
new file mode 100644
index 0000000..45ee986
Binary files /dev/null and b/docs/user-manual/modules/ROOT/assets/images/eip/PollingConsumerSolution.gif differ
diff --git a/docs/user-manual/modules/ROOT/assets/images/eip/PublishSubscribeIcon.gif b/docs/user-manual/modules/ROOT/assets/images/eip/PublishSubscribeIcon.gif
new file mode 100644
index 0000000..fc8418a
Binary files /dev/null and b/docs/user-manual/modules/ROOT/assets/images/eip/PublishSubscribeIcon.gif differ
diff --git a/docs/user-manual/modules/ROOT/assets/images/eip/PublishSubscribeSolution.gif b/docs/user-manual/modules/ROOT/assets/images/eip/PublishSubscribeSolution.gif
new file mode 100644
index 0000000..329f774
Binary files /dev/null and b/docs/user-manual/modules/ROOT/assets/images/eip/PublishSubscribeSolution.gif differ
diff --git a/docs/user-manual/modules/ROOT/assets/images/eip/RecipientList.gif b/docs/user-manual/modules/ROOT/assets/images/eip/RecipientList.gif
new file mode 100644
index 0000000..cf32f0c
Binary files /dev/null and b/docs/user-manual/modules/ROOT/assets/images/eip/RecipientList.gif differ
diff --git a/docs/user-manual/modules/ROOT/assets/images/eip/RecipientListIcon.gif b/docs/user-manual/modules/ROOT/assets/images/eip/RecipientListIcon.gif
new file mode 100644
index 0000000..0235a3c
Binary files /dev/null and b/docs/user-manual/modules/ROOT/assets/images/eip/RecipientListIcon.gif differ
diff --git a/docs/user-manual/modules/ROOT/assets/images/eip/RequestReply.gif b/docs/user-manual/modules/ROOT/assets/images/eip/RequestReply.gif
new file mode 100644
index 0000000..37a4a75
Binary files /dev/null and b/docs/user-manual/modules/ROOT/assets/images/eip/RequestReply.gif differ
diff --git a/docs/user-manual/modules/ROOT/assets/images/eip/RequestReplyIcon.gif b/docs/user-manual/modules/ROOT/assets/images/eip/RequestReplyIcon.gif
new file mode 100644
index 0000000..3d73af6
Binary files /dev/null and b/docs/user-manual/modules/ROOT/assets/images/eip/RequestReplyIcon.gif differ
diff --git a/docs/user-manual/modules/ROOT/assets/images/eip/Resequencer.gif b/docs/user-manual/modules/ROOT/assets/images/eip/Resequencer.gif
new file mode 100644
index 0000000..02e920f
Binary files /dev/null and b/docs/user-manual/modules/ROOT/assets/images/eip/Resequencer.gif differ
diff --git a/docs/user-manual/modules/ROOT/assets/images/eip/ResequencerIcon.gif b/docs/user-manual/modules/ROOT/assets/images/eip/ResequencerIcon.gif
new file mode 100644
index 0000000..b982067
Binary files /dev/null and b/docs/user-manual/modules/ROOT/assets/images/eip/ResequencerIcon.gif differ
diff --git a/docs/user-manual/modules/ROOT/assets/images/eip/ReturnAddressIcon.gif b/docs/user-manual/modules/ROOT/assets/images/eip/ReturnAddressIcon.gif
new file mode 100644
index 0000000..34f7eb4
Binary files /dev/null and b/docs/user-manual/modules/ROOT/assets/images/eip/ReturnAddressIcon.gif differ
diff --git a/docs/user-manual/modules/ROOT/assets/images/eip/ReturnAddressSolution.gif b/docs/user-manual/modules/ROOT/assets/images/eip/ReturnAddressSolution.gif
new file mode 100644
index 0000000..9c69ef9
Binary files /dev/null and b/docs/user-manual/modules/ROOT/assets/images/eip/ReturnAddressSolution.gif differ
diff --git a/docs/user-manual/modules/ROOT/assets/images/eip/RoutingTableIcon.gif b/docs/user-manual/modules/ROOT/assets/images/eip/RoutingTableIcon.gif
new file mode 100644
index 0000000..cc57117
Binary files /dev/null and b/docs/user-manual/modules/ROOT/assets/images/eip/RoutingTableIcon.gif differ
diff --git a/docs/user-manual/modules/ROOT/assets/images/eip/RoutingTableSimple.gif b/docs/user-manual/modules/ROOT/assets/images/eip/RoutingTableSimple.gif
new file mode 100644
index 0000000..c4005da
Binary files /dev/null and b/docs/user-manual/modules/ROOT/assets/images/eip/RoutingTableSimple.gif differ
diff --git a/docs/user-manual/modules/ROOT/assets/images/eip/Sequencer.gif b/docs/user-manual/modules/ROOT/assets/images/eip/Sequencer.gif
new file mode 100644
index 0000000..a925fa2
Binary files /dev/null and b/docs/user-manual/modules/ROOT/assets/images/eip/Sequencer.gif differ
diff --git a/docs/user-manual/modules/ROOT/assets/images/eip/SplitterIcon.gif b/docs/user-manual/modules/ROOT/assets/images/eip/SplitterIcon.gif
new file mode 100644
index 0000000..a25544e
Binary files /dev/null and b/docs/user-manual/modules/ROOT/assets/images/eip/SplitterIcon.gif differ
diff --git a/docs/user-manual/modules/ROOT/assets/images/eip/StoreInLibrary.gif b/docs/user-manual/modules/ROOT/assets/images/eip/StoreInLibrary.gif
new file mode 100644
index 0000000..51a1736
Binary files /dev/null and b/docs/user-manual/modules/ROOT/assets/images/eip/StoreInLibrary.gif differ
diff --git a/docs/user-manual/modules/ROOT/assets/images/eip/StoreInLibraryIcon.gif b/docs/user-manual/modules/ROOT/assets/images/eip/StoreInLibraryIcon.gif
new file mode 100644
index 0000000..2f4d300
Binary files /dev/null and b/docs/user-manual/modules/ROOT/assets/images/eip/StoreInLibraryIcon.gif differ
diff --git a/docs/user-manual/modules/ROOT/assets/images/eip/TransactionalClientIcon.gif b/docs/user-manual/modules/ROOT/assets/images/eip/TransactionalClientIcon.gif
new file mode 100644
index 0000000..7e822a7
Binary files /dev/null and b/docs/user-manual/modules/ROOT/assets/images/eip/TransactionalClientIcon.gif differ
diff --git a/docs/user-manual/modules/ROOT/assets/images/eip/TransactionalClientSolution.gif b/docs/user-manual/modules/ROOT/assets/images/eip/TransactionalClientSolution.gif
new file mode 100644
index 0000000..0d4d4c0
Binary files /dev/null and b/docs/user-manual/modules/ROOT/assets/images/eip/TransactionalClientSolution.gif differ
diff --git a/docs/user-manual/modules/ROOT/assets/images/eip/WireTap.gif b/docs/user-manual/modules/ROOT/assets/images/eip/WireTap.gif
new file mode 100644
index 0000000..4141737
Binary files /dev/null and b/docs/user-manual/modules/ROOT/assets/images/eip/WireTap.gif differ
diff --git a/docs/user-manual/modules/ROOT/assets/images/eip/WireTapIcon.gif b/docs/user-manual/modules/ROOT/assets/images/eip/WireTapIcon.gif
new file mode 100644
index 0000000..aafdd23
Binary files /dev/null and b/docs/user-manual/modules/ROOT/assets/images/eip/WireTapIcon.gif differ
diff --git a/docs/user-manual/modules/ROOT/pages/aggregate-eip.adoc b/docs/user-manual/modules/ROOT/pages/aggregate-eip.adoc
index f77d40a..9b15044 100644
--- a/docs/user-manual/modules/ROOT/pages/aggregate-eip.adoc
+++ b/docs/user-manual/modules/ROOT/pages/aggregate-eip.adoc
@@ -6,7 +6,7 @@ http://www.enterpriseintegrationpatterns.com/Aggregator.html[Aggregator]
 from the xref:enterprise-integration-patterns.adoc[EIP patterns] allows
 you to combine a number of messages together into a single message.
 
-image:http://www.enterpriseintegrationpatterns.com/img/Aggregator.gif[image]
+image::eip/Aggregator.gif[image]
 
 A correlation xref:expression.adoc[Expression] is used to determine the
 messages which should be aggregated together. If you want to aggregate
diff --git a/docs/user-manual/modules/ROOT/pages/choice-eip.adoc b/docs/user-manual/modules/ROOT/pages/choice-eip.adoc
index 9d60c69..73dd14b 100644
--- a/docs/user-manual/modules/ROOT/pages/choice-eip.adoc
+++ b/docs/user-manual/modules/ROOT/pages/choice-eip.adoc
@@ -7,7 +7,7 @@ Based Router] from the xref:enterprise-integration-patterns.adoc[EIP
 patterns] allows you to route messages to the correct destination based
 on the contents of the message exchanges.
 
-image:http://www.enterpriseintegrationpatterns.com/img/ContentBasedRouter.gif[image]
+image::eip/ContentBasedRouter.gif[image]
 
 == Choice options
 
diff --git a/docs/user-manual/modules/ROOT/pages/claimCheck-eip.adoc b/docs/user-manual/modules/ROOT/pages/claimCheck-eip.adoc
index fd8728b..a726bdf 100644
--- a/docs/user-manual/modules/ROOT/pages/claimCheck-eip.adoc
+++ b/docs/user-manual/modules/ROOT/pages/claimCheck-eip.adoc
@@ -6,7 +6,7 @@
 The http://www.enterpriseintegrationpatterns.com/patterns/messaging/StoreInLibrary.html[Claim Check] from the xref:enterprise-integration-patterns.adoc[EIP patterns]
 allows you to replace message content with a claim check (a unique key), which can be used to retrieve the message content at a later time.
 
-image:http://www.enterpriseintegrationpatterns.com/img/StoreInLibrary.gif[image]
+image::eip/StoreInLibrary.gif[image]
 
 It can also be useful in situations where you cannot trust the information with an outside party; in this case, you can use the Claim Check to hide the sensitive portions of data.
 
diff --git a/docs/user-manual/modules/ROOT/pages/content-based-router-eip.adoc b/docs/user-manual/modules/ROOT/pages/content-based-router-eip.adoc
index 0a444a9..a734992 100644
--- a/docs/user-manual/modules/ROOT/pages/content-based-router-eip.adoc
+++ b/docs/user-manual/modules/ROOT/pages/content-based-router-eip.adoc
@@ -7,7 +7,7 @@ Based Router] from the xref:enterprise-integration-patterns.adoc[EIP
 patterns] allows you to route messages to the correct destination based
 on the contents of the message exchanges.
 
-image:http://www.enterpriseintegrationpatterns.com/img/ContentBasedRouter.gif[image]
+image::eip/ContentBasedRouter.gif[image]
 
 The following example shows how to route a request from an input
 *seda:a* endpoint to either *seda:b*, *seda:c* or *seda:d* depending on
diff --git a/docs/user-manual/modules/ROOT/pages/content-enricher.adoc b/docs/user-manual/modules/ROOT/pages/content-enricher.adoc
index f4a94d8..6743b60 100644
--- a/docs/user-manual/modules/ROOT/pages/content-enricher.adoc
+++ b/docs/user-manual/modules/ROOT/pages/content-enricher.adoc
@@ -9,7 +9,7 @@ arbitrary xref:processor.adoc[Processor] in the routing logic, or using
 the xref:content-enricher.adoc[enrich] DSL element to enrich the
 message.
 
-image:http://www.enterpriseintegrationpatterns.com/img/DataEnricher.gif[image]
+image::eip/DataEnricher.gif[image]
 
 [[ContentEnricher-ContentenrichmentusingaMessageTranslatororaProcessor]]
 == Content enrichment using a Message Translator or a Processor
diff --git a/docs/user-manual/modules/ROOT/pages/content-filter-eip.adoc b/docs/user-manual/modules/ROOT/pages/content-filter-eip.adoc
index b4ff1c8..5d106e7 100644
--- a/docs/user-manual/modules/ROOT/pages/content-filter-eip.adoc
+++ b/docs/user-manual/modules/ROOT/pages/content-filter-eip.adoc
@@ -12,7 +12,7 @@ content from the inbound message.
 * invoking a xref:bean-integration.adoc[Java bean]
 * xref:processor.adoc[Processor] object
 
-image:http://www.enterpriseintegrationpatterns.com/img/ContentFilter.gif[image]
+image::eip/ContentFilter.gif[image]
 
 A common way to filter messages is to use an
 xref:expression.adoc[Expression] in the xref:dsl.adoc[DSL] like
diff --git a/docs/user-manual/modules/ROOT/pages/correlation-identifier.adoc b/docs/user-manual/modules/ROOT/pages/correlation-identifier.adoc
index 8d1468c..5e79bf4 100644
--- a/docs/user-manual/modules/ROOT/pages/correlation-identifier.adoc
+++ b/docs/user-manual/modules/ROOT/pages/correlation-identifier.adoc
@@ -13,7 +13,7 @@ components the correlation identifier header is called
 message exchange to help correlate messages together to a single
 conversation (or business process).
 
-image:http://www.enterpriseintegrationpatterns.com/img/CorrelationIdentifierSolution.gif[image]
+image::eip/CorrelationIdentifierSolution.gif[image]
 
 The use of a Correlation Identifier is key to working with the
 xref:bam.adoc[Camel Business Activity Monitoring Framework] and can also
diff --git a/docs/user-manual/modules/ROOT/pages/dead-letter-channel.adoc b/docs/user-manual/modules/ROOT/pages/dead-letter-channel.adoc
index 5b0450a..0b61e3d 100644
--- a/docs/user-manual/modules/ROOT/pages/dead-letter-channel.adoc
+++ b/docs/user-manual/modules/ROOT/pages/dead-letter-channel.adoc
@@ -8,7 +8,7 @@ patterns] using the
 http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/processor/DeadLetterChannel.html[DeadLetterChannel]
 processor which is an xref:error-handler.adoc[Error Handler].
 
-image:http://www.enterpriseintegrationpatterns.com/img/DeadLetterChannelSolution.gif[image]
+image::eip/DeadLetterChannelSolution.gif[image]
 
 The Dead Letter Channel lets you control behaviors including redelivery,
 whether to propagate the thrown Exception to the caller (the *handled*
diff --git a/docs/user-manual/modules/ROOT/pages/dynamic-router.adoc b/docs/user-manual/modules/ROOT/pages/dynamic-router.adoc
index 665dd1e..dd6094f 100644
--- a/docs/user-manual/modules/ROOT/pages/dynamic-router.adoc
+++ b/docs/user-manual/modules/ROOT/pages/dynamic-router.adoc
@@ -7,7 +7,7 @@ Router] from the EIP patterns
 allows you to route messages while avoiding the dependency of the router
 on all possible destinations while maintaining its efficiency.
 
-image:http://www.enterpriseintegrationpatterns.com/img/DynamicRouter.gif[image]
+image::eip/DynamicRouter.gif[image]
 
 The `dynamicRouter` in the DSL is similar to
 a dynamic Routing Slip which evaluates the slip
diff --git a/docs/user-manual/modules/ROOT/pages/dynamicRouter-eip.adoc b/docs/user-manual/modules/ROOT/pages/dynamicRouter-eip.adoc
index ceb13a5..9646c58 100644
--- a/docs/user-manual/modules/ROOT/pages/dynamicRouter-eip.adoc
+++ b/docs/user-manual/modules/ROOT/pages/dynamicRouter-eip.adoc
@@ -3,7 +3,7 @@
 
 The http://www.enterpriseintegrationpatterns.com/DynamicRouter.html[Dynamic Router] from the xref:enterprise-integration-patterns.adoc[EIP patterns] allows you to route messages while avoiding the dependency of the router on all possible destinations while maintaining its efficiency.
 
-image:http://www.enterpriseintegrationpatterns.com/img/DynamicRouter.gif[image]
+image::eip/DynamicRouter.gif[image]
 
 The `dynamicRouter` in the DSL is similar to
 a dynamic Routing Slip which evaluates the slip
diff --git a/docs/user-manual/modules/ROOT/pages/enrich-eip.adoc b/docs/user-manual/modules/ROOT/pages/enrich-eip.adoc
index fdab1a5..153c185 100644
--- a/docs/user-manual/modules/ROOT/pages/enrich-eip.adoc
+++ b/docs/user-manual/modules/ROOT/pages/enrich-eip.adoc
@@ -3,7 +3,7 @@
 
 Camel supports the Content Enricher from the EIP patterns using a Message Translator, an arbitrary Processor in the routing logic, or using the enrich DSL element to enrich the message.
 
-image:http://www.enterpriseintegrationpatterns.com/img/DataEnricher.gif[image]
+image::eip/DataEnricher.gif[image]
 
 // eip options: START
 The Enrich EIP supports 7 options which are listed below:
diff --git a/docs/user-manual/modules/ROOT/pages/enterprise-integration-patterns.adoc b/docs/user-manual/modules/ROOT/pages/enterprise-integration-patterns.adoc
index 6b232ed..8922290 100644
--- a/docs/user-manual/modules/ROOT/pages/enterprise-integration-patterns.adoc
+++ b/docs/user-manual/modules/ROOT/pages/enterprise-integration-patterns.adoc
@@ -29,29 +29,29 @@ Visio], or http://www.graffletopia.com/stencils/137[Omnigraffle].
 
 [width="100%",cols="10%,10%,80%",]
 |=======================================================================
-|image:http://www.eaipatterns.com/img/ChannelIcon.gif[image]
+a|image::eip/ChannelIcon.gif[image]
 |Message Channel |How does one application
 communicate with another using messaging?
 
-|image:http://www.eaipatterns.com/img/MessageIcon.gif[image]
+a|image::eip/MessageIcon.gif[image]
 |Message |How can two applications connected by a
 message channel exchange a piece of information?
 
-|image:http://www.eaipatterns.com/img/PipesAndFiltersIcon.gif[image]
+a|image::eip/PipesAndFiltersIcon.gif[image]
 |Pipes and Filters |How can we perform
 complex processing on a message while maintaining independence and
 flexibility?
 
-|image:http://www.eaipatterns.com/img/ContentBasedRouterIcon.gif[image]
+a|image::eip/ContentBasedRouterIcon.gif[image]
 |Message Router |How can you decouple
 individual processing steps so that messages can be passed to different
 filters depending on a set of conditions?
 
-|image:http://www.eaipatterns.com/img/MessageTranslatorIcon.gif[image]
+a|image::eip/MessageTranslatorIcon.gif[image]
 |Message Translator |How can systems using
 different data formats communicate with each other using messaging?
 
-|image:http://www.eaipatterns.com/img/MessageEndpointIcon.gif[image]
+a|image::eip/MessageEndpointIcon.gif[image]
 |Message Endpoint |How does an application
 connect to a messaging channel to send and receive messages?
 |=======================================================================
@@ -61,25 +61,25 @@ connect to a messaging channel to send and receive messages?
 
 [width="100%",cols="10%,10%,80%",]
 |=======================================================================
-|image:http://www.eaipatterns.com/img/PointToPointIcon.gif[image]
+a|image::eip/PointToPointIcon.gif[image]
 |Point to Point Channel |How can the
 caller be sure that exactly one receiver will receive the document or
 perform the call?
 
-|image:http://www.eaipatterns.com/img/PublishSubscribeIcon.gif[image]
+a|image::eip/PublishSubscribeIcon.gif[image]
 |Publish Subscribe Channel |How can
 the sender broadcast an event to all interested receivers?
 
-|image:http://www.eaipatterns.com/img/DeadLetterChannelIcon.gif[image]
+a|image::eip/DeadLetterChannelIcon.gif[image]
 |Dead Letter Channel |What will the
 messaging system do with a message it cannot deliver?
 
-|image:http://www.eaipatterns.com/img/GuaranteedMessagingIcon.gif[image]
+a|image::eip/GuaranteedMessagingIcon.gif[image]
 |Guaranteed Delivery |How can the sender
 make sure that a message will be delivered, even if the messaging system
 fails?
 
-|image:http://www.eaipatterns.com/img/MessageBusIcon.gif[image]
+a|image::eip/MessageBusIcon.gif[image]
 |Message Bus |What is an architecture that
 enables separate applications to work together, but in a de-coupled
 fashion such that applications can be easily added or removed without
@@ -91,20 +91,20 @@ affecting the others?
 
 [width="100%",cols="10%,10%,80%",]
 |=======================================================================
-|image:http://www.eaipatterns.com/img/EventMessageIcon.gif[image]
+a|image::eip/EventMessageIcon.gif[image]
 |Event Message |How can messaging be used to
 transmit events from one application to another?
 
-|image:http://www.eaipatterns.com/img/RequestReplyIcon.gif[image]
+a|image::eip/RequestReplyIcon.gif[image]
 |Request Reply |When an application sends a
 message, how can it get a response from the receiver?
 
-|image:http://www.eaipatterns.com/img/CorrelationIdentifierIcon.gif[image]
+a|image::eip/CorrelationIdentifierIcon.gif[image]
 |Correlation Identifier |How does a
 requestor that has received a reply know which request this is the reply
 for?
 
-|image:http://www.eaipatterns.com/img/ReturnAddressIcon.gif[image]
+a|image::eip/ReturnAddressIcon.gif[image]
 |Return Address |How does a replier know where
 to send the reply?
 |=======================================================================
@@ -114,87 +114,87 @@ to send the reply?
 
 [width="100%",cols="10%,10%,80%",]
 |=======================================================================
-|image:http://www.eaipatterns.com/img/ContentBasedRouterIcon.gif[image]
+a|image::eip/ContentBasedRouterIcon.gif[image]
 |Content Based Router |How do we handle
 a situation where the implementation of a single logical function (e.g.,
 inventory check) is spread across multiple physical systems?
 
-|image:http://www.eaipatterns.com/img/MessageFilterIcon.gif[image]
+a|image::eip/MessageFilterIcon.gif[image]
 |Message Filter |How can a component avoid
 receiving uninteresting messages?
 
-|image:http://www.eaipatterns.com/img/DynamicRouterIcon.gif[image]
+a|image::eip/DynamicRouterIcon.gif[image]
 |Dynamic Router |How can you avoid the
 dependency of the router on all possible destinations while maintaining
 its efficiency?
 
-|image:http://www.eaipatterns.com/img/RecipientListIcon.gif[image]
+a|image::eip/RecipientListIcon.gif[image]
 |Recipient List |How do we route a message to
 a list of (static or dynamically) specified recipients?
 
-|image:http://www.eaipatterns.com/img/SplitterIcon.gif[image]
+a|image::eip/SplitterIcon.gif[image]
 |Splitter |How can we process a message if it
 contains multiple elements, each of which may have to be processed in a
 different way?
 
-|image:http://www.eaipatterns.com/img/AggregatorIcon.gif[image]
+a|image::eip/AggregatorIcon.gif[image]
 |Aggregator |How do we combine the results of
 individual, but related messages so that they can be processed as a
 whole?
 
-|image:http://www.eaipatterns.com/img/ResequencerIcon.gif[image]
+a|image::eip/ResequencerIcon.gif[image]
 |Resequencer |How can we get a stream of related
 but out-of-sequence messages back into the correct order?
 
-|image:http://www.eaipatterns.com/img/DistributionAggregateIcon.gif[image]
+a|image::eip/DistributionAggregateIcon.gif[image]
 |Composed Message Processor |How
 can you maintain the overall message flow when processing a message
 consisting of multiple elements, each of which may require different
 processing?
 
-|image:http://cwiki.apache.org/confluence/download/attachments/49204/clear.png[image]
+|
 |Scatter-Gather |How do you maintain the
 overall message flow when a message needs to be sent to multiple
 recipients, each of which may send a reply?
 
-|image:http://www.eaipatterns.com/img/RoutingTableIcon.gif[image]
+a|image::eip/RoutingTableIcon.gif[image]
 |Routing Slip |How do we route a message
 consecutively through a series of processing steps when the sequence of
 steps is not known at design-time and may vary for each message?
 
-|image:http://cwiki.apache.org/confluence/download/attachments/49204/clear.png[image]
+|
 |Throttler |How can I throttle messages to ensure
 that a specific endpoint does not get overloaded, or we don't exceed an
 agreed SLA with some external service?
 
-|image:http://cwiki.apache.org/confluence/download/attachments/49204/clear.png[image]
+|
 |Sampling |How can I sample one message out of many
 in a given period to avoid downstream route does not get overloaded?
 
-|image:http://cwiki.apache.org/confluence/download/attachments/49204/clear.png[image]
+|
 |Delayer |How can I delay the sending of a message?
 
-|image:http://cwiki.apache.org/confluence/download/attachments/49204/clear.png[image]
+|
 |Load Balancer |How can I balance load across a
 number of endpoints?
 
-|image:http://cwiki.apache.org/confluence/download/attachments/49204/clear.png[image]
+|
 |Hystrix |How can I stop to call an external service if the service is broken?
 
-|image:http://cwiki.apache.org/confluence/download/attachments/49204/clear.png[image]
+|
 |Service Call |How can I call a remote service in a distributed system
 where the service is looked up from a service registry of some sorts?
 
-|image:http://cwiki.apache.org/confluence/download/attachments/49204/clear.png[image]
+|
 |Saga |How can I define a series of related actions in a Camel route
 that should be either completed successfully (all of them) or not-executed/compensated?
 
 
-|image:http://cwiki.apache.org/confluence/download/attachments/49204/clear.png[image]
+|
 |Multicast |How can I route a message to a number
 of endpoints at the same time?
 
-|image:http://cwiki.apache.org/confluence/download/attachments/49204/clear.png[image]
+|
 |xref:loop-eip.adoc[Loop] |How can I repeat processing a message in a loop?
 |=======================================================================
 
@@ -203,30 +203,30 @@ of endpoints at the same time?
 
 [width="100%",cols="10%,10%,80%",]
 |=======================================================================
-|image:http://www.eaipatterns.com/img/DataEnricherIcon.gif[image]
+a|image::eip/DataEnricherIcon.gif[image]
 |Content Enricher |How do we communicate
 with another system if the message originator does not have all the
 required data items available?
 
-|image:http://www.eaipatterns.com/img/ContentFilterIcon.gif[image]
+a|image::eip/ContentFilterIcon.gif[image]
 |Content Filter |How do you simplify dealing
 with a large message, when you are interested only in a few data items?
 
-|image:http://www.eaipatterns.com/img/StoreInLibraryIcon.gif[image]
+a|image::eip/StoreInLibraryIcon.gif[image]
 |Claim Check |How can we reduce the data volume
 of message sent across the system without sacrificing information
 content?
 
-|image:http://www.eaipatterns.com/img/NormalizerIcon.gif[image]
+a|image::eip/NormalizerIcon.gif[image]
 |Normalizer |How do you process messages that are
 semantically equivalent, but arrive in a different format?
 
-|image:http://cwiki.apache.org/confluence/download/attachments/49204/clear.png[image]
+|
 |xref:sort-eip.adoc[Sort] |How can I sort the body of a message?
 
 |  |Script |How do I execute a script which may not change the message?
 
-|image:http://cwiki.apache.org/confluence/download/attachments/49204/clear.png[image]
+|
 |xref:validate-eip.adoc[Validate] |How can I validate a message?
 |=======================================================================
 
@@ -235,48 +235,48 @@ semantically equivalent, but arrive in a different format?
 
 [width="100%",cols="10%,10%,80%",]
 |=======================================================================
-|image:http://cwiki.apache.org/confluence/download/attachments/49204/clear.png[image]
+|
 |Messaging Mapper |How do you move data
 between domain objects and the messaging infrastructure while keeping
 the two independent of each other?
 
-|image:http://www.eaipatterns.com/img/EventDrivenConsumerIcon.gif[image]
+a|image::eip/EventDrivenConsumerIcon.gif[image]
 |Event Driven Consumer |How can an
 application automatically consume messages as they become available?
 
-|image:http://www.eaipatterns.com/img/PollingConsumerIcon.gif[image]
+a|image::eip/PollingConsumerIcon.gif[image]
 |Polling Consumer |How can an application
 consume a message when the application is ready?
 
-|image:http://www.eaipatterns.com/img/CompetingConsumersIcon.gif[image]
+a|image::eip/CompetingConsumersIcon.gif[image]
 |Competing Consumers |How can a messaging
 client process multiple messages concurrently?
 
-|image:http://www.eaipatterns.com/img/MessageDispatcherIcon.gif[image]
+a|image::eip/MessageDispatcherIcon.gif[image]
 |Message Dispatcher |How can multiple
 consumers on a single channel coordinate their message processing?
 
-|image:http://www.eaipatterns.com/img/MessageSelectorIcon.gif[image]
+a|image::eip/MessageSelectorIcon.gif[image]
 |Selective Consumer |How can a message
 consumer select which messages it wishes to receive?
 
-|image:http://www.eaipatterns.com/img/DurableSubscriptionIcon.gif[image]
+a|image::eip/DurableSubscriptionIcon.gif[image]
 |Durable Subscriber |How can a subscriber
 avoid missing messages while it's not listening for them?
 
-|image:http://cwiki.apache.org/confluence/download/attachments/49204/clear.png[image]
+|
 |Idempotent Consumer |How can a message
 receiver deal with duplicate messages?
 
-|image:http://www.eaipatterns.com/img/TransactionalClientIcon.gif[image]
+a|image::eip/TransactionalClientIcon.gif[image]
 |Transactional Client |How can a client
 control its transactions with the messaging system?
 
-|image:http://www.eaipatterns.com/img/MessagingGatewayIcon.gif[image]
+a|image::eip/MessagingGatewayIcon.gif[image]
 |Messaging Gateway |How do you encapsulate
 access to the messaging system from the rest of the application?
 
-|image:http://www.eaipatterns.com/img/MessagingAdapterIcon.gif[image]
+a|image::eip/MessagingAdapterIcon.gif[image]
 |Service Activator |How can an application
 design a service to be invoked both via various messaging technologies
 and via non-messaging techniques?
@@ -287,24 +287,24 @@ and via non-messaging techniques?
 
 [width="100%",cols="10%,10%,80%",]
 |=======================================================================
-|image:http://www.eaipatterns.com/img/ControlBusIcon.gif[image]
+a|image::eip/ControlBusIcon.gif[image]
 |xref:components::controlbus-component.adoc[ControlBus] |How can we effectively administer a
 messaging system that is distributed across multiple platforms and a
 wide geographic area?
 
-|image:http://www.eaipatterns.com/img/DetourIcon.gif[image]
+a|image::eip/DetourIcon.gif[image]
 |Detour |How can you route a message through
 intermediate steps to perform validation, testing or debugging
 functions?
 
-|image:http://www.eaipatterns.com/img/WireTapIcon.gif[image]
+a|image::eip/WireTapIcon.gif[image]
 |Wire Tap |How do you inspect messages that travel
 on a point-to-point channel?
 
-|image:http://cwiki.apache.org/confluence/download/attachments/49204/clear.png[image]
+|
 |Message History |How can we effectively
 analyze and debug the flow of messages in a loosely coupled system?
 
-|image:http://cwiki.apache.org/confluence/download/attachments/49204/clear.png[image]
+|
 |Log |How can I log processing a message?
 |=======================================================================
diff --git a/docs/user-manual/modules/ROOT/pages/event-message.adoc b/docs/user-manual/modules/ROOT/pages/event-message.adoc
index cd30252..0f70b4a 100644
--- a/docs/user-manual/modules/ROOT/pages/event-message.adoc
+++ b/docs/user-manual/modules/ROOT/pages/event-message.adoc
@@ -9,7 +9,7 @@ on a xref:message.adoc[Message] which can be set to *InOnly* to indicate
 a oneway event message. Camel xref:xref:components::index.adoc[Components] then
 implement this pattern using the underlying transport or protocols.
 
-image:http://www.enterpriseintegrationpatterns.com/img/EventMessageSolution.gif[image]
+image::eip/EventMessageSolution.gif[image]
 
 The default behaviour of many xref:xref:components::index.adoc[Components] is InOnly
 such as for xref:components::jms-component.adoc[JMS], xref:components::jms-component.adoc[File] or
diff --git a/docs/user-manual/modules/ROOT/pages/eventDrivenConsumer-eip.adoc b/docs/user-manual/modules/ROOT/pages/eventDrivenConsumer-eip.adoc
index cfd0aa3..d6da362 100644
--- a/docs/user-manual/modules/ROOT/pages/eventDrivenConsumer-eip.adoc
+++ b/docs/user-manual/modules/ROOT/pages/eventDrivenConsumer-eip.adoc
@@ -9,7 +9,7 @@ The default consumer model is event based (i.e. asynchronous)
 as this means that the Camel container can then manage pooling,
 threading and concurrency for you in a declarative manner.
 
-image:http://www.enterpriseintegrationpatterns.com/img/EventDrivenConsumerSolution.gif[image]
+image::eip/EventDrivenConsumerSolution.gif[image]
 
 The Event Driven Consumer is implemented by consumers implementing the
 http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/Processor.html[Processor]
diff --git a/docs/user-manual/modules/ROOT/pages/filter-eip.adoc b/docs/user-manual/modules/ROOT/pages/filter-eip.adoc
index c5197c1..cff780f 100644
--- a/docs/user-manual/modules/ROOT/pages/filter-eip.adoc
+++ b/docs/user-manual/modules/ROOT/pages/filter-eip.adoc
@@ -5,7 +5,7 @@ The http://www.enterpriseintegrationpatterns.com/Filter.html[Message
 Filter] from the xref:enterprise-integration-patterns.adoc[EIP patterns]
 allows you to filter messages
 
-image:http://www.enterpriseintegrationpatterns.com/img/MessageFilter.gif[image]
+image::eip/MessageFilter.gif[image]
 
 The following example shows how to create a Message Filter route
 consuming messages from an endpoint called *queue:a*, which if the
diff --git a/docs/user-manual/modules/ROOT/pages/guaranteed-delivery.adoc b/docs/user-manual/modules/ROOT/pages/guaranteed-delivery.adoc
index d64592c..74d0776 100644
--- a/docs/user-manual/modules/ROOT/pages/guaranteed-delivery.adoc
+++ b/docs/user-manual/modules/ROOT/pages/guaranteed-delivery.adoc
@@ -16,7 +16,7 @@ any of the many other database component such as xref:components::sql-component.
 xref:components::jdbc-component.adoc[JDBC],
 xref:components::mybatis-component.adoc[MyBatis]
 
-image:http://www.enterpriseintegrationpatterns.com/img/GuaranteedMessagingSolution.gif[image]
+image::eip/GuaranteedMessagingSolution.gif[image]
 
 [[GuaranteedDelivery-Example]]
 == Example
diff --git a/docs/user-manual/modules/ROOT/pages/message-bus.adoc b/docs/user-manual/modules/ROOT/pages/message-bus.adoc
index 4bdd772..0c8e741 100644
--- a/docs/user-manual/modules/ROOT/pages/message-bus.adoc
+++ b/docs/user-manual/modules/ROOT/pages/message-bus.adoc
@@ -7,7 +7,7 @@ Bus] from the xref:enterprise-integration-patterns.adoc[EIP patterns].
 You could view Camel as a Message Bus itself as it allows producers and
 consumers to be decoupled.
 
-image:http://www.enterpriseintegrationpatterns.com/img/MessageBusSolution.gif[image]
+image::eip/MessageBusSolution.gif[image]
 
 Folks often assume that a Message Bus is a JMS though so you may wish to
 refer to the xref:components::jms-component.adoc[JMS] component for traditional MOM support. +
diff --git a/docs/user-manual/modules/ROOT/pages/message-channel.adoc b/docs/user-manual/modules/ROOT/pages/message-channel.adoc
index aa4f4c9..890a81f 100644
--- a/docs/user-manual/modules/ROOT/pages/message-channel.adoc
+++ b/docs/user-manual/modules/ROOT/pages/message-channel.adoc
@@ -10,7 +10,7 @@ http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/Endpoi
 interface and all interactions with the Message Channel are via the
 Endpoint interfaces.
 
-image:http://www.enterpriseintegrationpatterns.com/img/MessageChannelSolution.gif[image]
+image::eip/MessageChannelSolution.gif[image]
 
 == Samples
 
diff --git a/docs/user-manual/modules/ROOT/pages/message-endpoint.adoc b/docs/user-manual/modules/ROOT/pages/message-endpoint.adoc
index 0c1fd51..5476c85 100644
--- a/docs/user-manual/modules/ROOT/pages/message-endpoint.adoc
+++ b/docs/user-manual/modules/ROOT/pages/message-endpoint.adoc
@@ -8,7 +8,7 @@ patterns] using the
 http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/Endpoint.html[Endpoint]
 interface.
 
-image:http://www.enterpriseintegrationpatterns.com/img/MessageEndpointSolution.gif[image]
+image::eip/MessageEndpointSolution.gif[image]
 
 When using the xref:dsl.adoc[DSL] to create xref:routes.adoc[Routes] you
 typically refer to Message Endpoints by their xref:uris.adoc[URIs]
diff --git a/docs/user-manual/modules/ROOT/pages/message-router.adoc b/docs/user-manual/modules/ROOT/pages/message-router.adoc
index b9951e3..b6b73ee 100644
--- a/docs/user-manual/modules/ROOT/pages/message-router.adoc
+++ b/docs/user-manual/modules/ROOT/pages/message-router.adoc
@@ -7,7 +7,7 @@ Router] from the xref:enterprise-integration-patterns.adoc[EIP patterns]
 allows you to consume from an input destination, evaluate some predicate
 then choose the right output destination.
 
-image:http://www.enterpriseintegrationpatterns.com/img/MessageRouter.gif[image]
+image::eip/MessageRouter.gif[image]
 
 The following example shows how to route a request from an input
 *queue:a* endpoint to either *queue:b*, *queue:c* or *queue:d* depending
diff --git a/docs/user-manual/modules/ROOT/pages/message-translator.adoc b/docs/user-manual/modules/ROOT/pages/message-translator.adoc
index 5acb6be..b76f053 100644
--- a/docs/user-manual/modules/ROOT/pages/message-translator.adoc
+++ b/docs/user-manual/modules/ROOT/pages/message-translator.adoc
@@ -10,7 +10,7 @@ the transformation, or by using transform() in the DSL. You can also use
 a xref:data-format.adoc[Data Format] to marshal and unmarshal messages
 in different encodings.
 
-image:http://www.enterpriseintegrationpatterns.com/img/MessageTranslator.gif[image]
+image::eip/MessageTranslator.gif[image]
 
 == Samples
 
diff --git a/docs/user-manual/modules/ROOT/pages/message.adoc b/docs/user-manual/modules/ROOT/pages/message.adoc
index 11c73f2..2fb828e 100644
--- a/docs/user-manual/modules/ROOT/pages/message.adoc
+++ b/docs/user-manual/modules/ROOT/pages/message.adoc
@@ -7,7 +7,7 @@ the xref:enterprise-integration-patterns.adoc[EIP patterns] using the
 http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/Message.html[Message]
 interface.
 
-image:http://www.enterpriseintegrationpatterns.com/img/MessageSolution.gif[image]
+image::eip/MessageSolution.gif[image]
 
 To support various message xref:exchange-pattern.adoc[exchange patterns]
 like one way xref:event-message.adoc[Event Message] and
diff --git a/docs/user-manual/modules/ROOT/pages/otherwise-eip.adoc b/docs/user-manual/modules/ROOT/pages/otherwise-eip.adoc
index 4682f98..45d4547 100644
--- a/docs/user-manual/modules/ROOT/pages/otherwise-eip.adoc
+++ b/docs/user-manual/modules/ROOT/pages/otherwise-eip.adoc
@@ -5,7 +5,7 @@ The Otherwise EIP is related to http://www.enterpriseintegrationpatterns.com/Con
 Based Router] from the xref:enterprise-integration-patterns.adoc[EIP
 patterns]
 
-image:http://www.enterpriseintegrationpatterns.com/img/ContentBasedRouter.gif[image]
+image::eip/ContentBasedRouter.gif[image]
 
 == Options
 
diff --git a/docs/user-manual/modules/ROOT/pages/pipeline-eip.adoc b/docs/user-manual/modules/ROOT/pages/pipeline-eip.adoc
index c91c483..6e5662f 100644
--- a/docs/user-manual/modules/ROOT/pages/pipeline-eip.adoc
+++ b/docs/user-manual/modules/ROOT/pages/pipeline-eip.adoc
@@ -3,7 +3,7 @@
 
 Camel supports the http://www.enterpriseintegrationpatterns.com/PipesAndFilters.html[Pipes and Filters] from the https://github.com/apache/camel/blob/master/docs/user-manual/en/enterprise-integration-patterns.adoc[EIP patterns] in various ways.
 
-image:http://www.enterpriseintegrationpatterns.com/img/PipesAndFilters.gif[image]
+image::eip/PipesAndFilters.gif[image]
 
 With Camel you can split your processing across multiple independent
 https://github.com/apache/camel/blob/master/docs/user-manual/en/endpoint.adoc[Endpoint] instances which can then be chained
diff --git a/docs/user-manual/modules/ROOT/pages/point-to-point-channel.adoc b/docs/user-manual/modules/ROOT/pages/point-to-point-channel.adoc
index 9b811c7..cb26364 100644
--- a/docs/user-manual/modules/ROOT/pages/point-to-point-channel.adoc
+++ b/docs/user-manual/modules/ROOT/pages/point-to-point-channel.adoc
@@ -14,7 +14,7 @@ clustering and load balancing
 (Jabber)
 * and others
 
-image:http://www.enterpriseintegrationpatterns.com/img/PointToPointSolution.gif[image]
+image::eip/PointToPointSolution.gif[image]
 
 The following example demonstrates point to point messaging using
 the xref:components::jms-component.adoc[JMS] component
diff --git a/docs/user-manual/modules/ROOT/pages/polling-consumer.adoc b/docs/user-manual/modules/ROOT/pages/polling-consumer.adoc
index 78e6a7b..395226a 100644
--- a/docs/user-manual/modules/ROOT/pages/polling-consumer.adoc
+++ b/docs/user-manual/modules/ROOT/pages/polling-consumer.adoc
@@ -10,7 +10,7 @@ interface which can be created via the
 https://github.com/apache/camel/blob/master/core/camel-api/src/main/java/org/apache/camel/Endpoint.java[Endpoint.createPollingConsumer()]
 method.
 
-image:http://www.enterpriseintegrationpatterns.com/img/PollingConsumerSolution.gif[image]
+image::eip/PollingConsumerSolution.gif[image]
 
 In Java:
 
diff --git a/docs/user-manual/modules/ROOT/pages/publish-subscribe-channel.adoc b/docs/user-manual/modules/ROOT/pages/publish-subscribe-channel.adoc
index 6643844..0a6e3e8 100644
--- a/docs/user-manual/modules/ROOT/pages/publish-subscribe-channel.adoc
+++ b/docs/user-manual/modules/ROOT/pages/publish-subscribe-channel.adoc
@@ -15,7 +15,7 @@ xref:camelcontext.adoc[CamelContext] which can work in pub-sub, but
 allowing multiple consumers.
 * xref:components::vm-component.adoc[VM] as SEDA but for intra-JVM.
 
-image:http://www.enterpriseintegrationpatterns.com/img/PublishSubscribeSolution.gif[image]
+image::eip/PublishSubscribeSolution.gif[image]
 
 [[PublishSubscribeChannel-Samples]]
 == Samples
diff --git a/docs/user-manual/modules/ROOT/pages/recipientList-eip.adoc b/docs/user-manual/modules/ROOT/pages/recipientList-eip.adoc
index da32e34..955b823 100644
--- a/docs/user-manual/modules/ROOT/pages/recipientList-eip.adoc
+++ b/docs/user-manual/modules/ROOT/pages/recipientList-eip.adoc
@@ -2,7 +2,7 @@
 = Recipient List EIP
 The http://www.enterpriseintegrationpatterns.com/RecipientList.html[Recipient List] from the EIP patterns allows you to route messages to a number of dynamically specified recipients.
 
-image:http://www.enterpriseintegrationpatterns.com/img/RecipientList.gif[image]
+image::eip/RecipientList.gif[image]
 
 The recipients will receive a copy of the *same* Exchange, and Camel will execute them sequentially.
 
diff --git a/docs/user-manual/modules/ROOT/pages/requestReply-eip.adoc b/docs/user-manual/modules/ROOT/pages/requestReply-eip.adoc
index ec6858f..130bd3f 100644
--- a/docs/user-manual/modules/ROOT/pages/requestReply-eip.adoc
+++ b/docs/user-manual/modules/ROOT/pages/requestReply-eip.adoc
@@ -9,7 +9,7 @@ Message which can be set to *InOut* to indicate a
 request/reply. Camel Components then implement
 this pattern using the underlying transport or protocols.
 
-image:http://www.enterpriseintegrationpatterns.com/img/RequestReply.gif[image]
+image::eip/RequestReply.gif[image]
 
 For example when using xref:components::jms-component.adoc[JMS] with InOut the component will
 by default perform these actions
diff --git a/docs/user-manual/modules/ROOT/pages/resequence-eip.adoc b/docs/user-manual/modules/ROOT/pages/resequence-eip.adoc
index 1b5d777..760f661 100644
--- a/docs/user-manual/modules/ROOT/pages/resequence-eip.adoc
+++ b/docs/user-manual/modules/ROOT/pages/resequence-eip.adoc
@@ -4,7 +4,7 @@
 The http://www.enterpriseintegrationpatterns.com/Resequencer.html[Resequencer] from the https://camel.apache.org/enterprise-integration-patterns.html[EIP patterns] allows you to reorganise messages based on some comparator. +
 By default in Camel we use an Expression to create the comparator; so that you can compare by a message header or the body or a piece of a message etc.
 
-image:http://www.enterpriseintegrationpatterns.com/img/Resequencer.gif[image]
+image::eip/Resequencer.gif[image]
 
 == Options
 
diff --git a/docs/user-manual/modules/ROOT/pages/return-address.adoc b/docs/user-manual/modules/ROOT/pages/return-address.adoc
index 7479e35..45ee442 100644
--- a/docs/user-manual/modules/ROOT/pages/return-address.adoc
+++ b/docs/user-manual/modules/ROOT/pages/return-address.adoc
@@ -5,7 +5,7 @@ http://www.enterpriseintegrationpatterns.com/ReturnAddress.html[Return
 Address] from the xref:enterprise-integration-patterns.adoc[EIP
 patterns] by using the `JMSReplyTo` header.
 
-image:http://www.enterpriseintegrationpatterns.com/img/ReturnAddressSolution.gif[image]
+image::eip/ReturnAddressSolution.gif[image]
 
 For example when using xref:components::jms-component.adoc[JMS] with InOut the component will
 by default return to the address given in `JMSReplyTo`.
diff --git a/docs/user-manual/modules/ROOT/pages/rollback-eip.adoc b/docs/user-manual/modules/ROOT/pages/rollback-eip.adoc
index 1b87b95..b595f45 100644
--- a/docs/user-manual/modules/ROOT/pages/rollback-eip.adoc
+++ b/docs/user-manual/modules/ROOT/pages/rollback-eip.adoc
@@ -7,7 +7,7 @@ http://www.enterpriseintegrationpatterns.com/TransactionalClient.html[Transactio
 Client] from the xref:enterprise-integration-patterns.adoc[EIP patterns]
 using spring transactions.
 
-image:http://www.enterpriseintegrationpatterns.com/img/TransactionalClientSolution.gif[image]
+image::eip/TransactionalClientSolution.gif[image]
 
 Transaction Oriented Endpoints like https://github.com/apache/camel/blob/master/components/camel-jms/src/main/docs/jms-component.adoc[JMS] support using a
 transaction for both inbound and outbound message exchanges. Endpoints
diff --git a/docs/user-manual/modules/ROOT/pages/routingSlip-eip.adoc b/docs/user-manual/modules/ROOT/pages/routingSlip-eip.adoc
index a9a47c5..540a565 100644
--- a/docs/user-manual/modules/ROOT/pages/routingSlip-eip.adoc
+++ b/docs/user-manual/modules/ROOT/pages/routingSlip-eip.adoc
@@ -2,7 +2,7 @@
 = Routing Slip EIP
 The Routing Slip from the https://camel.apache.org/enterprise-integration-patterns.html[EIP patterns] allows you to route a message consecutively through a series of processing steps where the sequence of steps is not known at design time and can vary for each message.
 
-image:http://www.enterpriseintegrationpatterns.com/img/RoutingTableSimple.gif[image]
+image::eip/RoutingTableSimple.gif[image]
 
 
 == Options
diff --git a/docs/user-manual/modules/ROOT/pages/split-eip.adoc b/docs/user-manual/modules/ROOT/pages/split-eip.adoc
index f2ea37b..568ab7a 100644
--- a/docs/user-manual/modules/ROOT/pages/split-eip.adoc
+++ b/docs/user-manual/modules/ROOT/pages/split-eip.adoc
@@ -3,7 +3,7 @@
 
 The http://www.enterpriseintegrationpatterns.com/patterns/messaging/Sequencer.html[Splitter] from the xref:enterprise-integration-patterns.adoc[EIP patterns] allows you split a message into a number of pieces and process them individually.
 
-image:http://www.enterpriseintegrationpatterns.com/img/Sequencer.gif[image]
+image::eip/Sequencer.gif[image]
 
 You need to specify a Splitter as `split()`. In earlier versions of Camel, you need to use `splitter()`.
 
diff --git a/docs/user-manual/modules/ROOT/pages/step-eip.adoc b/docs/user-manual/modules/ROOT/pages/step-eip.adoc
index ba61a0f..0b14b23 100644
--- a/docs/user-manual/modules/ROOT/pages/step-eip.adoc
+++ b/docs/user-manual/modules/ROOT/pages/step-eip.adoc
@@ -3,7 +3,7 @@
 
 Camel supports the http://www.enterpriseintegrationpatterns.com/PipesAndFilters.html[Pipes and Filters] from the https://github.com/apache/camel/blob/master/docs/user-manual/en/enterprise-integration-patterns.adoc[EIP patterns] in various ways.
 
-image:http://www.enterpriseintegrationpatterns.com/img/PipesAndFilters.gif[image]
+image::eip/PipesAndFilters.gif[image]
 
 With Camel you can split your processing across multiple independent processing
  which can then be chained together in a logical unit as a step.
diff --git a/docs/user-manual/modules/ROOT/pages/transactional-client.adoc b/docs/user-manual/modules/ROOT/pages/transactional-client.adoc
index b397c78..009f001 100644
--- a/docs/user-manual/modules/ROOT/pages/transactional-client.adoc
+++ b/docs/user-manual/modules/ROOT/pages/transactional-client.adoc
@@ -6,7 +6,7 @@ http://www.enterpriseintegrationpatterns.com/TransactionalClient.html[Transactio
 Client] from the xref:enterprise-integration-patterns.adoc[EIP patterns]
 using spring transactions.
 
-image:http://www.enterpriseintegrationpatterns.com/img/TransactionalClientSolution.gif[image]
+image::eip/TransactionalClientSolution.gif[image]
 
 Transaction Oriented Endpoints like xref:components::jms-component.adoc[JMS] support using a
 transaction for both inbound and outbound message exchanges. Endpoints
diff --git a/docs/user-manual/modules/ROOT/pages/when-eip.adoc b/docs/user-manual/modules/ROOT/pages/when-eip.adoc
index 6478500..5070c54 100644
--- a/docs/user-manual/modules/ROOT/pages/when-eip.adoc
+++ b/docs/user-manual/modules/ROOT/pages/when-eip.adoc
@@ -5,7 +5,7 @@ The When EIP is related to http://www.enterpriseintegrationpatterns.com/ContentB
 Based Router] from the xref:enterprise-integration-patterns.adoc[EIP
 patterns]
 
-image:http://www.enterpriseintegrationpatterns.com/img/ContentBasedRouter.gif[image]
+image::eip/ContentBasedRouter.gif[image]
 
 == Options
 
diff --git a/docs/user-manual/modules/ROOT/pages/wireTap-eip.adoc b/docs/user-manual/modules/ROOT/pages/wireTap-eip.adoc
index ecf9323..0bcdda5 100644
--- a/docs/user-manual/modules/ROOT/pages/wireTap-eip.adoc
+++ b/docs/user-manual/modules/ROOT/pages/wireTap-eip.adoc
@@ -6,7 +6,7 @@ http://www.enterpriseintegrationpatterns.com/WireTap.html[Wire Tap]
 allows you to route messages to a separate location while they are being
 forwarded to the ultimate destination.
 
-image:http://www.enterpriseintegrationpatterns.com/img/WireTap.gif[image]
+image::eip/WireTap.gif[image]
 
 == Streams