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-spring-boot.git


The following commit(s) were added to refs/heads/main by this push:
     new 7a4e60ed5f1 Regen
7a4e60ed5f1 is described below

commit 7a4e60ed5f1c482672c059e3a5f7b28fb4c44658
Author: Claus Ibsen <[email protected]>
AuthorDate: Mon Oct 19 22:28:20 2026 +0200

    Regen
---
 .../springboot/catalog/components/aws2-ec2.json    |  2 +-
 .../camel/springboot/catalog/components/ssh.json   |  8 ++--
 .../springboot/catalog/components/state-store.json |  3 +-
 .../camel-ssh-starter/src/main/docs/ssh.json       |  4 +-
 .../ssh/springboot/SshComponentConfiguration.java  | 15 ++++--
 .../src/main/docs/state-store.json                 |  6 +++
 .../StateStoreComponentAutoConfiguration.java      |  2 +-
 .../StateStoreComponentConfiguration.java          | 16 +++++++
 .../springboot/StateStoreComponentConverter.java   | 53 ++++++++++++++++++++++
 ...rk.boot.autoconfigure.AutoConfiguration.imports |  1 +
 .../modules/ROOT/pages/starters/ssh.adoc           |  4 +-
 .../modules/ROOT/pages/starters/state-store.adoc   |  3 +-
 tooling/camel-spring-boot-dependencies/pom.xml     |  5 ++
 13 files changed, 105 insertions(+), 17 deletions(-)

diff --git 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/aws2-ec2.json
 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/aws2-ec2.json
index 3da13bda11c..16d12c2f3c3 100644
--- 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/aws2-ec2.json
+++ 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/aws2-ec2.json
@@ -49,7 +49,7 @@
   },
   "headers": {
     "CamelAwsEC2ImageId": { "index": 0, "kind": "header", "displayName": "", 
"group": "producer", "label": "", "required": false, "javaType": "String", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "An image ID of the AWS marketplace", "constantName": 
"org.apache.camel.component.aws2.ec2.AWS2EC2Constants#IMAGE_ID" },
-    "CamelAwsEC2InstanceType": { "index": 1, "kind": "header", "displayName": 
"", "group": "producer", "label": "", "required": false, "javaType": 
"software.amazon.awssdk.services.ec2.model.InstanceType", "enum": [ 
"a1.medium", "a1.large", "a1.xlarge", "a1.2xlarge", "a1.4xlarge", "a1.metal", 
"c1.medium", "c1.xlarge", "c3.large", "c3.xlarge", "c3.2xlarge", "c3.4xlarge", 
"c3.8xlarge", "c4.large", "c4.xlarge", "c4.2xlarge", "c4.4xlarge", 
"c4.8xlarge", "c5.large", "c5.xlarge", "c5.2xlarge",  [...]
+    "CamelAwsEC2InstanceType": { "index": 1, "kind": "header", "displayName": 
"", "group": "producer", "label": "", "required": false, "javaType": 
"software.amazon.awssdk.services.ec2.model.InstanceType", "enum": [ 
"a1.medium", "a1.large", "a1.xlarge", "a1.2xlarge", "a1.4xlarge", "a1.metal", 
"c1.medium", "c1.xlarge", "c3.large", "c3.xlarge", "c3.2xlarge", "c3.4xlarge", 
"c3.8xlarge", "c4.large", "c4.xlarge", "c4.2xlarge", "c4.4xlarge", 
"c4.8xlarge", "c5.large", "c5.xlarge", "c5.2xlarge",  [...]
     "CamelAwsEC2Operation": { "index": 2, "kind": "header", "displayName": "", 
"group": "producer", "label": "", "required": false, "javaType": "String", 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "The operation we want to perform", "constantName": 
"org.apache.camel.component.aws2.ec2.AWS2EC2Constants#OPERATION" },
     "CamelAwsEC2InstanceMinCount": { "index": 3, "kind": "header", 
"displayName": "", "group": "producer", "label": "", "required": false, 
"javaType": "Integer", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "description": "The minimum number of instances we want 
to run.", "constantName": 
"org.apache.camel.component.aws2.ec2.AWS2EC2Constants#INSTANCE_MIN_COUNT" },
     "CamelAwsEC2InstanceMaxCount": { "index": 4, "kind": "header", 
"displayName": "", "group": "producer", "label": "", "required": false, 
"javaType": "Integer", "deprecated": false, "deprecationNote": "", "autowired": 
false, "secret": false, "description": "The maximum number of instances we want 
to run.", "constantName": 
"org.apache.camel.component.aws2.ec2.AWS2EC2Constants#INSTANCE_MAX_COUNT" },
diff --git 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/ssh.json
 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/ssh.json
index eb697990d33..757fdfaf047 100644
--- 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/ssh.json
+++ 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/ssh.json
@@ -47,11 +47,11 @@
     "certResource": { "index": 19, "kind": "property", "displayName": "Cert 
Resource", "group": "security", "label": "security", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.ssh.SshConfiguration", "configurationField": 
"configuration", "description": "Sets the resource path of the certificate to 
use for Authentication. Will use ResourceHelperKeyPairProvider  [...]
     "certResourcePassword": { "index": 20, "kind": "property", "displayName": 
"Cert Resource Password", "group": "security", "label": "security", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": true, "security": "secret", "configurationClass": 
"org.apache.camel.component.ssh.SshConfiguration", "configurationField": 
"configuration", "description": "Sets the password to use in loading 
certResource, if certResource is a [...]
     "ciphers": { "index": 21, "kind": "property", "displayName": "Ciphers", 
"group": "security", "label": "security", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "configurationClass": 
"org.apache.camel.component.ssh.SshConfiguration", "configurationField": 
"configuration", "description": "Comma-separated list of allowed\/supported 
ciphers in their order of preference." },
-    "failOnUnknownHost": { "index": 22, "kind": "property", "displayName": 
"Fail On Unknown Host", "group": "security", "label": "security", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "security": "insecure:ssl", 
"insecureValue": "false", "defaultValue": false, "configurationClass": 
"org.apache.camel.component.ssh.SshConfiguration", "configurationField": 
"configuration", "description": "Specifies whether a connect [...]
+    "failOnUnknownHost": { "index": 22, "kind": "property", "displayName": 
"Fail On Unknown Host", "group": "security", "label": "security", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "security": "insecure:ssl", 
"insecureValue": "false", "defaultValue": false, "configurationClass": 
"org.apache.camel.component.ssh.SshConfiguration", "configurationField": 
"configuration", "description": "Specifies whether a connect [...]
     "kex": { "index": 23, "kind": "property", "displayName": "Kex", "group": 
"security", "label": "security", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "configurationClass": 
"org.apache.camel.component.ssh.SshConfiguration", "configurationField": 
"configuration", "description": "Comma-separated list of allowed\/supported key 
exchange algorithms in their order of preference." },
     "keyPairProvider": { "index": 24, "kind": "property", "displayName": "Key 
Pair Provider", "group": "security", "label": "security", "required": false, 
"type": "object", "javaType": 
"org.apache.sshd.common.keyprovider.KeyPairProvider", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.ssh.SshConfiguration", "configurationField": 
"configuration", "description": "Sets the KeyPairProvider reference to use when 
connecting using Cer [...]
     "keyType": { "index": 25, "kind": "property", "displayName": "Key Type", 
"group": "security", "label": "security", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "configurationClass": 
"org.apache.camel.component.ssh.SshConfiguration", "configurationField": 
"configuration", "description": "Sets the key type to pass to the 
KeyPairProvider as part of authentication. KeyPairProvider.loadKey(...) will be 
passe [...]
-    "knownHostsResource": { "index": 26, "kind": "property", "displayName": 
"Known Hosts Resource", "group": "security", "label": "security", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "security": "insecure:ssl", 
"configurationClass": "org.apache.camel.component.ssh.SshConfiguration", 
"configurationField": "configuration", "description": "Sets the resource path 
for a known_hosts file used to verify the SS [...]
+    "knownHostsResource": { "index": 26, "kind": "property", "displayName": 
"Known Hosts Resource", "group": "security", "label": "security", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "security": "insecure:ssl", 
"configurationClass": "org.apache.camel.component.ssh.SshConfiguration", 
"configurationField": "configuration", "description": "Sets the resource path 
for a known_hosts file used to verify the SS [...]
     "macs": { "index": 27, "kind": "property", "displayName": "Macs", "group": 
"security", "label": "security", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "configurationClass": 
"org.apache.camel.component.ssh.SshConfiguration", "configurationField": 
"configuration", "description": "Comma-separated list of allowed\/supported 
message authentication code algorithms in their order of preference. The MAC 
algor [...]
     "password": { "index": 28, "kind": "property", "displayName": "Password", 
"group": "security", "label": "security", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": true, "security": "secret", "configurationClass": 
"org.apache.camel.component.ssh.SshConfiguration", "configurationField": 
"configuration", "description": "Sets the password to use in connecting to 
remote SSH server. Requires keyPairProvider to be set  [...]
     "signatures": { "index": 29, "kind": "property", "displayName": 
"Signatures", "group": "security", "label": "security", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.ssh.SshConfiguration", "configurationField": 
"configuration", "description": "Comma-separated list of allowed\/supported 
signature algorithms in their order of preference." },
@@ -102,11 +102,11 @@
     "certResource": { "index": 35, "kind": "parameter", "displayName": "Cert 
Resource", "group": "security", "label": "security", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.ssh.SshConfiguration", "configurationField": 
"configuration", "description": "Sets the resource path of the certificate to 
use for Authentication. Will use ResourceHelperKeyPairProvider [...]
     "certResourcePassword": { "index": 36, "kind": "parameter", "displayName": 
"Cert Resource Password", "group": "security", "label": "security", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": true, "security": "secret", "configurationClass": 
"org.apache.camel.component.ssh.SshConfiguration", "configurationField": 
"configuration", "description": "Sets the password to use in loading 
certResource, if certResource is  [...]
     "ciphers": { "index": 37, "kind": "parameter", "displayName": "Ciphers", 
"group": "security", "label": "security", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "configurationClass": 
"org.apache.camel.component.ssh.SshConfiguration", "configurationField": 
"configuration", "description": "Comma-separated list of allowed\/supported 
ciphers in their order of preference." },
-    "failOnUnknownHost": { "index": 38, "kind": "parameter", "displayName": 
"Fail On Unknown Host", "group": "security", "label": "security", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "security": "insecure:ssl", 
"insecureValue": "false", "defaultValue": false, "configurationClass": 
"org.apache.camel.component.ssh.SshConfiguration", "configurationField": 
"configuration", "description": "Specifies whether a connec [...]
+    "failOnUnknownHost": { "index": 38, "kind": "parameter", "displayName": 
"Fail On Unknown Host", "group": "security", "label": "security", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "security": "insecure:ssl", 
"insecureValue": "false", "defaultValue": false, "configurationClass": 
"org.apache.camel.component.ssh.SshConfiguration", "configurationField": 
"configuration", "description": "Specifies whether a connec [...]
     "kex": { "index": 39, "kind": "parameter", "displayName": "Kex", "group": 
"security", "label": "security", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "configurationClass": 
"org.apache.camel.component.ssh.SshConfiguration", "configurationField": 
"configuration", "description": "Comma-separated list of allowed\/supported key 
exchange algorithms in their order of preference." },
     "keyPairProvider": { "index": 40, "kind": "parameter", "displayName": "Key 
Pair Provider", "group": "security", "label": "security", "required": false, 
"type": "object", "javaType": 
"org.apache.sshd.common.keyprovider.KeyPairProvider", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.ssh.SshConfiguration", "configurationField": 
"configuration", "description": "Sets the KeyPairProvider reference to use when 
connecting using Ce [...]
     "keyType": { "index": 41, "kind": "parameter", "displayName": "Key Type", 
"group": "security", "label": "security", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "configurationClass": 
"org.apache.camel.component.ssh.SshConfiguration", "configurationField": 
"configuration", "description": "Sets the key type to pass to the 
KeyPairProvider as part of authentication. KeyPairProvider.loadKey(...) will be 
pass [...]
-    "knownHostsResource": { "index": 42, "kind": "parameter", "displayName": 
"Known Hosts Resource", "group": "security", "label": "security", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "security": "insecure:ssl", 
"configurationClass": "org.apache.camel.component.ssh.SshConfiguration", 
"configurationField": "configuration", "description": "Sets the resource path 
for a known_hosts file used to verify the S [...]
+    "knownHostsResource": { "index": 42, "kind": "parameter", "displayName": 
"Known Hosts Resource", "group": "security", "label": "security", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "security": "insecure:ssl", 
"configurationClass": "org.apache.camel.component.ssh.SshConfiguration", 
"configurationField": "configuration", "description": "Sets the resource path 
for a known_hosts file used to verify the S [...]
     "macs": { "index": 43, "kind": "parameter", "displayName": "Macs", 
"group": "security", "label": "security", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "configurationClass": 
"org.apache.camel.component.ssh.SshConfiguration", "configurationField": 
"configuration", "description": "Comma-separated list of allowed\/supported 
message authentication code algorithms in their order of preference. The MAC 
algo [...]
     "password": { "index": 44, "kind": "parameter", "displayName": "Password", 
"group": "security", "label": "security", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": true, "security": "secret", "configurationClass": 
"org.apache.camel.component.ssh.SshConfiguration", "configurationField": 
"configuration", "description": "Sets the password to use in connecting to 
remote SSH server. Requires keyPairProvider to be set [...]
     "signatures": { "index": 45, "kind": "parameter", "displayName": 
"Signatures", "group": "security", "label": "security", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.ssh.SshConfiguration", "configurationField": 
"configuration", "description": "Comma-separated list of allowed\/supported 
signature algorithms in their order of preference." },
diff --git 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/state-store.json
 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/state-store.json
index 29355184602..3f4e63adbbc 100644
--- 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/state-store.json
+++ 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/state-store.json
@@ -25,7 +25,8 @@
   },
   "componentProperties": {
     "lazyStartProducer": { "index": 0, "kind": "property", "displayName": 
"Lazy Start Producer", "group": "producer", "label": "producer", "required": 
false, "type": "boolean", "javaType": "boolean", "deprecated": false, 
"autowired": false, "secret": false, "defaultValue": false, "description": 
"Whether the producer should be started lazy (on the first message). By 
starting lazy you can use this to allow CamelContext and routes to startup in 
situations where a producer may otherwise fail [...]
-    "autowiredEnabled": { "index": 1, "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 t [...]
+    "autowiredEnabled": { "index": 1, "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 t [...]
+    "backendFactory": { "index": 2, "kind": "property", "displayName": 
"Backend Factory", "group": "advanced", "label": "advanced", "required": false, 
"type": "object", "javaType": 
"org.apache.camel.component.statestore.StateStoreBackendFactory", "deprecated": 
false, "autowired": true, "secret": false, "description": "Factory that creates 
a dedicated backend for each store name. When set, it takes precedence over 
registry auto-discovery for endpoints without an explicit backend." }
   },
   "headers": {
     "CamelStateStoreOperation": { "index": 0, "kind": "header", "displayName": 
"", "group": "producer", "label": "producer", "required": false, "javaType": 
"org.apache.camel.component.statestore.StateStoreOperations", "enum": [ "put", 
"putIfAbsent", "get", "delete", "contains", "keys", "size", "clear" ], 
"deprecated": false, "deprecationNote": "", "autowired": false, "secret": 
false, "description": "The operation to perform", "constantName": 
"org.apache.camel.component.statestore.StateSt [...]
diff --git a/components-starter/camel-ssh-starter/src/main/docs/ssh.json 
b/components-starter/camel-ssh-starter/src/main/docs/ssh.json
index beea4cf7d94..bc7bb8fdcaf 100644
--- a/components-starter/camel-ssh-starter/src/main/docs/ssh.json
+++ b/components-starter/camel-ssh-starter/src/main/docs/ssh.json
@@ -102,7 +102,7 @@
     {
       "name": "camel.component.ssh.fail-on-unknown-host",
       "type": "java.lang.Boolean",
-      "description": "Specifies whether a connection to an unknown SSH server 
host key should fail. When false, host keys that are not present in the 
known_hosts resource are accepted.",
+      "description": "Specifies whether a connection to a server whose host 
has no entry without a marker in the known_hosts resource should fail. When 
false, such a server is accepted. A server whose host has entries without a 
marker is always rejected when it presents a key that none of them lists, and a 
key listed in a matching revoked entry is always rejected.",
       "sourceType": 
"org.apache.camel.component.ssh.springboot.SshComponentConfiguration",
       "defaultValue": false
     },
@@ -159,7 +159,7 @@
     {
       "name": "camel.component.ssh.known-hosts-resource",
       "type": "java.lang.String",
-      "description": "Sets the resource path for a known_hosts file used to 
verify the SSH server host key. When not set, the client does not verify the 
server host key against a known_hosts file.",
+      "description": "Sets the resource path for a known_hosts file used to 
verify the SSH server host key. The file uses the OpenSSH known_hosts format, 
and its entries are matched against the host and port configured on the 
endpoint. A resource that cannot be read, or that has a line that cannot be 
read, makes every connection fail. When not set, the client does not verify the 
server host key against a known_hosts file.",
       "sourceType": 
"org.apache.camel.component.ssh.springboot.SshComponentConfiguration"
     },
     {
diff --git 
a/components-starter/camel-ssh-starter/src/main/java/org/apache/camel/component/ssh/springboot/SshComponentConfiguration.java
 
b/components-starter/camel-ssh-starter/src/main/java/org/apache/camel/component/ssh/springboot/SshComponentConfiguration.java
index 93c2555de4f..818d0e42781 100644
--- 
a/components-starter/camel-ssh-starter/src/main/java/org/apache/camel/component/ssh/springboot/SshComponentConfiguration.java
+++ 
b/components-starter/camel-ssh-starter/src/main/java/org/apache/camel/component/ssh/springboot/SshComponentConfiguration.java
@@ -169,9 +169,11 @@ public class SshComponentConfiguration
      */
     private String ciphers;
     /**
-     * Specifies whether a connection to an unknown SSH server host key should
-     * fail. When false, host keys that are not present in the known_hosts
-     * resource are accepted.
+     * Specifies whether a connection to a server whose host has no entry
+     * without a marker in the known_hosts resource should fail. When false,
+     * such a server is accepted. A server whose host has entries without a
+     * marker is always rejected when it presents a key that none of them 
lists,
+     * and a key listed in a matching revoked entry is always rejected.
      */
     private Boolean failOnUnknownHost = false;
     /**
@@ -195,8 +197,11 @@ public class SshComponentConfiguration
     private String keyType;
     /**
      * Sets the resource path for a known_hosts file used to verify the SSH
-     * server host key. When not set, the client does not verify the server 
host
-     * key against a known_hosts file.
+     * server host key. The file uses the OpenSSH known_hosts format, and its
+     * entries are matched against the host and port configured on the 
endpoint.
+     * A resource that cannot be read, or that has a line that cannot be read,
+     * makes every connection fail. When not set, the client does not verify 
the
+     * server host key against a known_hosts file.
      */
     private String knownHostsResource;
     /**
diff --git 
a/components-starter/camel-state-store-starter/src/main/docs/state-store.json 
b/components-starter/camel-state-store-starter/src/main/docs/state-store.json
index b0cca9694ca..20f3e7d3ea4 100644
--- 
a/components-starter/camel-state-store-starter/src/main/docs/state-store.json
+++ 
b/components-starter/camel-state-store-starter/src/main/docs/state-store.json
@@ -20,6 +20,12 @@
       "sourceType": 
"org.apache.camel.component.statestore.springboot.StateStoreComponentConfiguration",
       "defaultValue": true
     },
+    {
+      "name": "camel.component.state-store.backend-factory",
+      "type": "org.apache.camel.component.statestore.StateStoreBackendFactory",
+      "description": "Factory that creates a dedicated backend for each store 
name. When set, it takes precedence over registry auto-discovery for endpoints 
without an explicit backend. The option is a 
org.apache.camel.component.statestore.StateStoreBackendFactory type.",
+      "sourceType": 
"org.apache.camel.component.statestore.springboot.StateStoreComponentConfiguration"
+    },
     {
       "name": "camel.component.state-store.customizer.enabled",
       "type": "java.lang.Boolean",
diff --git 
a/components-starter/camel-state-store-starter/src/main/java/org/apache/camel/component/statestore/springboot/StateStoreComponentAutoConfiguration.java
 
b/components-starter/camel-state-store-starter/src/main/java/org/apache/camel/component/statestore/springboot/StateStoreComponentAutoConfiguration.java
index 18af489df36..bbd6769024a 100644
--- 
a/components-starter/camel-state-store-starter/src/main/java/org/apache/camel/component/statestore/springboot/StateStoreComponentAutoConfiguration.java
+++ 
b/components-starter/camel-state-store-starter/src/main/java/org/apache/camel/component/statestore/springboot/StateStoreComponentAutoConfiguration.java
@@ -36,7 +36,7 @@ import org.springframework.context.annotation.Lazy;
 /**
  * Generated by camel-package-maven-plugin - do not edit this file!
  */
-@AutoConfiguration(after = CamelAutoConfiguration.class)
+@AutoConfiguration(after = {CamelAutoConfiguration.class, 
StateStoreComponentConverter.class})
 @Conditional(ConditionalOnCamelContextAndAutoConfigurationBeans.class)
 
@EnableConfigurationProperties({ComponentConfigurationProperties.class,StateStoreComponentConfiguration.class})
 @ConditionalOnHierarchicalProperties({"camel.component", 
"camel.component.state-store"})
diff --git 
a/components-starter/camel-state-store-starter/src/main/java/org/apache/camel/component/statestore/springboot/StateStoreComponentConfiguration.java
 
b/components-starter/camel-state-store-starter/src/main/java/org/apache/camel/component/statestore/springboot/StateStoreComponentConfiguration.java
index 8a51f009a82..fca6d1f428a 100644
--- 
a/components-starter/camel-state-store-starter/src/main/java/org/apache/camel/component/statestore/springboot/StateStoreComponentConfiguration.java
+++ 
b/components-starter/camel-state-store-starter/src/main/java/org/apache/camel/component/statestore/springboot/StateStoreComponentConfiguration.java
@@ -16,6 +16,7 @@
  */
 package org.apache.camel.component.statestore.springboot;
 
+import org.apache.camel.component.statestore.StateStoreBackendFactory;
 import org.apache.camel.spring.boot.ComponentConfigurationPropertiesCommon;
 import org.springframework.boot.context.properties.ConfigurationProperties;
 
@@ -54,6 +55,13 @@ public class StateStoreComponentConfiguration
      * etc.
      */
     private Boolean autowiredEnabled = true;
+    /**
+     * Factory that creates a dedicated backend for each store name. When set,
+     * it takes precedence over registry auto-discovery for endpoints without 
an
+     * explicit backend. The option is a
+     * org.apache.camel.component.statestore.StateStoreBackendFactory type.
+     */
+    private StateStoreBackendFactory backendFactory;
 
     public Boolean getLazyStartProducer() {
         return lazyStartProducer;
@@ -70,4 +78,12 @@ public class StateStoreComponentConfiguration
     public void setAutowiredEnabled(Boolean autowiredEnabled) {
         this.autowiredEnabled = autowiredEnabled;
     }
+
+    public StateStoreBackendFactory getBackendFactory() {
+        return backendFactory;
+    }
+
+    public void setBackendFactory(StateStoreBackendFactory backendFactory) {
+        this.backendFactory = backendFactory;
+    }
 }
\ No newline at end of file
diff --git 
a/components-starter/camel-state-store-starter/src/main/java/org/apache/camel/component/statestore/springboot/StateStoreComponentConverter.java
 
b/components-starter/camel-state-store-starter/src/main/java/org/apache/camel/component/statestore/springboot/StateStoreComponentConverter.java
new file mode 100644
index 00000000000..a29fefd1ca6
--- /dev/null
+++ 
b/components-starter/camel-state-store-starter/src/main/java/org/apache/camel/component/statestore/springboot/StateStoreComponentConverter.java
@@ -0,0 +1,53 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.statestore.springboot;
+
+import java.util.LinkedHashSet;
+import java.util.Set;
+import org.apache.camel.spring.boot.util.BeanReferenceHelper;
+import org.springframework.beans.factory.annotation.Autowired;
+import 
org.springframework.boot.context.properties.ConfigurationPropertiesBinding;
+import org.springframework.context.ApplicationContext;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.core.convert.TypeDescriptor;
+import org.springframework.core.convert.converter.GenericConverter;
+import org.springframework.stereotype.Component;
+
+/**
+ * Generated by camel-package-maven-plugin - do not edit this file!
+ */
+@Configuration(proxyBeanMethods = false)
+@ConfigurationPropertiesBinding
+@Component
+public class StateStoreComponentConverter implements GenericConverter {
+
+    @Autowired
+    private ApplicationContext applicationContext;
+
+    public Set<ConvertiblePair> getConvertibleTypes() {
+        Set<ConvertiblePair> answer = new LinkedHashSet<>();
+        answer.add(new ConvertiblePair(String.class, 
org.apache.camel.component.statestore.StateStoreBackendFactory.class));
+        return answer;
+    }
+
+    public Object convert(
+            Object source,
+            TypeDescriptor sourceType,
+            TypeDescriptor targetType) {
+        return BeanReferenceHelper.resolveBeanReference(applicationContext, 
source, targetType, "camel.component.state-store");
+    }
+}
\ No newline at end of file
diff --git 
a/components-starter/camel-state-store-starter/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
 
b/components-starter/camel-state-store-starter/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
index 99638692ce1..b4d44e5a8ff 100644
--- 
a/components-starter/camel-state-store-starter/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
+++ 
b/components-starter/camel-state-store-starter/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
@@ -15,3 +15,4 @@
 ## limitations under the License.
 ## ---------------------------------------------------------------------------
 
org.apache.camel.component.statestore.springboot.StateStoreComponentAutoConfiguration
+org.apache.camel.component.statestore.springboot.StateStoreComponentConverter
diff --git a/docs/spring-boot/modules/ROOT/pages/starters/ssh.adoc 
b/docs/spring-boot/modules/ROOT/pages/starters/ssh.adoc
index 23707bedbeb..8afb9e00434 100644
--- a/docs/spring-boot/modules/ROOT/pages/starters/ssh.adoc
+++ b/docs/spring-boot/modules/ROOT/pages/starters/ssh.adoc
@@ -41,7 +41,7 @@ The starter supports 32 options, which are listed below.
 | camel.component.ssh.configuration | Component configuration. The option is a 
org.apache.camel.component.ssh.SshConfiguration type. |  | SshConfiguration
 | camel.component.ssh.connect-timeout | Sets the socket connection timeout in 
milliseconds. |  | Long
 | camel.component.ssh.enabled | Whether to enable auto configuration of the 
ssh component. This is enabled by default. |  | Boolean
-| camel.component.ssh.fail-on-unknown-host | Specifies whether a connection to 
an unknown SSH server host key should fail. When false, host keys that are not 
present in the known_hosts resource are accepted. | false | Boolean
+| camel.component.ssh.fail-on-unknown-host | Specifies whether a connection to 
a server whose host has no entry without a marker in the known_hosts resource 
should fail. When false, such a server is accepted. A server whose host has 
entries without a marker is always rejected when it presents a key that none of 
them lists, and a key listed in a matching revoked entry is always rejected. | 
false | Boolean
 | camel.component.ssh.health-check-consumer-enabled | Used for enabling or 
disabling all consumer based health checks from this component | true | Boolean
 | camel.component.ssh.health-check-producer-enabled | Used for enabling or 
disabling all producer based health checks from this component. Notice: Camel 
has by default disabled all producer based health-checks. You can turn on 
producer checks globally by setting camel.health.producersEnabled=true. | true 
| Boolean
 | camel.component.ssh.heartbeat-interval | Sets the heartbeat interval in 
milliseconds. If positive, the component will send keep-alive messages to 
prevent the SSH session from timing out. |  | Long
@@ -50,7 +50,7 @@ The starter supports 32 options, which are listed below.
 | camel.component.ssh.kex | Comma-separated list of allowed/supported key 
exchange algorithms in their order of preference. |  | String
 | camel.component.ssh.key-pair-provider | Sets the KeyPairProvider reference 
to use when connecting using Certificates to the remote SSH Server. The option 
is a org.apache.sshd.common.keyprovider.KeyPairProvider type. |  | 
KeyPairProvider
 | camel.component.ssh.key-type | Sets the key type to pass to the 
KeyPairProvider as part of authentication. KeyPairProvider.loadKey(...) will be 
passed this value. From Camel 3.0.0 / 2.25.0, by default Camel will select the 
first available KeyPair that is loaded. Prior to this, a KeyType of 'ssh-rsa' 
was enforced by default. |  | String
-| camel.component.ssh.known-hosts-resource | Sets the resource path for a 
known_hosts file used to verify the SSH server host key. When not set, the 
client does not verify the server host key against a known_hosts file. |  | 
String
+| camel.component.ssh.known-hosts-resource | Sets the resource path for a 
known_hosts file used to verify the SSH server host key. The file uses the 
OpenSSH known_hosts format, and its entries are matched against the host and 
port configured on the endpoint. A resource that cannot be read, or that has a 
line that cannot be read, makes every connection fail. When not set, the client 
does not verify the server host key against a known_hosts file. |  | String
 | camel.component.ssh.lazy-start-producer | Whether the producer should be 
started lazy (on the first message). By starting lazy you can use this to allow 
CamelContext and routes to startup in situations where a producer may otherwise 
fail during starting and cause the route to fail being started. By deferring 
this startup to be lazy then the startup failure can be handled during routing 
messages via Camel's routing error handlers. Beware that when the first message 
is processed then cre [...]
 | camel.component.ssh.macs | Comma-separated list of allowed/supported message 
authentication code algorithms in their order of preference. The MAC algorithm 
is used for data integrity protection. |  | String
 | camel.component.ssh.password | Sets the password to use in connecting to 
remote SSH server. Requires keyPairProvider to be set to null. |  | String
diff --git a/docs/spring-boot/modules/ROOT/pages/starters/state-store.adoc 
b/docs/spring-boot/modules/ROOT/pages/starters/state-store.adoc
index 7ea97aee127..53ddafa63ec 100644
--- a/docs/spring-boot/modules/ROOT/pages/starters/state-store.adoc
+++ b/docs/spring-boot/modules/ROOT/pages/starters/state-store.adoc
@@ -23,12 +23,13 @@ Please refer to the above links for usage and configuration 
details.
 
 == Spring Boot Auto-Configuration
 
-The starter supports 3 options, which are listed below.
+The starter supports 4 options, which are listed below.
 
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
 | camel.component.state-store.autowired-enabled | 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 type, which then gets configured on the component. This 
can be used for automatic configuring JDBC data sources, JMS connection 
factories, AWS Clients, etc. | true | Boolean
+| camel.component.state-store.backend-factory | Factory that creates a 
dedicated backend for each store name. When set, it takes precedence over 
registry auto-discovery for endpoints without an explicit backend. The option 
is a org.apache.camel.component.statestore.StateStoreBackendFactory type. |  | 
StateStoreBackendFactory
 | camel.component.state-store.enabled | Whether to enable auto configuration 
of the state-store component. This is enabled by default. |  | Boolean
 | camel.component.state-store.lazy-start-producer | Whether the producer 
should be started lazy (on the first message). By starting lazy you can use 
this to allow CamelContext and routes to startup in situations where a producer 
may otherwise fail during starting and cause the route to fail being started. 
By deferring this startup to be lazy then the startup failure can be handled 
during routing messages via Camel's routing error handlers. Beware that when 
the first message is processed  [...]
 |===
diff --git a/tooling/camel-spring-boot-dependencies/pom.xml 
b/tooling/camel-spring-boot-dependencies/pom.xml
index 752915aaeb1..e16d0486132 100644
--- a/tooling/camel-spring-boot-dependencies/pom.xml
+++ b/tooling/camel-spring-boot-dependencies/pom.xml
@@ -5019,6 +5019,11 @@
         <artifactId>camel-test-citrus</artifactId>
         <version>4.24.0-SNAPSHOT</version>
       </dependency>
+      <dependency>
+        <groupId>org.apache.camel</groupId>
+        <artifactId>camel-test-dst</artifactId>
+        <version>4.24.0-SNAPSHOT</version>
+      </dependency>
       <dependency>
         <groupId>org.apache.camel</groupId>
         <artifactId>camel-test-junit5</artifactId>

Reply via email to