CAMEL-14191: EIP docs - Add links to last EIP patterns and add new pages if missing content
diff --git a/docs/user-manual/modules/ROOT/assets/images/eip/ChannelAdapterIcon.gif b/docs/user-manual/modules/ROOT/assets/images/eip/ChannelAdapterIcon.gif
new file mode 100644
index 0000000..3bfd4c4
--- /dev/null
+++ b/docs/user-manual/modules/ROOT/assets/images/eip/ChannelAdapterIcon.gif
Binary files differ
diff --git a/docs/user-manual/modules/ROOT/assets/images/eip/ChannelAdapterSolution.gif b/docs/user-manual/modules/ROOT/assets/images/eip/ChannelAdapterSolution.gif
new file mode 100644
index 0000000..ae5ede0
--- /dev/null
+++ b/docs/user-manual/modules/ROOT/assets/images/eip/ChannelAdapterSolution.gif
Binary files differ
diff --git a/docs/user-manual/modules/ROOT/pages/channel-adapter.adoc b/docs/user-manual/modules/ROOT/pages/channel-adapter.adoc
new file mode 100644
index 0000000..6becd8e
--- /dev/null
+++ b/docs/user-manual/modules/ROOT/pages/channel-adapter.adoc
@@ -0,0 +1,54 @@
+[[Channel-Adapter]]
+= Channel Adapter
+
+Camel supports the
+https://www.enterpriseintegrationpatterns.com/patterns/messaging/ChannelAdapter.html[Channel Adapter]
+from the xref:enterprise-integration-patterns.adoc[EIP patterns].
+
+How can you connect an application to the messaging system so that it can send and receive messages?
+
+image::eip/ChannelAdapterSolution.gif[image]
+
+Use a Channel Adapter that can access the application's API or data and publish messages on a
+channel based on this data, and that likewise can receive messages and invoke functionality
+inside the application.
+
+The Channel Adapter is implemented in Camel by components.
+Each component adapters between the systems and Camel where all details are hidden in the implementation
+of the component, which allows applications to easily send and receive data.
+
+== Samples
+
+An application must receive messages from a Kafka topic, which can be done by using the
+xref:components::kafka-component.adoc[Kafka] component.
+
+One solution is to use a Camel route which consumes from the Kafka topic which calls a bean with the data.
+
+[source,java]
+----
+from("kafka:cheese?brokers={{kafka.host}}:{{kafka.port}}"
+    .to("bean:cheeseBean");
+----
+
+And the bean has method which accepts the message payload as a byte array.
+
+[source,java]
+----
+public class CheeseBean {
+  public void receiveCheeseData(byte[] data) {
+    // do something
+  }
+}
+----
+
+You can also use xref:pojo-consuming.adoc[POJO consuming] with `@Consume` annotation.
+
+[source,java]
+----
+public class CheeseBean {
+  @Consume("kafka:cheese?brokers={{kafka.host}}:{{kafka.port}}")
+  public void receiveCheeseData(byte[] data) {
+    // do something
+  }
+}
+----
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 c95a9f3..c2094a8 100644
--- a/docs/user-manual/modules/ROOT/pages/enterprise-integration-patterns.adoc
+++ b/docs/user-manual/modules/ROOT/pages/enterprise-integration-patterns.adoc
@@ -58,6 +58,10 @@
 |xref:dead-letter-channel.adoc[Dead Letter Channel] |What will the
 messaging system do with a message it cannot deliver?
 
+a|image::eip/ChannelAdapterIcon.gif[image]
+|xref:channel-adapter.adoc[Channel Adapter] |How can you connect an
+application to the messaging system so that it can send and receive messages?
+
 a|image::eip/GuaranteedMessagingIcon.gif[image]
 |xref:guaranteed-delivery.adoc[Guaranteed Delivery] |How can the sender
 make sure that a message will be delivered, even if the messaging system
diff --git a/docs/user-manual/modules/ROOT/pages/message-channel.adoc b/docs/user-manual/modules/ROOT/pages/message-channel.adoc
index 73aa34a..2620f22 100644
--- a/docs/user-manual/modules/ROOT/pages/message-channel.adoc
+++ b/docs/user-manual/modules/ROOT/pages/message-channel.adoc
@@ -5,9 +5,7 @@
 http://www.enterpriseintegrationpatterns.com/MessageChannel.html[Message
 Channel] from the xref:enterprise-integration-patterns.adoc[EIP
 patterns]. The Message Channel is an internal implementation detail of
-the
-http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/Endpoint.html[Endpoint]
-interface and all interactions with the Message Channel are via the
+the `Endpoint` interface and all interactions with the Message Channel are via the
 Endpoint interfaces.
 
 image::eip/MessageChannelSolution.gif[image]
diff --git a/docs/user-manual/modules/ROOT/pages/pojo-consuming.adoc b/docs/user-manual/modules/ROOT/pages/pojo-consuming.adoc
index 346dafb..4c2efef 100644
--- a/docs/user-manual/modules/ROOT/pages/pojo-consuming.adoc
+++ b/docs/user-manual/modules/ROOT/pages/pojo-consuming.adoc
@@ -16,7 +16,7 @@
 ----
 public class Foo {
 
-  @Consume(uri="activemq:cheese")
+  @Consume("activemq:cheese")
   public void onCheese(String name) {
     ...
   }