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

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


The following commit(s) were added to refs/heads/main by this push:
     new 044985257b4 CAMEL-20110: camel-jetty - Allow to configure idleTimeout 
on jetty server (#11982)
044985257b4 is described below

commit 044985257b469fa4b5361a19bd822ae63d7f619f
Author: Claus Ibsen <[email protected]>
AuthorDate: Mon Nov 13 20:37:53 2023 +0100

    CAMEL-20110: camel-jetty - Allow to configure idleTimeout on jetty server 
(#11982)
---
 .../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

Reply via email to