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

jamesnetherton pushed a commit to branch 3.8.x
in repository https://gitbox.apache.org/repos/asf/camel-quarkus.git

commit c0dee92d90251cd64d04afb9d476e7cd5bb0eaae
Author: James Netherton <jamesnether...@gmail.com>
AuthorDate: Tue Mar 5 07:52:43 2024 +0000

    Document basic servlet extension usage and configuration options
---
 .../ROOT/pages/reference/extensions/servlet.adoc   | 73 ++++++++++++++++++++++
 extensions/servlet/runtime/src/main/doc/usage.adoc | 66 +++++++++++++++++++
 2 files changed, 139 insertions(+)

diff --git a/docs/modules/ROOT/pages/reference/extensions/servlet.adoc 
b/docs/modules/ROOT/pages/reference/extensions/servlet.adoc
index fd56d2364a..ac9303ed92 100644
--- a/docs/modules/ROOT/pages/reference/extensions/servlet.adoc
+++ b/docs/modules/ROOT/pages/reference/extensions/servlet.adoc
@@ -45,6 +45,79 @@ ifeval::[{doc-show-user-guide-link} == true]
 Check the xref:user-guide/index.adoc[User guide] for more information about 
writing Camel Quarkus applications.
 endif::[]
 
+[id="extensions-servlet-usage"]
+== Usage
+[id="extensions-servlet-usage-configuring-camelhttptransportservlet"]
+=== Configuring CamelHttpTransportServlet
+
+[id="extensions-servlet-usage-minimal-configuration"]
+==== Minimal configuration
+
+The simplest way to configure `CamelHttpTransportServlet` is with 
configuration properties.
+The most minimal setup requires that you define one or more URL patterns for 
the Servlet with `quarkus.camel.servlet.url-patterns`.
+
+For example with configuration like the following.
+
+[source,properties]
+----
+quarkus.camel.servlet.url-patterns = /*
+----
+
+And a Camel route.
+
+[source,java]
+----
+from("servlet://greet")
+    .setBody().constant("Hello World");
+----
+
+Produces the message `Hello World`.
+
+[id="extensions-servlet-usage-advanced-configuration"]
+==== Advanced configuration
+
+*Servlet name*
+
+To give a specific name to the Servlet you can use the 
`quarkus.camel.servlet.servlet-name` configuration option.
+
+[source,properties]
+----
+quarkus.camel.servlet.url-patterns = My Custom Name
+----
+
+*Servlet class*
+
+You may use a custom Servlet class (E.g one that extends 
`CamelHttpTransportServlet`) in your Camel routes.
+
+[source,properties]
+----
+quarkus.camel.servlet.servlet-class = org.acme.MyCustomServlet
+----
+
+*Multiple named Servlets*
+
+For more advanced use cases you can configure multiple 'named' Servlets.
+
+[source,properties]
+----
+quarkus.camel.servlet.my-servlet-a.servlet-name = my-custom-a
+quarkus.camel.servlet.my-servlet-a.url-patterns = /custom/a/*
+
+quarkus.camel.servlet.my-servlet-b.servlet-name = my-custom-b
+quarkus.camel.servlet.my-servlet-b.servlet-class = org.acme.CustomServletB
+quarkus.camel.servlet.my-servlet-b.url-patterns = /custom/b/*
+----
+
+[source,java]
+----
+from("servlet://greet?servletName=my-custom-a")
+    .setBody().constant("Hello World");
+
+from("servlet://goodbye?servletName=my-custom-b")
+    .setBody().constant("Goodbye World");
+----
+
+
 [id="extensions-servlet-transferexception-option-in-native-mode"]
 == transferException option in native mode
 
diff --git a/extensions/servlet/runtime/src/main/doc/usage.adoc 
b/extensions/servlet/runtime/src/main/doc/usage.adoc
new file mode 100644
index 0000000000..7ad44a268c
--- /dev/null
+++ b/extensions/servlet/runtime/src/main/doc/usage.adoc
@@ -0,0 +1,66 @@
+=== Configuring CamelHttpTransportServlet
+
+==== Minimal configuration
+
+The simplest way to configure `CamelHttpTransportServlet` is with 
configuration properties.
+The most minimal setup requires that you define one or more URL patterns for 
the Servlet with `quarkus.camel.servlet.url-patterns`.
+
+For example with configuration like the following.
+
+[source,properties]
+----
+quarkus.camel.servlet.url-patterns = /*
+----
+
+And a Camel route.
+
+[source,java]
+----
+from("servlet://greet")
+    .setBody().constant("Hello World");
+----
+
+Produces the message `Hello World`.
+
+==== Advanced configuration
+
+*Servlet name*
+
+To give a specific name to the Servlet you can use the 
`quarkus.camel.servlet.servlet-name` configuration option.
+
+[source,properties]
+----
+quarkus.camel.servlet.url-patterns = My Custom Name
+----
+
+*Servlet class*
+
+You may use a custom Servlet class (E.g one that extends 
`CamelHttpTransportServlet`) in your Camel routes.
+
+[source,properties]
+----
+quarkus.camel.servlet.servlet-class = org.acme.MyCustomServlet
+----
+
+*Multiple named Servlets*
+
+For more advanced use cases you can configure multiple 'named' Servlets.
+
+[source,properties]
+----
+quarkus.camel.servlet.my-servlet-a.servlet-name = my-custom-a
+quarkus.camel.servlet.my-servlet-a.url-patterns = /custom/a/*
+
+quarkus.camel.servlet.my-servlet-b.servlet-name = my-custom-b
+quarkus.camel.servlet.my-servlet-b.servlet-class = org.acme.CustomServletB
+quarkus.camel.servlet.my-servlet-b.url-patterns = /custom/b/*
+----
+
+[source,java]
+----
+from("servlet://greet?servletName=my-custom-a")
+    .setBody().constant("Hello World");
+
+from("servlet://goodbye?servletName=my-custom-b")
+    .setBody().constant("Goodbye World");
+----

Reply via email to