This is an automated email from the ASF dual-hosted git repository. jamesnetherton pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/camel-quarkus.git
commit b71bca76be83132c80a82d30a08af7ef002a7ba4 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"); +----