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

acosentino pushed a commit to branch CAMEL-22579
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 83d0d5539efac273387735467a8c252a202927a3
Author: Andrea Cosentino <[email protected]>
AuthorDate: Tue Oct 21 15:21:12 2025 +0200

    CAMEL-22579 - Camel-Docling: Support Connection Pooling
    
    Signed-off-by: Andrea Cosentino <[email protected]>
---
 .../apache/camel/catalog/components/docling.json   |  54 ++--
 .../dsl/DoclingComponentBuilderFactory.java        | 163 ++++++++++++
 .../dsl/DoclingEndpointBuilderFactory.java         | 272 +++++++++++++++++++++
 3 files changed, 471 insertions(+), 18 deletions(-)

diff --git 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/docling.json
 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/docling.json
index 2e811f0766e5..721f95dcf19f 100644
--- 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/docling.json
+++ 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/docling.json
@@ -38,15 +38,24 @@
     "asyncPollInterval": { "index": 11, "kind": "property", "displayName": 
"Async Poll Interval", "group": "advanced", "label": "advanced", "required": 
false, "type": "integer", "javaType": "long", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, "defaultValue": 
2000, "configurationClass": 
"org.apache.camel.component.docling.DoclingConfiguration", 
"configurationField": "configuration", "description": "Polling interval for 
async conversion status in millise [...]
     "asyncTimeout": { "index": 12, "kind": "property", "displayName": "Async 
Timeout", "group": "advanced", "label": "advanced", "required": false, "type": 
"integer", "javaType": "long", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "defaultValue": 300000, 
"configurationClass": 
"org.apache.camel.component.docling.DoclingConfiguration", 
"configurationField": "configuration", "description": "Maximum time to wait for 
async conversion completion in millisec [...]
     "autowiredEnabled": { "index": 13, "kind": "property", "displayName": 
"Autowired Enabled", "group": "advanced", "label": "advanced", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": true, "description": 
"Whether autowiring is enabled. This is used for automatic autowiring options 
(the option must be marked as autowired) by looking up in the registry to find 
if there is a single instance of matching  [...]
-    "convertEndpoint": { "index": 14, "kind": "property", "displayName": 
"Convert Endpoint", "group": "advanced", "label": "advanced", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, "defaultValue": 
"\/v1\/convert\/source", "configurationClass": 
"org.apache.camel.component.docling.DoclingConfiguration", 
"configurationField": "configuration", "description": "Docling-serve API 
convert endp [...]
-    "doclingCommand": { "index": 15, "kind": "property", "displayName": 
"Docling Command", "group": "advanced", "label": "advanced", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, 
"configurationClass": 
"org.apache.camel.component.docling.DoclingConfiguration", 
"configurationField": "configuration", "description": "Path to Docling Python 
executable or command" },
-    "processTimeout": { "index": 16, "kind": "property", "displayName": 
"Process Timeout", "group": "advanced", "label": "advanced", "required": false, 
"type": "integer", "javaType": "long", "deprecated": false, "deprecationNote": 
"", "autowired": false, "secret": false, "defaultValue": 30000, 
"configurationClass": 
"org.apache.camel.component.docling.DoclingConfiguration", 
"configurationField": "configuration", "description": "Timeout for Docling 
process execution in milliseconds" },
-    "useAsyncMode": { "index": 17, "kind": "property", "displayName": "Use 
Async Mode", "group": "advanced", "label": "advanced", "required": false, 
"type": "boolean", "javaType": "boolean", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, "defaultValue": 
false, "configurationClass": 
"org.apache.camel.component.docling.DoclingConfiguration", 
"configurationField": "configuration", "description": "Use asynchronous 
conversion mode (docling-serve API only)" },
-    "workingDirectory": { "index": 18, "kind": "property", "displayName": 
"Working Directory", "group": "advanced", "label": "advanced", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, 
"configurationClass": 
"org.apache.camel.component.docling.DoclingConfiguration", 
"configurationField": "configuration", "description": "Working directory for 
Docling execution" },
-    "apiKeyHeader": { "index": 19, "kind": "property", "displayName": "Api Key 
Header", "group": "security", "label": "security", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, "defaultValue": 
"X-API-Key", "configurationClass": 
"org.apache.camel.component.docling.DoclingConfiguration", 
"configurationField": "configuration", "description": "Header name for API key 
authentication" },
-    "authenticationScheme": { "index": 20, "kind": "property", "displayName": 
"Authentication Scheme", "group": "security", "label": "security", "required": 
false, "type": "enum", "javaType": 
"org.apache.camel.component.docling.AuthenticationScheme", "enum": [ "NONE", 
"BEARER", "API_KEY" ], "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "defaultValue": "NONE", "configurationClass": 
"org.apache.camel.component.docling.DoclingConfiguration", "configuration [...]
-    "authenticationToken": { "index": 21, "kind": "property", "displayName": 
"Authentication Token", "group": "security", "label": "security", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": true, 
"configurationClass": 
"org.apache.camel.component.docling.DoclingConfiguration", 
"configurationField": "configuration", "description": "Authentication token for 
docling-serve API (Bearer token or API  [...]
-    "maxFileSize": { "index": 22, "kind": "property", "displayName": "Max File 
Size", "group": "security", "label": "security", "required": false, "type": 
"integer", "javaType": "long", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "defaultValue": 52428800, 
"configurationClass": 
"org.apache.camel.component.docling.DoclingConfiguration", 
"configurationField": "configuration", "description": "Maximum file size in 
bytes for processing" }
+    "connectionRequestTimeout": { "index": 14, "kind": "property", 
"displayName": "Connection Request Timeout", "group": "advanced", "label": 
"advanced", "required": false, "type": "integer", "javaType": "int", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "defaultValue": 30000, "configurationClass": 
"org.apache.camel.component.docling.DoclingConfiguration", 
"configurationField": "configuration", "description": "Connection request 
timeout in millisecond [...]
+    "connectionTimeout": { "index": 15, "kind": "property", "displayName": 
"Connection Timeout", "group": "advanced", "label": "advanced", "required": 
false, "type": "integer", "javaType": "int", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, "defaultValue": 
30000, "configurationClass": 
"org.apache.camel.component.docling.DoclingConfiguration", 
"configurationField": "configuration", "description": "Connection timeout in 
milliseconds" },
+    "connectionTimeToLive": { "index": 16, "kind": "property", "displayName": 
"Connection Time To Live", "group": "advanced", "label": "advanced", 
"required": false, "type": "integer", "javaType": "long", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, "defaultValue": -1, 
"configurationClass": 
"org.apache.camel.component.docling.DoclingConfiguration", 
"configurationField": "configuration", "description": "Time to live for 
connections in milliseconds (-1 f [...]
+    "convertEndpoint": { "index": 17, "kind": "property", "displayName": 
"Convert Endpoint", "group": "advanced", "label": "advanced", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, "defaultValue": 
"\/v1\/convert\/source", "configurationClass": 
"org.apache.camel.component.docling.DoclingConfiguration", 
"configurationField": "configuration", "description": "Docling-serve API 
convert endp [...]
+    "doclingCommand": { "index": 18, "kind": "property", "displayName": 
"Docling Command", "group": "advanced", "label": "advanced", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, 
"configurationClass": 
"org.apache.camel.component.docling.DoclingConfiguration", 
"configurationField": "configuration", "description": "Path to Docling Python 
executable or command" },
+    "evictIdleConnections": { "index": 19, "kind": "property", "displayName": 
"Evict Idle Connections", "group": "advanced", "label": "advanced", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, "defaultValue": 
true, "configurationClass": 
"org.apache.camel.component.docling.DoclingConfiguration", 
"configurationField": "configuration", "description": "Enable eviction of idle 
connections from the pool" },
+    "maxConnectionsPerRoute": { "index": 20, "kind": "property", 
"displayName": "Max Connections Per Route", "group": "advanced", "label": 
"advanced", "required": false, "type": "integer", "javaType": "int", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "defaultValue": 10, "configurationClass": 
"org.apache.camel.component.docling.DoclingConfiguration", 
"configurationField": "configuration", "description": "Maximum connections per 
route in the connection [...]
+    "maxIdleTime": { "index": 21, "kind": "property", "displayName": "Max Idle 
Time", "group": "advanced", "label": "advanced", "required": false, "type": 
"integer", "javaType": "long", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "defaultValue": 60000, 
"configurationClass": 
"org.apache.camel.component.docling.DoclingConfiguration", 
"configurationField": "configuration", "description": "Maximum idle time for 
connections in milliseconds before eviction" },
+    "maxTotalConnections": { "index": 22, "kind": "property", "displayName": 
"Max Total Connections", "group": "advanced", "label": "advanced", "required": 
false, "type": "integer", "javaType": "int", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, "defaultValue": 20, 
"configurationClass": 
"org.apache.camel.component.docling.DoclingConfiguration", 
"configurationField": "configuration", "description": "Maximum total 
connections in the connection pool" },
+    "processTimeout": { "index": 23, "kind": "property", "displayName": 
"Process Timeout", "group": "advanced", "label": "advanced", "required": false, 
"type": "integer", "javaType": "long", "deprecated": false, "deprecationNote": 
"", "autowired": false, "secret": false, "defaultValue": 30000, 
"configurationClass": 
"org.apache.camel.component.docling.DoclingConfiguration", 
"configurationField": "configuration", "description": "Timeout for Docling 
process execution in milliseconds" },
+    "socketTimeout": { "index": 24, "kind": "property", "displayName": "Socket 
Timeout", "group": "advanced", "label": "advanced", "required": false, "type": 
"integer", "javaType": "int", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "defaultValue": 60000, 
"configurationClass": 
"org.apache.camel.component.docling.DoclingConfiguration", 
"configurationField": "configuration", "description": "Socket timeout in 
milliseconds" },
+    "useAsyncMode": { "index": 25, "kind": "property", "displayName": "Use 
Async Mode", "group": "advanced", "label": "advanced", "required": false, 
"type": "boolean", "javaType": "boolean", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, "defaultValue": 
false, "configurationClass": 
"org.apache.camel.component.docling.DoclingConfiguration", 
"configurationField": "configuration", "description": "Use asynchronous 
conversion mode (docling-serve API only)" },
+    "validateAfterInactivity": { "index": 26, "kind": "property", 
"displayName": "Validate After Inactivity", "group": "advanced", "label": 
"advanced", "required": false, "type": "integer", "javaType": "int", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "defaultValue": 2000, "configurationClass": 
"org.apache.camel.component.docling.DoclingConfiguration", 
"configurationField": "configuration", "description": "Validate connections 
after inactivity in mil [...]
+    "workingDirectory": { "index": 27, "kind": "property", "displayName": 
"Working Directory", "group": "advanced", "label": "advanced", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, 
"configurationClass": 
"org.apache.camel.component.docling.DoclingConfiguration", 
"configurationField": "configuration", "description": "Working directory for 
Docling execution" },
+    "apiKeyHeader": { "index": 28, "kind": "property", "displayName": "Api Key 
Header", "group": "security", "label": "security", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, "defaultValue": 
"X-API-Key", "configurationClass": 
"org.apache.camel.component.docling.DoclingConfiguration", 
"configurationField": "configuration", "description": "Header name for API key 
authentication" },
+    "authenticationScheme": { "index": 29, "kind": "property", "displayName": 
"Authentication Scheme", "group": "security", "label": "security", "required": 
false, "type": "enum", "javaType": 
"org.apache.camel.component.docling.AuthenticationScheme", "enum": [ "NONE", 
"BEARER", "API_KEY" ], "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "defaultValue": "NONE", "configurationClass": 
"org.apache.camel.component.docling.DoclingConfiguration", "configuration [...]
+    "authenticationToken": { "index": 30, "kind": "property", "displayName": 
"Authentication Token", "group": "security", "label": "security", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": true, 
"configurationClass": 
"org.apache.camel.component.docling.DoclingConfiguration", 
"configurationField": "configuration", "description": "Authentication token for 
docling-serve API (Bearer token or API  [...]
+    "maxFileSize": { "index": 31, "kind": "property", "displayName": "Max File 
Size", "group": "security", "label": "security", "required": false, "type": 
"integer", "javaType": "long", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "defaultValue": 52428800, 
"configurationClass": 
"org.apache.camel.component.docling.DoclingConfiguration", 
"configurationField": "configuration", "description": "Maximum file size in 
bytes for processing" }
   },
   "headers": {
     "CamelDoclingOperation": { "index": 0, "kind": "header", "displayName": 
"", "group": "producer", "label": "", "required": false, "javaType": 
"DoclingOperations", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "description": "The operation to perform", 
"constantName": "org.apache.camel.component.docling.DoclingHeaders#OPERATION" },
@@ -76,14 +85,23 @@
     "apiTimeout": { "index": 10, "kind": "parameter", "displayName": "Api 
Timeout", "group": "advanced", "label": "advanced", "required": false, "type": 
"integer", "javaType": "long", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "defaultValue": 60000, 
"configurationClass": 
"org.apache.camel.component.docling.DoclingConfiguration", 
"configurationField": "configuration", "description": "API request timeout in 
milliseconds" },
     "asyncPollInterval": { "index": 11, "kind": "parameter", "displayName": 
"Async Poll Interval", "group": "advanced", "label": "advanced", "required": 
false, "type": "integer", "javaType": "long", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, "defaultValue": 
2000, "configurationClass": 
"org.apache.camel.component.docling.DoclingConfiguration", 
"configurationField": "configuration", "description": "Polling interval for 
async conversion status in millis [...]
     "asyncTimeout": { "index": 12, "kind": "parameter", "displayName": "Async 
Timeout", "group": "advanced", "label": "advanced", "required": false, "type": 
"integer", "javaType": "long", "deprecated": false, "deprecationNote": "", 
"autowired": false, "secret": false, "defaultValue": 300000, 
"configurationClass": 
"org.apache.camel.component.docling.DoclingConfiguration", 
"configurationField": "configuration", "description": "Maximum time to wait for 
async conversion completion in millise [...]
-    "convertEndpoint": { "index": 13, "kind": "parameter", "displayName": 
"Convert Endpoint", "group": "advanced", "label": "advanced", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, "defaultValue": 
"\/v1\/convert\/source", "configurationClass": 
"org.apache.camel.component.docling.DoclingConfiguration", 
"configurationField": "configuration", "description": "Docling-serve API 
convert end [...]
-    "doclingCommand": { "index": 14, "kind": "parameter", "displayName": 
"Docling Command", "group": "advanced", "label": "advanced", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, 
"configurationClass": 
"org.apache.camel.component.docling.DoclingConfiguration", 
"configurationField": "configuration", "description": "Path to Docling Python 
executable or command" },
-    "processTimeout": { "index": 15, "kind": "parameter", "displayName": 
"Process Timeout", "group": "advanced", "label": "advanced", "required": false, 
"type": "integer", "javaType": "long", "deprecated": false, "deprecationNote": 
"", "autowired": false, "secret": false, "defaultValue": 30000, 
"configurationClass": 
"org.apache.camel.component.docling.DoclingConfiguration", 
"configurationField": "configuration", "description": "Timeout for Docling 
process execution in milliseconds" },
-    "useAsyncMode": { "index": 16, "kind": "parameter", "displayName": "Use 
Async Mode", "group": "advanced", "label": "advanced", "required": false, 
"type": "boolean", "javaType": "boolean", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, "defaultValue": 
false, "configurationClass": 
"org.apache.camel.component.docling.DoclingConfiguration", 
"configurationField": "configuration", "description": "Use asynchronous 
conversion mode (docling-serve API only)" },
-    "workingDirectory": { "index": 17, "kind": "parameter", "displayName": 
"Working Directory", "group": "advanced", "label": "advanced", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, 
"configurationClass": 
"org.apache.camel.component.docling.DoclingConfiguration", 
"configurationField": "configuration", "description": "Working directory for 
Docling execution" },
-    "apiKeyHeader": { "index": 18, "kind": "parameter", "displayName": "Api 
Key Header", "group": "security", "label": "security", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, "defaultValue": 
"X-API-Key", "configurationClass": 
"org.apache.camel.component.docling.DoclingConfiguration", 
"configurationField": "configuration", "description": "Header name for API key 
authentication" },
-    "authenticationScheme": { "index": 19, "kind": "parameter", "displayName": 
"Authentication Scheme", "group": "security", "label": "security", "required": 
false, "type": "enum", "javaType": 
"org.apache.camel.component.docling.AuthenticationScheme", "enum": [ "NONE", 
"BEARER", "API_KEY" ], "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "defaultValue": "NONE", "configurationClass": 
"org.apache.camel.component.docling.DoclingConfiguration", "configuratio [...]
-    "authenticationToken": { "index": 20, "kind": "parameter", "displayName": 
"Authentication Token", "group": "security", "label": "security", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": true, 
"configurationClass": 
"org.apache.camel.component.docling.DoclingConfiguration", 
"configurationField": "configuration", "description": "Authentication token for 
docling-serve API (Bearer token or API [...]
-    "maxFileSize": { "index": 21, "kind": "parameter", "displayName": "Max 
File Size", "group": "security", "label": "security", "required": false, 
"type": "integer", "javaType": "long", "deprecated": false, "deprecationNote": 
"", "autowired": false, "secret": false, "defaultValue": 52428800, 
"configurationClass": 
"org.apache.camel.component.docling.DoclingConfiguration", 
"configurationField": "configuration", "description": "Maximum file size in 
bytes for processing" }
+    "connectionRequestTimeout": { "index": 13, "kind": "parameter", 
"displayName": "Connection Request Timeout", "group": "advanced", "label": 
"advanced", "required": false, "type": "integer", "javaType": "int", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "defaultValue": 30000, "configurationClass": 
"org.apache.camel.component.docling.DoclingConfiguration", 
"configurationField": "configuration", "description": "Connection request 
timeout in millisecon [...]
+    "connectionTimeout": { "index": 14, "kind": "parameter", "displayName": 
"Connection Timeout", "group": "advanced", "label": "advanced", "required": 
false, "type": "integer", "javaType": "int", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, "defaultValue": 
30000, "configurationClass": 
"org.apache.camel.component.docling.DoclingConfiguration", 
"configurationField": "configuration", "description": "Connection timeout in 
milliseconds" },
+    "connectionTimeToLive": { "index": 15, "kind": "parameter", "displayName": 
"Connection Time To Live", "group": "advanced", "label": "advanced", 
"required": false, "type": "integer", "javaType": "long", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, "defaultValue": -1, 
"configurationClass": 
"org.apache.camel.component.docling.DoclingConfiguration", 
"configurationField": "configuration", "description": "Time to live for 
connections in milliseconds (-1  [...]
+    "convertEndpoint": { "index": 16, "kind": "parameter", "displayName": 
"Convert Endpoint", "group": "advanced", "label": "advanced", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, "defaultValue": 
"\/v1\/convert\/source", "configurationClass": 
"org.apache.camel.component.docling.DoclingConfiguration", 
"configurationField": "configuration", "description": "Docling-serve API 
convert end [...]
+    "doclingCommand": { "index": 17, "kind": "parameter", "displayName": 
"Docling Command", "group": "advanced", "label": "advanced", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, 
"configurationClass": 
"org.apache.camel.component.docling.DoclingConfiguration", 
"configurationField": "configuration", "description": "Path to Docling Python 
executable or command" },
+    "evictIdleConnections": { "index": 18, "kind": "parameter", "displayName": 
"Evict Idle Connections", "group": "advanced", "label": "advanced", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, "defaultValue": 
true, "configurationClass": 
"org.apache.camel.component.docling.DoclingConfiguration", 
"configurationField": "configuration", "description": "Enable eviction of idle 
connections from the  [...]
+    "maxConnectionsPerRoute": { "index": 19, "kind": "parameter", 
"displayName": "Max Connections Per Route", "group": "advanced", "label": 
"advanced", "required": false, "type": "integer", "javaType": "int", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "defaultValue": 10, "configurationClass": 
"org.apache.camel.component.docling.DoclingConfiguration", 
"configurationField": "configuration", "description": "Maximum connections per 
route in the connectio [...]
+    "maxIdleTime": { "index": 20, "kind": "parameter", "displayName": "Max 
Idle Time", "group": "advanced", "label": "advanced", "required": false, 
"type": "integer", "javaType": "long", "deprecated": false, "deprecationNote": 
"", "autowired": false, "secret": false, "defaultValue": 60000, 
"configurationClass": 
"org.apache.camel.component.docling.DoclingConfiguration", 
"configurationField": "configuration", "description": "Maximum idle time for 
connections in milliseconds before eviction" },
+    "maxTotalConnections": { "index": 21, "kind": "parameter", "displayName": 
"Max Total Connections", "group": "advanced", "label": "advanced", "required": 
false, "type": "integer", "javaType": "int", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, "defaultValue": 20, 
"configurationClass": 
"org.apache.camel.component.docling.DoclingConfiguration", 
"configurationField": "configuration", "description": "Maximum total 
connections in the connection pool" },
+    "processTimeout": { "index": 22, "kind": "parameter", "displayName": 
"Process Timeout", "group": "advanced", "label": "advanced", "required": false, 
"type": "integer", "javaType": "long", "deprecated": false, "deprecationNote": 
"", "autowired": false, "secret": false, "defaultValue": 30000, 
"configurationClass": 
"org.apache.camel.component.docling.DoclingConfiguration", 
"configurationField": "configuration", "description": "Timeout for Docling 
process execution in milliseconds" },
+    "socketTimeout": { "index": 23, "kind": "parameter", "displayName": 
"Socket Timeout", "group": "advanced", "label": "advanced", "required": false, 
"type": "integer", "javaType": "int", "deprecated": false, "deprecationNote": 
"", "autowired": false, "secret": false, "defaultValue": 60000, 
"configurationClass": 
"org.apache.camel.component.docling.DoclingConfiguration", 
"configurationField": "configuration", "description": "Socket timeout in 
milliseconds" },
+    "useAsyncMode": { "index": 24, "kind": "parameter", "displayName": "Use 
Async Mode", "group": "advanced", "label": "advanced", "required": false, 
"type": "boolean", "javaType": "boolean", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, "defaultValue": 
false, "configurationClass": 
"org.apache.camel.component.docling.DoclingConfiguration", 
"configurationField": "configuration", "description": "Use asynchronous 
conversion mode (docling-serve API only)" },
+    "validateAfterInactivity": { "index": 25, "kind": "parameter", 
"displayName": "Validate After Inactivity", "group": "advanced", "label": 
"advanced", "required": false, "type": "integer", "javaType": "int", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "defaultValue": 2000, "configurationClass": 
"org.apache.camel.component.docling.DoclingConfiguration", 
"configurationField": "configuration", "description": "Validate connections 
after inactivity in mi [...]
+    "workingDirectory": { "index": 26, "kind": "parameter", "displayName": 
"Working Directory", "group": "advanced", "label": "advanced", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, 
"configurationClass": 
"org.apache.camel.component.docling.DoclingConfiguration", 
"configurationField": "configuration", "description": "Working directory for 
Docling execution" },
+    "apiKeyHeader": { "index": 27, "kind": "parameter", "displayName": "Api 
Key Header", "group": "security", "label": "security", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, "defaultValue": 
"X-API-Key", "configurationClass": 
"org.apache.camel.component.docling.DoclingConfiguration", 
"configurationField": "configuration", "description": "Header name for API key 
authentication" },
+    "authenticationScheme": { "index": 28, "kind": "parameter", "displayName": 
"Authentication Scheme", "group": "security", "label": "security", "required": 
false, "type": "enum", "javaType": 
"org.apache.camel.component.docling.AuthenticationScheme", "enum": [ "NONE", 
"BEARER", "API_KEY" ], "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "defaultValue": "NONE", "configurationClass": 
"org.apache.camel.component.docling.DoclingConfiguration", "configuratio [...]
+    "authenticationToken": { "index": 29, "kind": "parameter", "displayName": 
"Authentication Token", "group": "security", "label": "security", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": true, 
"configurationClass": 
"org.apache.camel.component.docling.DoclingConfiguration", 
"configurationField": "configuration", "description": "Authentication token for 
docling-serve API (Bearer token or API [...]
+    "maxFileSize": { "index": 30, "kind": "parameter", "displayName": "Max 
File Size", "group": "security", "label": "security", "required": false, 
"type": "integer", "javaType": "long", "deprecated": false, "deprecationNote": 
"", "autowired": false, "secret": false, "defaultValue": 52428800, 
"configurationClass": 
"org.apache.camel.component.docling.DoclingConfiguration", 
"configurationField": "configuration", "description": "Maximum file size in 
bytes for processing" }
   }
 }
diff --git 
a/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/DoclingComponentBuilderFactory.java
 
b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/DoclingComponentBuilderFactory.java
index a683859037ff..908b38e3b115 100644
--- 
a/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/DoclingComponentBuilderFactory.java
+++ 
b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/DoclingComponentBuilderFactory.java
@@ -303,6 +303,58 @@ public interface DoclingComponentBuilderFactory {
         }
     
         
+        /**
+         * Connection request timeout in milliseconds (timeout when requesting
+         * connection from pool).
+         * 
+         * The option is a: &lt;code&gt;int&lt;/code&gt; type.
+         * 
+         * Default: 30000
+         * Group: advanced
+         * 
+         * @param connectionRequestTimeout the value to set
+         * @return the dsl builder
+         */
+        default DoclingComponentBuilder connectionRequestTimeout(int 
connectionRequestTimeout) {
+            doSetProperty("connectionRequestTimeout", 
connectionRequestTimeout);
+            return this;
+        }
+    
+        
+        /**
+         * Connection timeout in milliseconds.
+         * 
+         * The option is a: &lt;code&gt;int&lt;/code&gt; type.
+         * 
+         * Default: 30000
+         * Group: advanced
+         * 
+         * @param connectionTimeout the value to set
+         * @return the dsl builder
+         */
+        default DoclingComponentBuilder connectionTimeout(int 
connectionTimeout) {
+            doSetProperty("connectionTimeout", connectionTimeout);
+            return this;
+        }
+    
+        
+        /**
+         * Time to live for connections in milliseconds (-1 for infinite).
+         * 
+         * The option is a: &lt;code&gt;long&lt;/code&gt; type.
+         * 
+         * Default: -1
+         * Group: advanced
+         * 
+         * @param connectionTimeToLive the value to set
+         * @return the dsl builder
+         */
+        default DoclingComponentBuilder connectionTimeToLive(long 
connectionTimeToLive) {
+            doSetProperty("connectionTimeToLive", connectionTimeToLive);
+            return this;
+        }
+    
+        
         /**
          * Docling-serve API convert endpoint path.
          * 
@@ -335,6 +387,74 @@ public interface DoclingComponentBuilderFactory {
         }
     
         
+        /**
+         * Enable eviction of idle connections from the pool.
+         * 
+         * The option is a: &lt;code&gt;boolean&lt;/code&gt; type.
+         * 
+         * Default: true
+         * Group: advanced
+         * 
+         * @param evictIdleConnections the value to set
+         * @return the dsl builder
+         */
+        default DoclingComponentBuilder evictIdleConnections(boolean 
evictIdleConnections) {
+            doSetProperty("evictIdleConnections", evictIdleConnections);
+            return this;
+        }
+    
+        
+        /**
+         * Maximum connections per route in the connection pool.
+         * 
+         * The option is a: &lt;code&gt;int&lt;/code&gt; type.
+         * 
+         * Default: 10
+         * Group: advanced
+         * 
+         * @param maxConnectionsPerRoute the value to set
+         * @return the dsl builder
+         */
+        default DoclingComponentBuilder maxConnectionsPerRoute(int 
maxConnectionsPerRoute) {
+            doSetProperty("maxConnectionsPerRoute", maxConnectionsPerRoute);
+            return this;
+        }
+    
+        
+        /**
+         * Maximum idle time for connections in milliseconds before eviction.
+         * 
+         * The option is a: &lt;code&gt;long&lt;/code&gt; type.
+         * 
+         * Default: 60000
+         * Group: advanced
+         * 
+         * @param maxIdleTime the value to set
+         * @return the dsl builder
+         */
+        default DoclingComponentBuilder maxIdleTime(long maxIdleTime) {
+            doSetProperty("maxIdleTime", maxIdleTime);
+            return this;
+        }
+    
+        
+        /**
+         * Maximum total connections in the connection pool.
+         * 
+         * The option is a: &lt;code&gt;int&lt;/code&gt; type.
+         * 
+         * Default: 20
+         * Group: advanced
+         * 
+         * @param maxTotalConnections the value to set
+         * @return the dsl builder
+         */
+        default DoclingComponentBuilder maxTotalConnections(int 
maxTotalConnections) {
+            doSetProperty("maxTotalConnections", maxTotalConnections);
+            return this;
+        }
+    
+        
         /**
          * Timeout for Docling process execution in milliseconds.
          * 
@@ -352,6 +472,23 @@ public interface DoclingComponentBuilderFactory {
         }
     
         
+        /**
+         * Socket timeout in milliseconds.
+         * 
+         * The option is a: &lt;code&gt;int&lt;/code&gt; type.
+         * 
+         * Default: 60000
+         * Group: advanced
+         * 
+         * @param socketTimeout the value to set
+         * @return the dsl builder
+         */
+        default DoclingComponentBuilder socketTimeout(int socketTimeout) {
+            doSetProperty("socketTimeout", socketTimeout);
+            return this;
+        }
+    
+        
         /**
          * Use asynchronous conversion mode (docling-serve API only).
          * 
@@ -368,6 +505,23 @@ public interface DoclingComponentBuilderFactory {
             return this;
         }
     
+        
+        /**
+         * Validate connections after inactivity in milliseconds.
+         * 
+         * The option is a: &lt;code&gt;int&lt;/code&gt; type.
+         * 
+         * Default: 2000
+         * Group: advanced
+         * 
+         * @param validateAfterInactivity the value to set
+         * @return the dsl builder
+         */
+        default DoclingComponentBuilder validateAfterInactivity(int 
validateAfterInactivity) {
+            doSetProperty("validateAfterInactivity", validateAfterInactivity);
+            return this;
+        }
+    
         /**
          * Working directory for Docling execution.
          * 
@@ -484,10 +638,19 @@ public interface DoclingComponentBuilderFactory {
             case "asyncPollInterval": 
getOrCreateConfiguration((DoclingComponent) 
component).setAsyncPollInterval((long) value); return true;
             case "asyncTimeout": getOrCreateConfiguration((DoclingComponent) 
component).setAsyncTimeout((long) value); return true;
             case "autowiredEnabled": ((DoclingComponent) 
component).setAutowiredEnabled((boolean) value); return true;
+            case "connectionRequestTimeout": 
getOrCreateConfiguration((DoclingComponent) 
component).setConnectionRequestTimeout((int) value); return true;
+            case "connectionTimeout": 
getOrCreateConfiguration((DoclingComponent) 
component).setConnectionTimeout((int) value); return true;
+            case "connectionTimeToLive": 
getOrCreateConfiguration((DoclingComponent) 
component).setConnectionTimeToLive((long) value); return true;
             case "convertEndpoint": 
getOrCreateConfiguration((DoclingComponent) 
component).setConvertEndpoint((java.lang.String) value); return true;
             case "doclingCommand": getOrCreateConfiguration((DoclingComponent) 
component).setDoclingCommand((java.lang.String) value); return true;
+            case "evictIdleConnections": 
getOrCreateConfiguration((DoclingComponent) 
component).setEvictIdleConnections((boolean) value); return true;
+            case "maxConnectionsPerRoute": 
getOrCreateConfiguration((DoclingComponent) 
component).setMaxConnectionsPerRoute((int) value); return true;
+            case "maxIdleTime": getOrCreateConfiguration((DoclingComponent) 
component).setMaxIdleTime((long) value); return true;
+            case "maxTotalConnections": 
getOrCreateConfiguration((DoclingComponent) 
component).setMaxTotalConnections((int) value); return true;
             case "processTimeout": getOrCreateConfiguration((DoclingComponent) 
component).setProcessTimeout((long) value); return true;
+            case "socketTimeout": getOrCreateConfiguration((DoclingComponent) 
component).setSocketTimeout((int) value); return true;
             case "useAsyncMode": getOrCreateConfiguration((DoclingComponent) 
component).setUseAsyncMode((boolean) value); return true;
+            case "validateAfterInactivity": 
getOrCreateConfiguration((DoclingComponent) 
component).setValidateAfterInactivity((int) value); return true;
             case "workingDirectory": 
getOrCreateConfiguration((DoclingComponent) 
component).setWorkingDirectory((java.lang.String) value); return true;
             case "apiKeyHeader": getOrCreateConfiguration((DoclingComponent) 
component).setApiKeyHeader((java.lang.String) value); return true;
             case "authenticationScheme": 
getOrCreateConfiguration((DoclingComponent) 
component).setAuthenticationScheme((org.apache.camel.component.docling.AuthenticationScheme)
 value); return true;
diff --git 
a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/DoclingEndpointBuilderFactory.java
 
b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/DoclingEndpointBuilderFactory.java
index ccd8565915ac..fcd02519cd52 100644
--- 
a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/DoclingEndpointBuilderFactory.java
+++ 
b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/DoclingEndpointBuilderFactory.java
@@ -488,6 +488,98 @@ public interface DoclingEndpointBuilderFactory {
             doSetProperty("asyncTimeout", asyncTimeout);
             return this;
         }
+        /**
+         * Connection request timeout in milliseconds (timeout when requesting
+         * connection from pool).
+         * 
+         * The option is a: <code>int</code> type.
+         * 
+         * Default: 30000
+         * Group: advanced
+         * 
+         * @param connectionRequestTimeout the value to set
+         * @return the dsl builder
+         */
+        default AdvancedDoclingEndpointBuilder connectionRequestTimeout(int 
connectionRequestTimeout) {
+            doSetProperty("connectionRequestTimeout", 
connectionRequestTimeout);
+            return this;
+        }
+        /**
+         * Connection request timeout in milliseconds (timeout when requesting
+         * connection from pool).
+         * 
+         * The option will be converted to a <code>int</code> type.
+         * 
+         * Default: 30000
+         * Group: advanced
+         * 
+         * @param connectionRequestTimeout the value to set
+         * @return the dsl builder
+         */
+        default AdvancedDoclingEndpointBuilder connectionRequestTimeout(String 
connectionRequestTimeout) {
+            doSetProperty("connectionRequestTimeout", 
connectionRequestTimeout);
+            return this;
+        }
+        /**
+         * Connection timeout in milliseconds.
+         * 
+         * The option is a: <code>int</code> type.
+         * 
+         * Default: 30000
+         * Group: advanced
+         * 
+         * @param connectionTimeout the value to set
+         * @return the dsl builder
+         */
+        default AdvancedDoclingEndpointBuilder connectionTimeout(int 
connectionTimeout) {
+            doSetProperty("connectionTimeout", connectionTimeout);
+            return this;
+        }
+        /**
+         * Connection timeout in milliseconds.
+         * 
+         * The option will be converted to a <code>int</code> type.
+         * 
+         * Default: 30000
+         * Group: advanced
+         * 
+         * @param connectionTimeout the value to set
+         * @return the dsl builder
+         */
+        default AdvancedDoclingEndpointBuilder connectionTimeout(String 
connectionTimeout) {
+            doSetProperty("connectionTimeout", connectionTimeout);
+            return this;
+        }
+        /**
+         * Time to live for connections in milliseconds (-1 for infinite).
+         * 
+         * The option is a: <code>long</code> type.
+         * 
+         * Default: -1
+         * Group: advanced
+         * 
+         * @param connectionTimeToLive the value to set
+         * @return the dsl builder
+         */
+        default AdvancedDoclingEndpointBuilder connectionTimeToLive(long 
connectionTimeToLive) {
+            doSetProperty("connectionTimeToLive", connectionTimeToLive);
+            return this;
+        }
+        /**
+         * Time to live for connections in milliseconds (-1 for infinite).
+         * 
+         * The option will be converted to a <code>long</code> type.
+         * 
+         * Default: -1
+         * Group: advanced
+         * 
+         * @param connectionTimeToLive the value to set
+         * @return the dsl builder
+         */
+        default AdvancedDoclingEndpointBuilder connectionTimeToLive(String 
connectionTimeToLive) {
+            doSetProperty("connectionTimeToLive", connectionTimeToLive);
+            return this;
+        }
         /**
          * Docling-serve API convert endpoint path.
          * 
@@ -517,6 +609,126 @@ public interface DoclingEndpointBuilderFactory {
             doSetProperty("doclingCommand", doclingCommand);
             return this;
         }
+        /**
+         * Enable eviction of idle connections from the pool.
+         * 
+         * The option is a: <code>boolean</code> type.
+         * 
+         * Default: true
+         * Group: advanced
+         * 
+         * @param evictIdleConnections the value to set
+         * @return the dsl builder
+         */
+        default AdvancedDoclingEndpointBuilder evictIdleConnections(boolean 
evictIdleConnections) {
+            doSetProperty("evictIdleConnections", evictIdleConnections);
+            return this;
+        }
+        /**
+         * Enable eviction of idle connections from the pool.
+         * 
+         * The option will be converted to a <code>boolean</code> type.
+         * 
+         * Default: true
+         * Group: advanced
+         * 
+         * @param evictIdleConnections the value to set
+         * @return the dsl builder
+         */
+        default AdvancedDoclingEndpointBuilder evictIdleConnections(String 
evictIdleConnections) {
+            doSetProperty("evictIdleConnections", evictIdleConnections);
+            return this;
+        }
+        /**
+         * Maximum connections per route in the connection pool.
+         * 
+         * The option is a: <code>int</code> type.
+         * 
+         * Default: 10
+         * Group: advanced
+         * 
+         * @param maxConnectionsPerRoute the value to set
+         * @return the dsl builder
+         */
+        default AdvancedDoclingEndpointBuilder maxConnectionsPerRoute(int 
maxConnectionsPerRoute) {
+            doSetProperty("maxConnectionsPerRoute", maxConnectionsPerRoute);
+            return this;
+        }
+        /**
+         * Maximum connections per route in the connection pool.
+         * 
+         * The option will be converted to a <code>int</code> type.
+         * 
+         * Default: 10
+         * Group: advanced
+         * 
+         * @param maxConnectionsPerRoute the value to set
+         * @return the dsl builder
+         */
+        default AdvancedDoclingEndpointBuilder maxConnectionsPerRoute(String 
maxConnectionsPerRoute) {
+            doSetProperty("maxConnectionsPerRoute", maxConnectionsPerRoute);
+            return this;
+        }
+        /**
+         * Maximum idle time for connections in milliseconds before eviction.
+         * 
+         * The option is a: <code>long</code> type.
+         * 
+         * Default: 60000
+         * Group: advanced
+         * 
+         * @param maxIdleTime the value to set
+         * @return the dsl builder
+         */
+        default AdvancedDoclingEndpointBuilder maxIdleTime(long maxIdleTime) {
+            doSetProperty("maxIdleTime", maxIdleTime);
+            return this;
+        }
+        /**
+         * Maximum idle time for connections in milliseconds before eviction.
+         * 
+         * The option will be converted to a <code>long</code> type.
+         * 
+         * Default: 60000
+         * Group: advanced
+         * 
+         * @param maxIdleTime the value to set
+         * @return the dsl builder
+         */
+        default AdvancedDoclingEndpointBuilder maxIdleTime(String maxIdleTime) 
{
+            doSetProperty("maxIdleTime", maxIdleTime);
+            return this;
+        }
+        /**
+         * Maximum total connections in the connection pool.
+         * 
+         * The option is a: <code>int</code> type.
+         * 
+         * Default: 20
+         * Group: advanced
+         * 
+         * @param maxTotalConnections the value to set
+         * @return the dsl builder
+         */
+        default AdvancedDoclingEndpointBuilder maxTotalConnections(int 
maxTotalConnections) {
+            doSetProperty("maxTotalConnections", maxTotalConnections);
+            return this;
+        }
+        /**
+         * Maximum total connections in the connection pool.
+         * 
+         * The option will be converted to a <code>int</code> type.
+         * 
+         * Default: 20
+         * Group: advanced
+         * 
+         * @param maxTotalConnections the value to set
+         * @return the dsl builder
+         */
+        default AdvancedDoclingEndpointBuilder maxTotalConnections(String 
maxTotalConnections) {
+            doSetProperty("maxTotalConnections", maxTotalConnections);
+            return this;
+        }
         /**
          * Timeout for Docling process execution in milliseconds.
          * 
@@ -547,6 +759,36 @@ public interface DoclingEndpointBuilderFactory {
             doSetProperty("processTimeout", processTimeout);
             return this;
         }
+        /**
+         * Socket timeout in milliseconds.
+         * 
+         * The option is a: <code>int</code> type.
+         * 
+         * Default: 60000
+         * Group: advanced
+         * 
+         * @param socketTimeout the value to set
+         * @return the dsl builder
+         */
+        default AdvancedDoclingEndpointBuilder socketTimeout(int 
socketTimeout) {
+            doSetProperty("socketTimeout", socketTimeout);
+            return this;
+        }
+        /**
+         * Socket timeout in milliseconds.
+         * 
+         * The option will be converted to a <code>int</code> type.
+         * 
+         * Default: 60000
+         * Group: advanced
+         * 
+         * @param socketTimeout the value to set
+         * @return the dsl builder
+         */
+        default AdvancedDoclingEndpointBuilder socketTimeout(String 
socketTimeout) {
+            doSetProperty("socketTimeout", socketTimeout);
+            return this;
+        }
         /**
          * Use asynchronous conversion mode (docling-serve API only).
          * 
@@ -577,6 +819,36 @@ public interface DoclingEndpointBuilderFactory {
             doSetProperty("useAsyncMode", useAsyncMode);
             return this;
         }
+        /**
+         * Validate connections after inactivity in milliseconds.
+         * 
+         * The option is a: <code>int</code> type.
+         * 
+         * Default: 2000
+         * Group: advanced
+         * 
+         * @param validateAfterInactivity the value to set
+         * @return the dsl builder
+         */
+        default AdvancedDoclingEndpointBuilder validateAfterInactivity(int 
validateAfterInactivity) {
+            doSetProperty("validateAfterInactivity", validateAfterInactivity);
+            return this;
+        }
+        /**
+         * Validate connections after inactivity in milliseconds.
+         * 
+         * The option will be converted to a <code>int</code> type.
+         * 
+         * Default: 2000
+         * Group: advanced
+         * 
+         * @param validateAfterInactivity the value to set
+         * @return the dsl builder
+         */
+        default AdvancedDoclingEndpointBuilder validateAfterInactivity(String 
validateAfterInactivity) {
+            doSetProperty("validateAfterInactivity", validateAfterInactivity);
+            return this;
+        }
         /**
          * Working directory for Docling execution.
          * 

Reply via email to