You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2023/11/13 19:17:35 UTC

(camel) branch jetty-idle created (now 20bdcdda10c)

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

davsclaus pushed a change to branch jetty-idle
in repository https://gitbox.apache.org/repos/asf/camel.git


      at 20bdcdda10c CAMEL-20110: camel-jetty - Allow to configure idleTimeout on jetty server

This branch includes the following new commits:

     new 20bdcdda10c CAMEL-20110: camel-jetty - Allow to configure idleTimeout on jetty server

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



(camel) 01/01: CAMEL-20110: camel-jetty - Allow to configure idleTimeout on jetty server

Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

davsclaus pushed a commit to branch jetty-idle
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 20bdcdda10c7149eb1074e12d03870b9508e9abb
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Mon Nov 13 20:17:20 2023 +0100

    CAMEL-20110: camel-jetty - Allow to configure idleTimeout on jetty server
---
 .../org/apache/camel/catalog/components/jetty.json | 15 +++++----
 .../camel/component/jetty/JettyHttpEndpoint.java   | 16 ++++++++++
 .../jetty11/JettyHttp11EndpointUriFactory.java     |  3 +-
 .../jetty11/JettyHttpEndpoint11Configurer.java     |  6 ++++
 .../org/apache/camel/component/jetty11/jetty.json  | 15 +++++----
 .../component/jetty11/JettyHttpComponent11.java    |  4 ++-
 .../dsl/JettyHttp11EndpointBuilderFactory.java     | 37 ++++++++++++++++++++++
 7 files changed, 80 insertions(+), 16 deletions(-)

diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/jetty.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/jetty.json
index f50af3cbdf0..3ab7ccec6ea 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/jetty.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/jetty.json
@@ -87,12 +87,13 @@
     "filterInitParameters": { "index": 24, "kind": "parameter", "displayName": "Filter Init Parameters", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "object", "javaType": "java.util.Map<java.lang.String, java.lang.String>", "prefix": "filter.", "multiValue": true, "deprecated": false, "autowired": false, "secret": false, "description": "Configuration of the filter init parameters. These parameters will be applied to the filter list before star [...]
     "filters": { "index": 25, "kind": "parameter", "displayName": "Filters", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "array", "javaType": "java.util.List<jakarta.servlet.Filter>", "deprecated": false, "autowired": false, "secret": false, "description": "Allows using a custom filters which is putted into a list and can be find in the Registry. Multiple values can be separated by comma." },
     "handlers": { "index": 26, "kind": "parameter", "displayName": "Handlers", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "array", "javaType": "java.util.List<org.eclipse.jetty.server.Handler>", "deprecated": false, "autowired": false, "secret": false, "description": "Specifies a comma-delimited set of Handler instances to lookup in your Registry. These handlers are added to the Jetty servlet context (for example, to add security). Important: [...]
-    "mapHttpMessageBody": { "index": 27, "kind": "parameter", "displayName": "Map Http Message Body", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "If this option is true then IN exchange Body of the exchange will be mapped to HTTP body. Setting this to false will avoid the HTTP mapping." },
-    "mapHttpMessageFormUrlEncodedBody": { "index": 28, "kind": "parameter", "displayName": "Map Http Message Form Url Encoded Body", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "If this option is true then IN exchange Form Encoded body of the exchange will be mapped to HTTP. Setting this to false will avoid the HTTP  [...]
-    "mapHttpMessageHeaders": { "index": 29, "kind": "parameter", "displayName": "Map Http Message Headers", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "If this option is true then IN exchange Headers of the exchange will be mapped to HTTP headers. Setting this to false will avoid the HTTP Headers mapping." },
-    "multipartFilter": { "index": 30, "kind": "parameter", "displayName": "Multipart Filter", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "object", "javaType": "jakarta.servlet.Filter", "deprecated": false, "autowired": false, "secret": false, "description": "Allows using a custom multipart filter. Note: setting multipartFilterRef forces the value of enableMultipartFilter to true." },
-    "optionsEnabled": { "index": 31, "kind": "parameter", "displayName": "Options Enabled", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Specifies whether to enable HTTP OPTIONS for this Servlet consumer. By default OPTIONS is turned off." },
-    "traceEnabled": { "index": 32, "kind": "parameter", "displayName": "Trace Enabled", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Specifies whether to enable HTTP TRACE for this Servlet consumer. By default TRACE is turned off." },
-    "sslContextParameters": { "index": 33, "kind": "parameter", "displayName": "Ssl Context Parameters", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false, "autowired": false, "secret": false, "description": "To configure security using SSLContextParameters" }
+    "idleTimeout": { "index": 27, "kind": "parameter", "displayName": "Idle Timeout", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": -1, "description": "The max idle time (in milli seconds) is applied to an HTTP request for IO operations and delayed dispatch. Idle time 0 implies an infinite timeout, -1 (default) implies no HTTP channel timeout [...]
+    "mapHttpMessageBody": { "index": 28, "kind": "parameter", "displayName": "Map Http Message Body", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "If this option is true then IN exchange Body of the exchange will be mapped to HTTP body. Setting this to false will avoid the HTTP mapping." },
+    "mapHttpMessageFormUrlEncodedBody": { "index": 29, "kind": "parameter", "displayName": "Map Http Message Form Url Encoded Body", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "If this option is true then IN exchange Form Encoded body of the exchange will be mapped to HTTP. Setting this to false will avoid the HTTP  [...]
+    "mapHttpMessageHeaders": { "index": 30, "kind": "parameter", "displayName": "Map Http Message Headers", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "If this option is true then IN exchange Headers of the exchange will be mapped to HTTP headers. Setting this to false will avoid the HTTP Headers mapping." },
+    "multipartFilter": { "index": 31, "kind": "parameter", "displayName": "Multipart Filter", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "object", "javaType": "jakarta.servlet.Filter", "deprecated": false, "autowired": false, "secret": false, "description": "Allows using a custom multipart filter. Note: setting multipartFilterRef forces the value of enableMultipartFilter to true." },
+    "optionsEnabled": { "index": 32, "kind": "parameter", "displayName": "Options Enabled", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Specifies whether to enable HTTP OPTIONS for this Servlet consumer. By default OPTIONS is turned off." },
+    "traceEnabled": { "index": 33, "kind": "parameter", "displayName": "Trace Enabled", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Specifies whether to enable HTTP TRACE for this Servlet consumer. By default TRACE is turned off." },
+    "sslContextParameters": { "index": 34, "kind": "parameter", "displayName": "Ssl Context Parameters", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false, "autowired": false, "secret": false, "description": "To configure security using SSLContextParameters" }
   }
 }
diff --git a/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/JettyHttpEndpoint.java b/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/JettyHttpEndpoint.java
index e55de8d45b2..c4209181e24 100644
--- a/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/JettyHttpEndpoint.java
+++ b/components/camel-jetty-common/src/main/java/org/apache/camel/component/jetty/JettyHttpEndpoint.java
@@ -80,6 +80,11 @@ public abstract class JettyHttpEndpoint extends HttpCommonEndpoint {
     @UriParam(label = "security",
               description = "To configure security using SSLContextParameters")
     private SSLContextParameters sslContextParameters;
+    @UriParam(label = "consumer,advanced", defaultValue = "-1",
+              description = "The max idle time (in milli seconds) is applied to an HTTP request for IO operations and delayed dispatch."
+                            +
+                            " Idle time 0 implies an infinite timeout, -1 (default) implies no HTTP channel timeout and the connection timeout is used instead.")
+    private long idleTimeout = -1;
 
     protected JettyHttpEndpoint(JettyHttpComponent component, String uri, URI httpURL) {
         super(uri, component, httpURL);
@@ -236,6 +241,17 @@ public abstract class JettyHttpEndpoint extends HttpCommonEndpoint {
         this.sslContextParameters = sslContextParameters;
     }
 
+    public long getIdleTimeout() {
+        return idleTimeout;
+    }
+
+    /**
+     * The max idle time is applied to an HTTP request for IO operations and delayed dispatch.
+     */
+    public void setIdleTimeout(long idleTimeout) {
+        this.idleTimeout = idleTimeout;
+    }
+
     public Map<String, String> getFilterInitParameters() {
         return filterInitParameters;
     }
diff --git a/components/camel-jetty/src/generated/java/org/apache/camel/component/jetty11/JettyHttp11EndpointUriFactory.java b/components/camel-jetty/src/generated/java/org/apache/camel/component/jetty11/JettyHttp11EndpointUriFactory.java
index 599f870212f..e879f3cad18 100644
--- a/components/camel-jetty/src/generated/java/org/apache/camel/component/jetty11/JettyHttp11EndpointUriFactory.java
+++ b/components/camel-jetty/src/generated/java/org/apache/camel/component/jetty11/JettyHttp11EndpointUriFactory.java
@@ -21,7 +21,7 @@ public class JettyHttp11EndpointUriFactory extends org.apache.camel.support.comp
     private static final Set<String> SECRET_PROPERTY_NAMES;
     private static final Set<String> MULTI_VALUE_PREFIXES;
     static {
-        Set<String> props = new HashSet<>(34);
+        Set<String> props = new HashSet<>(35);
         props.add("async");
         props.add("bridgeErrorHandler");
         props.add("chunked");
@@ -40,6 +40,7 @@ public class JettyHttp11EndpointUriFactory extends org.apache.camel.support.comp
         props.add("httpBinding");
         props.add("httpMethodRestrict");
         props.add("httpUri");
+        props.add("idleTimeout");
         props.add("logException");
         props.add("mapHttpMessageBody");
         props.add("mapHttpMessageFormUrlEncodedBody");
diff --git a/components/camel-jetty/src/generated/java/org/apache/camel/component/jetty11/JettyHttpEndpoint11Configurer.java b/components/camel-jetty/src/generated/java/org/apache/camel/component/jetty11/JettyHttpEndpoint11Configurer.java
index 58553803a42..e1c82dd8e0e 100644
--- a/components/camel-jetty/src/generated/java/org/apache/camel/component/jetty11/JettyHttpEndpoint11Configurer.java
+++ b/components/camel-jetty/src/generated/java/org/apache/camel/component/jetty11/JettyHttpEndpoint11Configurer.java
@@ -51,6 +51,8 @@ public class JettyHttpEndpoint11Configurer extends PropertyConfigurerSupport imp
         case "httpBinding": target.setHttpBinding(property(camelContext, org.apache.camel.http.common.HttpBinding.class, value)); return true;
         case "httpmethodrestrict":
         case "httpMethodRestrict": target.setHttpMethodRestrict(property(camelContext, java.lang.String.class, value)); return true;
+        case "idletimeout":
+        case "idleTimeout": target.setIdleTimeout(property(camelContext, long.class, value)); return true;
         case "logexception":
         case "logException": target.setLogException(property(camelContext, boolean.class, value)); return true;
         case "maphttpmessagebody":
@@ -120,6 +122,8 @@ public class JettyHttpEndpoint11Configurer extends PropertyConfigurerSupport imp
         case "httpBinding": return org.apache.camel.http.common.HttpBinding.class;
         case "httpmethodrestrict":
         case "httpMethodRestrict": return java.lang.String.class;
+        case "idletimeout":
+        case "idleTimeout": return long.class;
         case "logexception":
         case "logException": return boolean.class;
         case "maphttpmessagebody":
@@ -190,6 +194,8 @@ public class JettyHttpEndpoint11Configurer extends PropertyConfigurerSupport imp
         case "httpBinding": return target.getHttpBinding();
         case "httpmethodrestrict":
         case "httpMethodRestrict": return target.getHttpMethodRestrict();
+        case "idletimeout":
+        case "idleTimeout": return target.getIdleTimeout();
         case "logexception":
         case "logException": return target.isLogException();
         case "maphttpmessagebody":
diff --git a/components/camel-jetty/src/generated/resources/org/apache/camel/component/jetty11/jetty.json b/components/camel-jetty/src/generated/resources/org/apache/camel/component/jetty11/jetty.json
index f50af3cbdf0..3ab7ccec6ea 100644
--- a/components/camel-jetty/src/generated/resources/org/apache/camel/component/jetty11/jetty.json
+++ b/components/camel-jetty/src/generated/resources/org/apache/camel/component/jetty11/jetty.json
@@ -87,12 +87,13 @@
     "filterInitParameters": { "index": 24, "kind": "parameter", "displayName": "Filter Init Parameters", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "object", "javaType": "java.util.Map<java.lang.String, java.lang.String>", "prefix": "filter.", "multiValue": true, "deprecated": false, "autowired": false, "secret": false, "description": "Configuration of the filter init parameters. These parameters will be applied to the filter list before star [...]
     "filters": { "index": 25, "kind": "parameter", "displayName": "Filters", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "array", "javaType": "java.util.List<jakarta.servlet.Filter>", "deprecated": false, "autowired": false, "secret": false, "description": "Allows using a custom filters which is putted into a list and can be find in the Registry. Multiple values can be separated by comma." },
     "handlers": { "index": 26, "kind": "parameter", "displayName": "Handlers", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "array", "javaType": "java.util.List<org.eclipse.jetty.server.Handler>", "deprecated": false, "autowired": false, "secret": false, "description": "Specifies a comma-delimited set of Handler instances to lookup in your Registry. These handlers are added to the Jetty servlet context (for example, to add security). Important: [...]
-    "mapHttpMessageBody": { "index": 27, "kind": "parameter", "displayName": "Map Http Message Body", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "If this option is true then IN exchange Body of the exchange will be mapped to HTTP body. Setting this to false will avoid the HTTP mapping." },
-    "mapHttpMessageFormUrlEncodedBody": { "index": 28, "kind": "parameter", "displayName": "Map Http Message Form Url Encoded Body", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "If this option is true then IN exchange Form Encoded body of the exchange will be mapped to HTTP. Setting this to false will avoid the HTTP  [...]
-    "mapHttpMessageHeaders": { "index": 29, "kind": "parameter", "displayName": "Map Http Message Headers", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "If this option is true then IN exchange Headers of the exchange will be mapped to HTTP headers. Setting this to false will avoid the HTTP Headers mapping." },
-    "multipartFilter": { "index": 30, "kind": "parameter", "displayName": "Multipart Filter", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "object", "javaType": "jakarta.servlet.Filter", "deprecated": false, "autowired": false, "secret": false, "description": "Allows using a custom multipart filter. Note: setting multipartFilterRef forces the value of enableMultipartFilter to true." },
-    "optionsEnabled": { "index": 31, "kind": "parameter", "displayName": "Options Enabled", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Specifies whether to enable HTTP OPTIONS for this Servlet consumer. By default OPTIONS is turned off." },
-    "traceEnabled": { "index": 32, "kind": "parameter", "displayName": "Trace Enabled", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Specifies whether to enable HTTP TRACE for this Servlet consumer. By default TRACE is turned off." },
-    "sslContextParameters": { "index": 33, "kind": "parameter", "displayName": "Ssl Context Parameters", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false, "autowired": false, "secret": false, "description": "To configure security using SSLContextParameters" }
+    "idleTimeout": { "index": 27, "kind": "parameter", "displayName": "Idle Timeout", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "integer", "javaType": "long", "deprecated": false, "autowired": false, "secret": false, "defaultValue": -1, "description": "The max idle time (in milli seconds) is applied to an HTTP request for IO operations and delayed dispatch. Idle time 0 implies an infinite timeout, -1 (default) implies no HTTP channel timeout [...]
+    "mapHttpMessageBody": { "index": 28, "kind": "parameter", "displayName": "Map Http Message Body", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "If this option is true then IN exchange Body of the exchange will be mapped to HTTP body. Setting this to false will avoid the HTTP mapping." },
+    "mapHttpMessageFormUrlEncodedBody": { "index": 29, "kind": "parameter", "displayName": "Map Http Message Form Url Encoded Body", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "If this option is true then IN exchange Form Encoded body of the exchange will be mapped to HTTP. Setting this to false will avoid the HTTP  [...]
+    "mapHttpMessageHeaders": { "index": 30, "kind": "parameter", "displayName": "Map Http Message Headers", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "If this option is true then IN exchange Headers of the exchange will be mapped to HTTP headers. Setting this to false will avoid the HTTP Headers mapping." },
+    "multipartFilter": { "index": 31, "kind": "parameter", "displayName": "Multipart Filter", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "object", "javaType": "jakarta.servlet.Filter", "deprecated": false, "autowired": false, "secret": false, "description": "Allows using a custom multipart filter. Note: setting multipartFilterRef forces the value of enableMultipartFilter to true." },
+    "optionsEnabled": { "index": 32, "kind": "parameter", "displayName": "Options Enabled", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Specifies whether to enable HTTP OPTIONS for this Servlet consumer. By default OPTIONS is turned off." },
+    "traceEnabled": { "index": 33, "kind": "parameter", "displayName": "Trace Enabled", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Specifies whether to enable HTTP TRACE for this Servlet consumer. By default TRACE is turned off." },
+    "sslContextParameters": { "index": 34, "kind": "parameter", "displayName": "Ssl Context Parameters", "group": "security", "label": "security", "required": false, "type": "object", "javaType": "org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false, "autowired": false, "secret": false, "description": "To configure security using SSLContextParameters" }
   }
 }
diff --git a/components/camel-jetty/src/main/java/org/apache/camel/component/jetty11/JettyHttpComponent11.java b/components/camel-jetty/src/main/java/org/apache/camel/component/jetty11/JettyHttpComponent11.java
index a26829a0578..e3b6a0c5d66 100644
--- a/components/camel-jetty/src/main/java/org/apache/camel/component/jetty11/JettyHttpComponent11.java
+++ b/components/camel-jetty/src/main/java/org/apache/camel/component/jetty11/JettyHttpComponent11.java
@@ -60,7 +60,9 @@ public class JettyHttpComponent11 extends JettyHttpComponent {
             org.eclipse.jetty.server.HttpConfiguration httpConfig = new org.eclipse.jetty.server.HttpConfiguration();
             httpConfig.setSendServerVersion(endpoint.isSendServerVersion());
             httpConfig.setSendDateHeader(endpoint.isSendDateHeader());
-
+            if (endpoint.getIdleTimeout() != -1) {
+                httpConfig.setIdleTimeout(endpoint.getIdleTimeout());
+            }
             if (requestBufferSize != null) {
                 // Does not work
                 // httpConfig.setRequestBufferSize(requestBufferSize);
diff --git a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/JettyHttp11EndpointBuilderFactory.java b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/JettyHttp11EndpointBuilderFactory.java
index 00799d5c8fb..30cedbea383 100644
--- a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/JettyHttp11EndpointBuilderFactory.java
+++ b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/JettyHttp11EndpointBuilderFactory.java
@@ -1050,6 +1050,43 @@ public interface JettyHttp11EndpointBuilderFactory {
             doSetProperty("handlers", handlers);
             return this;
         }
+        /**
+         * The max idle time (in milli seconds) is applied to an HTTP request
+         * for IO operations and delayed dispatch. Idle time 0 implies an
+         * infinite timeout, -1 (default) implies no HTTP channel timeout and
+         * the connection timeout is used instead.
+         * 
+         * The option is a: &lt;code&gt;long&lt;/code&gt; type.
+         * 
+         * Default: -1
+         * Group: consumer (advanced)
+         * 
+         * @param idleTimeout the value to set
+         * @return the dsl builder
+         */
+        default AdvancedJettyHttp11EndpointBuilder idleTimeout(long idleTimeout) {
+            doSetProperty("idleTimeout", idleTimeout);
+            return this;
+        }
+        /**
+         * The max idle time (in milli seconds) is applied to an HTTP request
+         * for IO operations and delayed dispatch. Idle time 0 implies an
+         * infinite timeout, -1 (default) implies no HTTP channel timeout and
+         * the connection timeout is used instead.
+         * 
+         * The option will be converted to a &lt;code&gt;long&lt;/code&gt; type.
+         * 
+         * Default: -1
+         * Group: consumer (advanced)
+         * 
+         * @param idleTimeout the value to set
+         * @return the dsl builder
+         */
+        default AdvancedJettyHttp11EndpointBuilder idleTimeout(
+                String idleTimeout) {
+            doSetProperty("idleTimeout", idleTimeout);
+            return this;
+        }
         /**
          * If this option is true then IN exchange Body of the exchange will be
          * mapped to HTTP body. Setting this to false will avoid the HTTP