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

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

commit a323552bb687bdddf804b1740357487d1ae417e5
Author: Claus Ibsen <claus.ib...@gmail.com>
AuthorDate: Wed Nov 29 09:31:13 2023 +0100

    CAMEL-20164: camel-timer: Expose more stats of its running state.
---
 .../org/apache/camel/catalog/components/timer.json |   3 +-
 .../component/timer/TimerEndpointConfigurer.java   |   6 +
 .../component/timer/TimerEndpointUriFactory.java   |   3 +-
 .../org/apache/camel/component/timer/timer.json    |   3 +-
 .../camel/component/timer/TimerConsumer.java       | 121 +++++++++++++++++----
 .../camel/component/timer/TimerEndpoint.java       |  14 +++
 .../camel/api/management/ManagedCamelContext.java  |   4 +-
 .../camel/management/ManagedCamelContextImpl.java  |   4 +-
 .../dsl/JettyHttp11EndpointBuilderFactory.java     | 115 ++++++++++++++++++++
 .../endpoint/dsl/TimerEndpointBuilderFactory.java  |  35 ++++++
 10 files changed, 277 insertions(+), 31 deletions(-)

diff --git 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/timer.json
 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/timer.json
index 17a8126b749..f0b0c46d430 100644
--- 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/timer.json
+++ 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/timer.json
@@ -44,6 +44,7 @@
     "pattern": { "index": 10, "kind": "parameter", "displayName": "Pattern", 
"group": "advanced", "label": "advanced", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "description": "Allows you to specify a custom Date pattern to 
use for setting the time option using URI syntax." },
     "synchronous": { "index": 11, "kind": "parameter", "displayName": 
"Synchronous", "group": "advanced", "label": "advanced", "required": false, 
"type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": false, "description": "Sets whether 
synchronous processing should be strictly used" },
     "time": { "index": 12, "kind": "parameter", "displayName": "Time", 
"group": "advanced", "label": "advanced", "required": false, "type": "string", 
"javaType": "java.util.Date", "deprecated": false, "autowired": false, 
"secret": false, "description": "A java.util.Date the first event should be 
generated. If using the URI, the pattern expected is: yyyy-MM-dd HH:mm:ss or 
yyyy-MM-dd'T'HH:mm:ss." },
-    "timer": { "index": 13, "kind": "parameter", "displayName": "Timer", 
"group": "advanced", "label": "advanced", "required": false, "type": "object", 
"javaType": "java.util.Timer", "deprecated": false, "autowired": false, 
"secret": false, "description": "To use a custom Timer" }
+    "timer": { "index": 13, "kind": "parameter", "displayName": "Timer", 
"group": "advanced", "label": "advanced", "required": false, "type": "object", 
"javaType": "java.util.Timer", "deprecated": false, "autowired": false, 
"secret": false, "description": "To use a custom Timer" },
+    "runLoggingLevel": { "index": 14, "kind": "parameter", "displayName": "Run 
Logging Level", "group": "scheduler", "label": "consumer,scheduler", 
"required": false, "type": "object", "javaType": 
"org.apache.camel.LoggingLevel", "enum": [ "TRACE", "DEBUG", "INFO", "WARN", 
"ERROR", "OFF" ], "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": "TRACE", "description": "The consumer logs a start\/complete 
log line when it polls. This option allows you to configure the l [...]
   }
 }
diff --git 
a/components/camel-timer/src/generated/java/org/apache/camel/component/timer/TimerEndpointConfigurer.java
 
b/components/camel-timer/src/generated/java/org/apache/camel/component/timer/TimerEndpointConfigurer.java
index fcae1f7e3b8..80f46a49a49 100644
--- 
a/components/camel-timer/src/generated/java/org/apache/camel/component/timer/TimerEndpointConfigurer.java
+++ 
b/components/camel-timer/src/generated/java/org/apache/camel/component/timer/TimerEndpointConfigurer.java
@@ -37,6 +37,8 @@ public class TimerEndpointConfigurer extends 
PropertyConfigurerSupport implement
         case "period": target.setPeriod(property(camelContext, 
java.time.Duration.class, value).toMillis()); return true;
         case "repeatcount":
         case "repeatCount": target.setRepeatCount(property(camelContext, 
long.class, value)); return true;
+        case "runlogginglevel":
+        case "runLoggingLevel": 
target.setRunLoggingLevel(property(camelContext, 
org.apache.camel.LoggingLevel.class, value)); return true;
         case "synchronous": target.setSynchronous(property(camelContext, 
boolean.class, value)); return true;
         case "time": target.setTime(property(camelContext, 
java.util.Date.class, value)); return true;
         case "timer": target.setTimer(property(camelContext, 
java.util.Timer.class, value)); return true;
@@ -63,6 +65,8 @@ public class TimerEndpointConfigurer extends 
PropertyConfigurerSupport implement
         case "period": return long.class;
         case "repeatcount":
         case "repeatCount": return long.class;
+        case "runlogginglevel":
+        case "runLoggingLevel": return org.apache.camel.LoggingLevel.class;
         case "synchronous": return boolean.class;
         case "time": return java.util.Date.class;
         case "timer": return java.util.Timer.class;
@@ -90,6 +94,8 @@ public class TimerEndpointConfigurer extends 
PropertyConfigurerSupport implement
         case "period": return target.getPeriod();
         case "repeatcount":
         case "repeatCount": return target.getRepeatCount();
+        case "runlogginglevel":
+        case "runLoggingLevel": return target.getRunLoggingLevel();
         case "synchronous": return target.isSynchronous();
         case "time": return target.getTime();
         case "timer": return target.getTimer();
diff --git 
a/components/camel-timer/src/generated/java/org/apache/camel/component/timer/TimerEndpointUriFactory.java
 
b/components/camel-timer/src/generated/java/org/apache/camel/component/timer/TimerEndpointUriFactory.java
index fcf247658c8..5e5edd2402f 100644
--- 
a/components/camel-timer/src/generated/java/org/apache/camel/component/timer/TimerEndpointUriFactory.java
+++ 
b/components/camel-timer/src/generated/java/org/apache/camel/component/timer/TimerEndpointUriFactory.java
@@ -21,7 +21,7 @@ public class TimerEndpointUriFactory extends 
org.apache.camel.support.component.
     private static final Set<String> SECRET_PROPERTY_NAMES;
     private static final Set<String> MULTI_VALUE_PREFIXES;
     static {
-        Set<String> props = new HashSet<>(14);
+        Set<String> props = new HashSet<>(15);
         props.add("bridgeErrorHandler");
         props.add("daemon");
         props.add("delay");
@@ -32,6 +32,7 @@ public class TimerEndpointUriFactory extends 
org.apache.camel.support.component.
         props.add("pattern");
         props.add("period");
         props.add("repeatCount");
+        props.add("runLoggingLevel");
         props.add("synchronous");
         props.add("time");
         props.add("timer");
diff --git 
a/components/camel-timer/src/generated/resources/org/apache/camel/component/timer/timer.json
 
b/components/camel-timer/src/generated/resources/org/apache/camel/component/timer/timer.json
index 17a8126b749..f0b0c46d430 100644
--- 
a/components/camel-timer/src/generated/resources/org/apache/camel/component/timer/timer.json
+++ 
b/components/camel-timer/src/generated/resources/org/apache/camel/component/timer/timer.json
@@ -44,6 +44,7 @@
     "pattern": { "index": 10, "kind": "parameter", "displayName": "Pattern", 
"group": "advanced", "label": "advanced", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "description": "Allows you to specify a custom Date pattern to 
use for setting the time option using URI syntax." },
     "synchronous": { "index": 11, "kind": "parameter", "displayName": 
"Synchronous", "group": "advanced", "label": "advanced", "required": false, 
"type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": false, "description": "Sets whether 
synchronous processing should be strictly used" },
     "time": { "index": 12, "kind": "parameter", "displayName": "Time", 
"group": "advanced", "label": "advanced", "required": false, "type": "string", 
"javaType": "java.util.Date", "deprecated": false, "autowired": false, 
"secret": false, "description": "A java.util.Date the first event should be 
generated. If using the URI, the pattern expected is: yyyy-MM-dd HH:mm:ss or 
yyyy-MM-dd'T'HH:mm:ss." },
-    "timer": { "index": 13, "kind": "parameter", "displayName": "Timer", 
"group": "advanced", "label": "advanced", "required": false, "type": "object", 
"javaType": "java.util.Timer", "deprecated": false, "autowired": false, 
"secret": false, "description": "To use a custom Timer" }
+    "timer": { "index": 13, "kind": "parameter", "displayName": "Timer", 
"group": "advanced", "label": "advanced", "required": false, "type": "object", 
"javaType": "java.util.Timer", "deprecated": false, "autowired": false, 
"secret": false, "description": "To use a custom Timer" },
+    "runLoggingLevel": { "index": 14, "kind": "parameter", "displayName": "Run 
Logging Level", "group": "scheduler", "label": "consumer,scheduler", 
"required": false, "type": "object", "javaType": 
"org.apache.camel.LoggingLevel", "enum": [ "TRACE", "DEBUG", "INFO", "WARN", 
"ERROR", "OFF" ], "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": "TRACE", "description": "The consumer logs a start\/complete 
log line when it polls. This option allows you to configure the l [...]
   }
 }
diff --git 
a/components/camel-timer/src/main/java/org/apache/camel/component/timer/TimerConsumer.java
 
b/components/camel-timer/src/main/java/org/apache/camel/component/timer/TimerConsumer.java
index d1545eb1bad..355af0be804 100644
--- 
a/components/camel-timer/src/main/java/org/apache/camel/component/timer/TimerConsumer.java
+++ 
b/components/camel-timer/src/main/java/org/apache/camel/component/timer/TimerConsumer.java
@@ -25,6 +25,7 @@ import java.util.concurrent.atomic.AtomicLong;
 import org.apache.camel.AsyncCallback;
 import org.apache.camel.CamelContext;
 import org.apache.camel.Exchange;
+import org.apache.camel.LoggingLevel;
 import org.apache.camel.Processor;
 import org.apache.camel.StartupListener;
 import org.apache.camel.Suspendable;
@@ -42,6 +43,8 @@ public class TimerConsumer extends DefaultConsumer implements 
StartupListener, S
     private volatile TimerTask task;
     private volatile boolean configured;
     private ExecutorService executorService;
+    private final AtomicLong counter = new AtomicLong();
+    private volatile boolean polling;
 
     public TimerConsumer(TimerEndpoint endpoint, Processor processor) {
         super(endpoint, processor);
@@ -53,13 +56,48 @@ public class TimerConsumer extends DefaultConsumer 
implements StartupListener, S
         return (TimerEndpoint) super.getEndpoint();
     }
 
+    /**
+     * Total number of polls run
+     */
+    public long getCounter() {
+        return counter.get();
+    }
+
+    /**
+     * Whether polling is currently in progress
+     */
+    public boolean isPolling() {
+        return polling;
+    }
+
+    public String getTimerName() {
+        return getEndpoint().getTimerName();
+    }
+
+    public boolean isFixedRate() {
+        return getEndpoint().isFixedRate();
+    }
+
+    public long getDelay() {
+        return getEndpoint().getDelay();
+    }
+
+    public long getPeriod() {
+        return getEndpoint().getPeriod();
+    }
+
+    public long getRepeatCount() {
+        return getEndpoint().getRepeatCount();
+    }
+
+    public LoggingLevel getRunLoggingLevel() {
+        return getEndpoint().getRunLoggingLevel();
+    }
+
     @Override
     public void doInit() throws Exception {
         if (endpoint.getDelay() >= 0) {
             task = new TimerTask() {
-                // counter
-                private final AtomicLong counter = new AtomicLong();
-
                 @Override
                 public void run() {
                     if (!isTaskRunAllowed()) {
@@ -68,25 +106,57 @@ public class TimerConsumer extends DefaultConsumer 
implements StartupListener, S
                         return;
                     }
 
+                    // log starting
+                    LoggingLevel runLoggingLevel = 
getEndpoint().getRunLoggingLevel();
+                    if (LoggingLevel.ERROR == runLoggingLevel) {
+                        LOG.error("Timer task started on:   {}", 
getEndpoint());
+                    } else if (LoggingLevel.WARN == runLoggingLevel) {
+                        LOG.warn("Timer task started on:   {}", getEndpoint());
+                    } else if (LoggingLevel.INFO == runLoggingLevel) {
+                        LOG.info("Timer task started on:   {}", getEndpoint());
+                    } else if (LoggingLevel.DEBUG == runLoggingLevel) {
+                        LOG.debug("Timer task started on:   {}", 
getEndpoint());
+                    } else {
+                        LOG.trace("Timer task started on:   {}", 
getEndpoint());
+                    }
+
                     try {
-                        long count = counter.incrementAndGet();
-
-                        boolean fire = endpoint.getRepeatCount() <= 0 || count 
<= endpoint.getRepeatCount();
-                        if (fire) {
-                            sendTimerExchange(count);
-                        } else {
-                            // no need to fire anymore as we exceeded repeat
-                            // count
-                            LOG.debug("Cancelling {} timer as repeat count 
limit reached after {} counts.",
-                                    endpoint.getTimerName(), 
endpoint.getRepeatCount());
-                            cancel();
-                        }
+                        polling = true;
+                        doRun();
                     } catch (Exception e) {
-                        // catch all to avoid the JVM closing the thread and 
not
-                        // firing again
                         LOG.warn(
                                 "Error processing exchange. This exception 
will be ignored, to let the timer be able to trigger again.",
                                 e);
+                    } finally {
+                        polling = false;
+                    }
+
+                    // log completed
+                    if (LoggingLevel.ERROR == runLoggingLevel) {
+                        LOG.error("Timer task completed on: {}", 
getEndpoint());
+                    } else if (LoggingLevel.WARN == runLoggingLevel) {
+                        LOG.warn("Timer task completed on: {}", getEndpoint());
+                    } else if (LoggingLevel.INFO == runLoggingLevel) {
+                        LOG.info("Timer task completed on: {}", getEndpoint());
+                    } else if (LoggingLevel.DEBUG == runLoggingLevel) {
+                        LOG.debug("Timer task completed on: {}", 
getEndpoint());
+                    } else {
+                        LOG.trace("Timer task completed on: {}", 
getEndpoint());
+                    }
+                }
+
+                protected void doRun() {
+                    long count = counter.incrementAndGet();
+
+                    boolean fire = endpoint.getRepeatCount() <= 0 || count <= 
endpoint.getRepeatCount();
+                    if (fire) {
+                        sendTimerExchange(count);
+                    } else {
+                        // no need to fire anymore as we exceeded repeat
+                        // count
+                        LOG.debug("Cancelling {} timer as repeat count limit 
reached after {} counts.",
+                                endpoint.getTimerName(), 
endpoint.getRepeatCount());
+                        cancel();
                     }
                 }
             };
@@ -99,8 +169,7 @@ public class TimerConsumer extends DefaultConsumer 
implements StartupListener, S
 
         if (endpoint.getDelay() >= 0) {
             // only configure task if CamelContext already started, otherwise
-            // the StartupListener
-            // is configuring the task later
+            // the StartupListener is configuring the task later
             if (task != null && !configured && 
endpoint.getCamelContext().getStatus().isStarted()) {
                 Timer timer = endpoint.getTimer(this);
                 configureTask(task, timer);
@@ -111,11 +180,15 @@ public class TimerConsumer extends DefaultConsumer 
implements StartupListener, S
                     endpoint.getEndpointUri());
 
             executorService.execute(() -> {
-                final AtomicLong counter = new AtomicLong();
-                long count = counter.incrementAndGet();
-                while ((endpoint.getRepeatCount() <= 0 || count <= 
endpoint.getRepeatCount()) && isRunAllowed()) {
-                    sendTimerExchange(count);
-                    count = counter.incrementAndGet();
+                polling = true;
+                try {
+                    long count = counter.incrementAndGet();
+                    while ((endpoint.getRepeatCount() <= 0 || count <= 
endpoint.getRepeatCount()) && isRunAllowed()) {
+                        sendTimerExchange(count);
+                        count = counter.incrementAndGet();
+                    }
+                } finally {
+                    polling = false;
                 }
             });
         }
diff --git 
a/components/camel-timer/src/main/java/org/apache/camel/component/timer/TimerEndpoint.java
 
b/components/camel-timer/src/main/java/org/apache/camel/component/timer/TimerEndpoint.java
index 97dfaacbd4a..4361f351ea2 100644
--- 
a/components/camel-timer/src/main/java/org/apache/camel/component/timer/TimerEndpoint.java
+++ 
b/components/camel-timer/src/main/java/org/apache/camel/component/timer/TimerEndpoint.java
@@ -22,6 +22,7 @@ import java.util.Timer;
 import org.apache.camel.Category;
 import org.apache.camel.Component;
 import org.apache.camel.Consumer;
+import org.apache.camel.LoggingLevel;
 import org.apache.camel.MultipleConsumersSupport;
 import org.apache.camel.Processor;
 import org.apache.camel.Producer;
@@ -53,6 +54,9 @@ public class TimerEndpoint extends DefaultEndpoint implements 
MultipleConsumersS
     private long delay = 1000;
     @UriParam
     private long repeatCount;
+    @UriParam(defaultValue = "TRACE", label = "consumer,scheduler",
+              description = "The consumer logs a start/complete log line when 
it polls. This option allows you to configure the logging level for that.")
+    private LoggingLevel runLoggingLevel = LoggingLevel.TRACE;
     @UriParam
     private boolean fixedRate;
     @UriParam(defaultValue = "true", label = "advanced")
@@ -176,6 +180,16 @@ public class TimerEndpoint extends DefaultEndpoint 
implements MultipleConsumersS
         this.fixedRate = fixedRate;
     }
 
+    @ManagedAttribute(description = "The consumer logs a start/complete log 
line when it polls. This option allows you to configure the logging level for 
that.")
+    public LoggingLevel getRunLoggingLevel() {
+        return runLoggingLevel;
+    }
+
+    @ManagedAttribute(description = "The consumer logs a start/complete log 
line when it polls. This option allows you to configure the logging level for 
that.")
+    public void setRunLoggingLevel(LoggingLevel runLoggingLevel) {
+        this.runLoggingLevel = runLoggingLevel;
+    }
+
     @ManagedAttribute(description = "Timer Period")
     public long getPeriod() {
         return period;
diff --git 
a/core/camel-management-api/src/main/java/org/apache/camel/api/management/ManagedCamelContext.java
 
b/core/camel-management-api/src/main/java/org/apache/camel/api/management/ManagedCamelContext.java
index 03316912eba..d8a11acd886 100644
--- 
a/core/camel-management-api/src/main/java/org/apache/camel/api/management/ManagedCamelContext.java
+++ 
b/core/camel-management-api/src/main/java/org/apache/camel/api/management/ManagedCamelContext.java
@@ -93,8 +93,8 @@ public interface ManagedCamelContext {
      * Gets the managed consumer client api from any of the routes which with 
the given route id
      *
      * @param  id                       route id having the consumer
-     * @param  type                     the managed consumer type from the
-     *                                  {@link 
org.apache.camel.api.management.mbean} package.
+     * @param  type                     the managed consumer type from the 
{@link org.apache.camel.api.management.mbean}
+     *                                  package.
      * @return                          the consumer or <tt>null</tt> if not 
found
      * @throws IllegalArgumentException if the type is not compliant
      */
diff --git 
a/core/camel-management/src/main/java/org/apache/camel/management/ManagedCamelContextImpl.java
 
b/core/camel-management/src/main/java/org/apache/camel/management/ManagedCamelContextImpl.java
index cbc2af9287e..59ec9fac7d4 100644
--- 
a/core/camel-management/src/main/java/org/apache/camel/management/ManagedCamelContextImpl.java
+++ 
b/core/camel-management/src/main/java/org/apache/camel/management/ManagedCamelContextImpl.java
@@ -131,14 +131,14 @@ public class ManagedCamelContextImpl implements 
ManagedCamelContext {
         if (route != null) {
             try {
                 Consumer consumer = route.getConsumer();
-                ObjectName on = 
getManagementStrategy().getManagementObjectNameStrategy().getObjectNameForConsumer(camelContext,
 consumer);
+                ObjectName on = 
getManagementStrategy().getManagementObjectNameStrategy().getObjectNameForConsumer(camelContext,
+                        consumer);
                 return 
getManagementStrategy().getManagementAgent().newProxyClient(on, type);
             } catch (MalformedObjectNameException e) {
                 throw RuntimeCamelException.wrapRuntimeCamelException(e);
             }
         }
 
-
         return null;
     }
 
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 30cedbea383..22c9b97f548 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
@@ -934,6 +934,58 @@ public interface JettyHttp11EndpointBuilderFactory {
             doSetProperty("exchangePattern", exchangePattern);
             return this;
         }
+        /**
+         * The size threshold after which files will be written to disk for
+         * multipart/form-data requests. By default the files are not written 
to
+         * disk.
+         * 
+         * The option is a: &lt;code&gt;java.lang.Integer&lt;/code&gt; type.
+         * 
+         * Group: consumer (advanced)
+         * 
+         * @param fileSizeThreshold the value to set
+         * @return the dsl builder
+         */
+        default AdvancedJettyHttp11EndpointBuilder fileSizeThreshold(
+                Integer fileSizeThreshold) {
+            doSetProperty("fileSizeThreshold", fileSizeThreshold);
+            return this;
+        }
+        /**
+         * The size threshold after which files will be written to disk for
+         * multipart/form-data requests. By default the files are not written 
to
+         * disk.
+         * 
+         * The option will be converted to a
+         * &lt;code&gt;java.lang.Integer&lt;/code&gt; type.
+         * 
+         * Group: consumer (advanced)
+         * 
+         * @param fileSizeThreshold the value to set
+         * @return the dsl builder
+         */
+        default AdvancedJettyHttp11EndpointBuilder fileSizeThreshold(
+                String fileSizeThreshold) {
+            doSetProperty("fileSizeThreshold", fileSizeThreshold);
+            return this;
+        }
+        /**
+         * The directory location where files will be store for
+         * multipart/form-data requests. By default the files are written in 
the
+         * system temporary folder.
+         * 
+         * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
+         * 
+         * Group: consumer (advanced)
+         * 
+         * @param filesLocation the value to set
+         * @return the dsl builder
+         */
+        default AdvancedJettyHttp11EndpointBuilder filesLocation(
+                String filesLocation) {
+            doSetProperty("filesLocation", filesLocation);
+            return this;
+        }
         /**
          * Configuration of the filter init parameters. These parameters will 
be
          * applied to the filter list before starting the jetty server.
@@ -1198,6 +1250,69 @@ public interface JettyHttp11EndpointBuilderFactory {
             doSetProperty("mapHttpMessageHeaders", mapHttpMessageHeaders);
             return this;
         }
+        /**
+         * The maximum size allowed for uploaded files. -1 means no limit.
+         * 
+         * The option is a: &lt;code&gt;java.lang.Long&lt;/code&gt; type.
+         * 
+         * Group: consumer (advanced)
+         * 
+         * @param maxFileSize the value to set
+         * @return the dsl builder
+         */
+        default AdvancedJettyHttp11EndpointBuilder maxFileSize(Long 
maxFileSize) {
+            doSetProperty("maxFileSize", maxFileSize);
+            return this;
+        }
+        /**
+         * The maximum size allowed for uploaded files. -1 means no limit.
+         * 
+         * The option will be converted to a
+         * &lt;code&gt;java.lang.Long&lt;/code&gt; type.
+         * 
+         * Group: consumer (advanced)
+         * 
+         * @param maxFileSize the value to set
+         * @return the dsl builder
+         */
+        default AdvancedJettyHttp11EndpointBuilder maxFileSize(
+                String maxFileSize) {
+            doSetProperty("maxFileSize", maxFileSize);
+            return this;
+        }
+        /**
+         * The maximum size allowed for multipart/form-data requests. -1 means
+         * no limit.
+         * 
+         * The option is a: &lt;code&gt;java.lang.Long&lt;/code&gt; type.
+         * 
+         * Group: consumer (advanced)
+         * 
+         * @param maxRequestSize the value to set
+         * @return the dsl builder
+         */
+        default AdvancedJettyHttp11EndpointBuilder maxRequestSize(
+                Long maxRequestSize) {
+            doSetProperty("maxRequestSize", maxRequestSize);
+            return this;
+        }
+        /**
+         * The maximum size allowed for multipart/form-data requests. -1 means
+         * no limit.
+         * 
+         * The option will be converted to a
+         * &lt;code&gt;java.lang.Long&lt;/code&gt; type.
+         * 
+         * Group: consumer (advanced)
+         * 
+         * @param maxRequestSize the value to set
+         * @return the dsl builder
+         */
+        default AdvancedJettyHttp11EndpointBuilder maxRequestSize(
+                String maxRequestSize) {
+            doSetProperty("maxRequestSize", maxRequestSize);
+            return this;
+        }
         /**
          * Allows using a custom multipart filter. Note: setting
          * multipartFilterRef forces the value of enableMultipartFilter to 
true.
diff --git 
a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/TimerEndpointBuilderFactory.java
 
b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/TimerEndpointBuilderFactory.java
index d521d42800c..782c82c4ce3 100644
--- 
a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/TimerEndpointBuilderFactory.java
+++ 
b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/TimerEndpointBuilderFactory.java
@@ -199,6 +199,41 @@ public interface TimerEndpointBuilderFactory {
             doSetProperty("repeatCount", repeatCount);
             return this;
         }
+        /**
+         * The consumer logs a start/complete log line when it polls. This
+         * option allows you to configure the logging level for that.
+         * 
+         * The option is a:
+         * &lt;code&gt;org.apache.camel.LoggingLevel&lt;/code&gt; type.
+         * 
+         * Default: TRACE
+         * Group: scheduler
+         * 
+         * @param runLoggingLevel the value to set
+         * @return the dsl builder
+         */
+        default TimerEndpointBuilder runLoggingLevel(
+                org.apache.camel.LoggingLevel runLoggingLevel) {
+            doSetProperty("runLoggingLevel", runLoggingLevel);
+            return this;
+        }
+        /**
+         * The consumer logs a start/complete log line when it polls. This
+         * option allows you to configure the logging level for that.
+         * 
+         * The option will be converted to a
+         * &lt;code&gt;org.apache.camel.LoggingLevel&lt;/code&gt; type.
+         * 
+         * Default: TRACE
+         * Group: scheduler
+         * 
+         * @param runLoggingLevel the value to set
+         * @return the dsl builder
+         */
+        default TimerEndpointBuilder runLoggingLevel(String runLoggingLevel) {
+            doSetProperty("runLoggingLevel", runLoggingLevel);
+            return this;
+        }
     }
 
     /**

Reply via email to