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

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


The following commit(s) were added to refs/heads/main by this push:
     new 21e4d829b88d CAMEL-23255: Retry Infinispan schema registration on 
IllegalLifecycleStateException
21e4d829b88d is described below

commit 21e4d829b88d3e1c84683522c07224162f68d96b
Author: Guillaume Nodet <[email protected]>
AuthorDate: Sun Mar 29 22:36:38 2026 +0200

    CAMEL-23255: Retry Infinispan schema registration on 
IllegalLifecycleStateException
    
    When Camel and a remote Infinispan server start concurrently (e.g., in
    Kubernetes), the server's ___protobuf_metadata cache may not be ready,
    causing embedding store schema registration to fail with
    RemoteIllegalLifecycleStateException.
    
    Add retry logic using ForegroundTask with a configurable timeout
    (embeddingStoreSchemaRegistrationTimeout, default 60s). Only
    RemoteIllegalLifecycleStateException triggers retries; other errors
    propagate immediately. Includes unit tests for the retry pattern.
    
    Closes #22278
---
 .../camel/catalog/components/infinispan.json       |  66 ++++++------
 .../InfinispanRemoteComponentConfigurer.java       |   6 ++
 .../remote/InfinispanRemoteEndpointConfigurer.java |   6 ++
 .../remote/InfinispanRemoteEndpointUriFactory.java |   3 +-
 .../component/infinispan/remote/infinispan.json    |  66 ++++++------
 .../remote/InfinispanRemoteConfiguration.java      |  18 ++++
 .../infinispan/remote/InfinispanRemoteManager.java |  50 ++++++++-
 ...nfinispanRemoteSchemaRegistrationRetryTest.java | 113 +++++++++++++++++++++
 .../dsl/InfinispanComponentBuilderFactory.java     |  20 ++++
 .../InfinispanRemoteEndpointBuilderFactory.java    |  35 +++++++
 10 files changed, 317 insertions(+), 66 deletions(-)

diff --git 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/infinispan.json
 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/infinispan.json
index d8578d7a476c..a86475d95bf5 100644
--- 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/infinispan.json
+++ 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/infinispan.json
@@ -40,22 +40,23 @@
     "embeddingStoreDistance": { "index": 13, "kind": "property", 
"displayName": "Embedding Store Distance", "group": "producer (advanced)", 
"label": "producer,advanced", "required": false, "type": "integer", "javaType": 
"int", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": 3, "configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configuration", "description": "The distance to use for 
kNN searc [...]
     "embeddingStoreEnabled": { "index": 14, "kind": "property", "displayName": 
"Embedding Store Enabled", "group": "producer (advanced)", "label": 
"producer,advanced", "required": false, "type": "boolean", "javaType": 
"boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": true, "configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configuration", "description": "Whether to enable the 
embedd [...]
     "embeddingStoreRegisterSchema": { "index": 15, "kind": "property", 
"displayName": "Embedding Store Register Schema", "group": "producer 
(advanced)", "label": "producer,advanced", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": true, "configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configuration", "description": "Whether to au [...]
-    "embeddingStoreTypeName": { "index": 16, "kind": "property", 
"displayName": "Embedding Store Type Name", "group": "producer (advanced)", 
"label": "producer,advanced", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "autowired": false, "secret": false, 
"configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configuration", "description": "The name of the type 
used to store embe [...]
-    "embeddingStoreVectorSimilarity": { "index": 17, "kind": "property", 
"displayName": "Embedding Store Vector Similarity", "group": "producer 
(advanced)", "label": "producer,advanced", "required": false, "type": "enum", 
"javaType": "org.infinispan.api.annotations.indexing.option.VectorSimilarity", 
"enum": [ "L2", "INNER_PRODUCT", "MAX_INNER_PRODUCT", "COSINE" ], "deprecated": 
false, "autowired": false, "secret": false, "defaultValue": "COSINE", 
"configurationClass": "org.apache.camel.c [...]
-    "autowiredEnabled": { "index": 18, "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  [...]
-    "cacheContainer": { "index": 19, "kind": "property", "displayName": "Cache 
Container", "group": "advanced", "label": "advanced", "required": false, 
"type": "object", "javaType": 
"org.infinispan.client.hotrod.RemoteCacheManager", "deprecated": false, 
"deprecationNote": "", "autowired": true, "secret": false, 
"configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configuration", "description": "Specifies the cache Cont 
[...]
-    "cacheContainerConfiguration": { "index": 20, "kind": "property", 
"displayName": "Cache Container Configuration", "group": "advanced", "label": 
"advanced", "required": false, "type": "object", "javaType": 
"org.infinispan.client.hotrod.configuration.Configuration", "deprecated": 
false, "deprecationNote": "", "autowired": true, "secret": false, 
"configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configuration", "des [...]
-    "configurationProperties": { "index": 21, "kind": "property", 
"displayName": "Configuration Properties", "group": "advanced", "label": 
"advanced", "required": false, "type": "object", "javaType": 
"java.util.Map<java.lang.String, java.lang.String>", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configuration", "description": "Implementation specific 
pr [...]
-    "configurationUri": { "index": 22, "kind": "property", "displayName": 
"Configuration Uri", "group": "advanced", "label": "advanced", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, 
"supportFileReference": true, "configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configuration", "description": "An implementation sp 
[...]
-    "flags": { "index": 23, "kind": "property", "displayName": "Flags", 
"group": "advanced", "label": "advanced", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configuration", "description": "A comma separated list 
of org.infinispan.client.hotrod.Flag to be applied by default on each cac [...]
-    "remappingFunction": { "index": 24, "kind": "property", "displayName": 
"Remapping Function", "group": "advanced", "label": "advanced", "required": 
false, "type": "object", "javaType": "java.util.function.BiFunction", 
"deprecated": false, "autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configuration", "description": "Set a specific 
remappingFunction to use in a compute opera [...]
-    "resultHeader": { "index": 25, "kind": "property", "displayName": "Result 
Header", "group": "advanced", "label": "advanced", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configuration", "description": "Store the operation 
result in a header instead of the message body. By default, r [...]
-    "password": { "index": 26, "kind": "property", "displayName": "Password", 
"group": "security", "label": "common,security", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": true, "configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configuration", "description": "Define the password to 
access the infinispan instance" },
-    "saslMechanism": { "index": 27, "kind": "property", "displayName": "Sasl 
Mechanism", "group": "security", "label": "common,security", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configuration", "description": "Define the SASL 
Mechanism to access the infinispan instance" },
-    "secure": { "index": 28, "kind": "property", "displayName": "Secure", 
"group": "security", "label": "common,security", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configuration", "description": "Define if we are 
connecting to a secured Infinispan instance" },
-    "securityRealm": { "index": 29, "kind": "property", "displayName": 
"Security Realm", "group": "security", "label": "common,security", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configuration", "description": "Define the security 
realm to access the infinispan instance" },
-    "securityServerName": { "index": 30, "kind": "property", "displayName": 
"Security Server Name", "group": "security", "label": "common,security", 
"required": false, "type": "string", "javaType": "java.lang.String", 
"deprecated": false, "autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configuration", "description": "Define the security 
server name to access the infinispan inst [...]
-    "username": { "index": 31, "kind": "property", "displayName": "Username", 
"group": "security", "label": "common,security", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configuration", "description": "Define the username to 
access the infinispan instance" }
+    "embeddingStoreSchemaRegistrationTimeout": { "index": 16, "kind": 
"property", "displayName": "Embedding Store Schema Registration Timeout", 
"group": "producer (advanced)", "label": "producer,advanced", "required": 
false, "type": "duration", "javaType": "java.time.Duration", "deprecated": 
false, "autowired": false, "secret": false, "defaultValue": "60s", 
"configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configura [...]
+    "embeddingStoreTypeName": { "index": 17, "kind": "property", 
"displayName": "Embedding Store Type Name", "group": "producer (advanced)", 
"label": "producer,advanced", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "autowired": false, "secret": false, 
"configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configuration", "description": "The name of the type 
used to store embe [...]
+    "embeddingStoreVectorSimilarity": { "index": 18, "kind": "property", 
"displayName": "Embedding Store Vector Similarity", "group": "producer 
(advanced)", "label": "producer,advanced", "required": false, "type": "enum", 
"javaType": "org.infinispan.api.annotations.indexing.option.VectorSimilarity", 
"enum": [ "L2", "INNER_PRODUCT", "MAX_INNER_PRODUCT", "COSINE" ], "deprecated": 
false, "autowired": false, "secret": false, "defaultValue": "COSINE", 
"configurationClass": "org.apache.camel.c [...]
+    "autowiredEnabled": { "index": 19, "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  [...]
+    "cacheContainer": { "index": 20, "kind": "property", "displayName": "Cache 
Container", "group": "advanced", "label": "advanced", "required": false, 
"type": "object", "javaType": 
"org.infinispan.client.hotrod.RemoteCacheManager", "deprecated": false, 
"deprecationNote": "", "autowired": true, "secret": false, 
"configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configuration", "description": "Specifies the cache Cont 
[...]
+    "cacheContainerConfiguration": { "index": 21, "kind": "property", 
"displayName": "Cache Container Configuration", "group": "advanced", "label": 
"advanced", "required": false, "type": "object", "javaType": 
"org.infinispan.client.hotrod.configuration.Configuration", "deprecated": 
false, "deprecationNote": "", "autowired": true, "secret": false, 
"configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configuration", "des [...]
+    "configurationProperties": { "index": 22, "kind": "property", 
"displayName": "Configuration Properties", "group": "advanced", "label": 
"advanced", "required": false, "type": "object", "javaType": 
"java.util.Map<java.lang.String, java.lang.String>", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configuration", "description": "Implementation specific 
pr [...]
+    "configurationUri": { "index": 23, "kind": "property", "displayName": 
"Configuration Uri", "group": "advanced", "label": "advanced", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, 
"supportFileReference": true, "configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configuration", "description": "An implementation sp 
[...]
+    "flags": { "index": 24, "kind": "property", "displayName": "Flags", 
"group": "advanced", "label": "advanced", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configuration", "description": "A comma separated list 
of org.infinispan.client.hotrod.Flag to be applied by default on each cac [...]
+    "remappingFunction": { "index": 25, "kind": "property", "displayName": 
"Remapping Function", "group": "advanced", "label": "advanced", "required": 
false, "type": "object", "javaType": "java.util.function.BiFunction", 
"deprecated": false, "autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configuration", "description": "Set a specific 
remappingFunction to use in a compute opera [...]
+    "resultHeader": { "index": 26, "kind": "property", "displayName": "Result 
Header", "group": "advanced", "label": "advanced", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configuration", "description": "Store the operation 
result in a header instead of the message body. By default, r [...]
+    "password": { "index": 27, "kind": "property", "displayName": "Password", 
"group": "security", "label": "common,security", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": true, "configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configuration", "description": "Define the password to 
access the infinispan instance" },
+    "saslMechanism": { "index": 28, "kind": "property", "displayName": "Sasl 
Mechanism", "group": "security", "label": "common,security", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configuration", "description": "Define the SASL 
Mechanism to access the infinispan instance" },
+    "secure": { "index": 29, "kind": "property", "displayName": "Secure", 
"group": "security", "label": "common,security", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configuration", "description": "Define if we are 
connecting to a secured Infinispan instance" },
+    "securityRealm": { "index": 30, "kind": "property", "displayName": 
"Security Realm", "group": "security", "label": "common,security", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configuration", "description": "Define the security 
realm to access the infinispan instance" },
+    "securityServerName": { "index": 31, "kind": "property", "displayName": 
"Security Server Name", "group": "security", "label": "common,security", 
"required": false, "type": "string", "javaType": "java.lang.String", 
"deprecated": false, "autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configuration", "description": "Define the security 
server name to access the infinispan inst [...]
+    "username": { "index": 32, "kind": "property", "displayName": "Username", 
"group": "security", "label": "common,security", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configuration", "description": "Define the username to 
access the infinispan instance" }
   },
   "headers": {
     "CamelInfinispanEventType": { "index": 0, "kind": "header", "displayName": 
"", "group": "consumer", "label": "consumer", "required": false, "javaType": 
"String", "deprecated": false, "deprecationNote": "", "autowired": false, 
"secret": false, "description": "The type of the received event.", 
"constantName": 
"org.apache.camel.component.infinispan.InfinispanConstants#EVENT_TYPE" },
@@ -95,21 +96,22 @@
     "embeddingStoreDistance": { "index": 14, "kind": "parameter", 
"displayName": "Embedding Store Distance", "group": "producer (advanced)", 
"label": "producer,advanced", "required": false, "type": "integer", "javaType": 
"int", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": 3, "configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configuration", "description": "The distance to use for 
kNN sear [...]
     "embeddingStoreEnabled": { "index": 15, "kind": "parameter", 
"displayName": "Embedding Store Enabled", "group": "producer (advanced)", 
"label": "producer,advanced", "required": false, "type": "boolean", "javaType": 
"boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": true, "configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configuration", "description": "Whether to enable the 
embed [...]
     "embeddingStoreRegisterSchema": { "index": 16, "kind": "parameter", 
"displayName": "Embedding Store Register Schema", "group": "producer 
(advanced)", "label": "producer,advanced", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": true, "configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configuration", "description": "Whether to a [...]
-    "embeddingStoreTypeName": { "index": 17, "kind": "parameter", 
"displayName": "Embedding Store Type Name", "group": "producer (advanced)", 
"label": "producer,advanced", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "autowired": false, "secret": false, 
"configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configuration", "description": "The name of the type 
used to store emb [...]
-    "embeddingStoreVectorSimilarity": { "index": 18, "kind": "parameter", 
"displayName": "Embedding Store Vector Similarity", "group": "producer 
(advanced)", "label": "producer,advanced", "required": false, "type": "enum", 
"javaType": "org.infinispan.api.annotations.indexing.option.VectorSimilarity", 
"enum": [ "L2", "INNER_PRODUCT", "MAX_INNER_PRODUCT", "COSINE" ], "deprecated": 
false, "autowired": false, "secret": false, "defaultValue": "COSINE", 
"configurationClass": "org.apache.camel. [...]
-    "lazyStartProducer": { "index": 19, "kind": "parameter", "displayName": 
"Lazy Start Producer", "group": "producer (advanced)", "label": 
"producer,advanced", "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 produ [...]
-    "cacheContainer": { "index": 20, "kind": "parameter", "displayName": 
"Cache Container", "group": "advanced", "label": "advanced", "required": false, 
"type": "object", "javaType": 
"org.infinispan.client.hotrod.RemoteCacheManager", "deprecated": false, 
"deprecationNote": "", "autowired": true, "secret": false, 
"configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configuration", "description": "Specifies the cache Con 
[...]
-    "cacheContainerConfiguration": { "index": 21, "kind": "parameter", 
"displayName": "Cache Container Configuration", "group": "advanced", "label": 
"advanced", "required": false, "type": "object", "javaType": 
"org.infinispan.client.hotrod.configuration.Configuration", "deprecated": 
false, "deprecationNote": "", "autowired": true, "secret": false, 
"configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configuration", "de [...]
-    "configurationProperties": { "index": 22, "kind": "parameter", 
"displayName": "Configuration Properties", "group": "advanced", "label": 
"advanced", "required": false, "type": "object", "javaType": 
"java.util.Map<java.lang.String, java.lang.String>", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configuration", "description": "Implementation specific 
p [...]
-    "configurationUri": { "index": 23, "kind": "parameter", "displayName": 
"Configuration Uri", "group": "advanced", "label": "advanced", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, 
"supportFileReference": true, "configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configuration", "description": "An implementation s [...]
-    "flags": { "index": 24, "kind": "parameter", "displayName": "Flags", 
"group": "advanced", "label": "advanced", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configuration", "description": "A comma separated list 
of org.infinispan.client.hotrod.Flag to be applied by default on each ca [...]
-    "remappingFunction": { "index": 25, "kind": "parameter", "displayName": 
"Remapping Function", "group": "advanced", "label": "advanced", "required": 
false, "type": "object", "javaType": "java.util.function.BiFunction", 
"deprecated": false, "autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configuration", "description": "Set a specific 
remappingFunction to use in a compute oper [...]
-    "resultHeader": { "index": 26, "kind": "parameter", "displayName": "Result 
Header", "group": "advanced", "label": "advanced", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configuration", "description": "Store the operation 
result in a header instead of the message body. By default,  [...]
-    "password": { "index": 27, "kind": "parameter", "displayName": "Password", 
"group": "security", "label": "common,security", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": true, "configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configuration", "description": "Define the password to 
access the infinispan instance" },
-    "saslMechanism": { "index": 28, "kind": "parameter", "displayName": "Sasl 
Mechanism", "group": "security", "label": "common,security", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configuration", "description": "Define the SASL 
Mechanism to access the infinispan instance" },
-    "secure": { "index": 29, "kind": "parameter", "displayName": "Secure", 
"group": "security", "label": "common,security", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configuration", "description": "Define if we are 
connecting to a secured Infinispan instance" },
-    "securityRealm": { "index": 30, "kind": "parameter", "displayName": 
"Security Realm", "group": "security", "label": "common,security", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configuration", "description": "Define the security 
realm to access the infinispan instance" },
-    "securityServerName": { "index": 31, "kind": "parameter", "displayName": 
"Security Server Name", "group": "security", "label": "common,security", 
"required": false, "type": "string", "javaType": "java.lang.String", 
"deprecated": false, "autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configuration", "description": "Define the security 
server name to access the infinispan ins [...]
-    "username": { "index": 32, "kind": "parameter", "displayName": "Username", 
"group": "security", "label": "common,security", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configuration", "description": "Define the username to 
access the infinispan instance" }
+    "embeddingStoreSchemaRegistrationTimeout": { "index": 17, "kind": 
"parameter", "displayName": "Embedding Store Schema Registration Timeout", 
"group": "producer (advanced)", "label": "producer,advanced", "required": 
false, "type": "duration", "javaType": "java.time.Duration", "deprecated": 
false, "autowired": false, "secret": false, "defaultValue": "60s", 
"configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configur [...]
+    "embeddingStoreTypeName": { "index": 18, "kind": "parameter", 
"displayName": "Embedding Store Type Name", "group": "producer (advanced)", 
"label": "producer,advanced", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "autowired": false, "secret": false, 
"configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configuration", "description": "The name of the type 
used to store emb [...]
+    "embeddingStoreVectorSimilarity": { "index": 19, "kind": "parameter", 
"displayName": "Embedding Store Vector Similarity", "group": "producer 
(advanced)", "label": "producer,advanced", "required": false, "type": "enum", 
"javaType": "org.infinispan.api.annotations.indexing.option.VectorSimilarity", 
"enum": [ "L2", "INNER_PRODUCT", "MAX_INNER_PRODUCT", "COSINE" ], "deprecated": 
false, "autowired": false, "secret": false, "defaultValue": "COSINE", 
"configurationClass": "org.apache.camel. [...]
+    "lazyStartProducer": { "index": 20, "kind": "parameter", "displayName": 
"Lazy Start Producer", "group": "producer (advanced)", "label": 
"producer,advanced", "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 produ [...]
+    "cacheContainer": { "index": 21, "kind": "parameter", "displayName": 
"Cache Container", "group": "advanced", "label": "advanced", "required": false, 
"type": "object", "javaType": 
"org.infinispan.client.hotrod.RemoteCacheManager", "deprecated": false, 
"deprecationNote": "", "autowired": true, "secret": false, 
"configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configuration", "description": "Specifies the cache Con 
[...]
+    "cacheContainerConfiguration": { "index": 22, "kind": "parameter", 
"displayName": "Cache Container Configuration", "group": "advanced", "label": 
"advanced", "required": false, "type": "object", "javaType": 
"org.infinispan.client.hotrod.configuration.Configuration", "deprecated": 
false, "deprecationNote": "", "autowired": true, "secret": false, 
"configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configuration", "de [...]
+    "configurationProperties": { "index": 23, "kind": "parameter", 
"displayName": "Configuration Properties", "group": "advanced", "label": 
"advanced", "required": false, "type": "object", "javaType": 
"java.util.Map<java.lang.String, java.lang.String>", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configuration", "description": "Implementation specific 
p [...]
+    "configurationUri": { "index": 24, "kind": "parameter", "displayName": 
"Configuration Uri", "group": "advanced", "label": "advanced", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, 
"supportFileReference": true, "configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configuration", "description": "An implementation s [...]
+    "flags": { "index": 25, "kind": "parameter", "displayName": "Flags", 
"group": "advanced", "label": "advanced", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configuration", "description": "A comma separated list 
of org.infinispan.client.hotrod.Flag to be applied by default on each ca [...]
+    "remappingFunction": { "index": 26, "kind": "parameter", "displayName": 
"Remapping Function", "group": "advanced", "label": "advanced", "required": 
false, "type": "object", "javaType": "java.util.function.BiFunction", 
"deprecated": false, "autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configuration", "description": "Set a specific 
remappingFunction to use in a compute oper [...]
+    "resultHeader": { "index": 27, "kind": "parameter", "displayName": "Result 
Header", "group": "advanced", "label": "advanced", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configuration", "description": "Store the operation 
result in a header instead of the message body. By default,  [...]
+    "password": { "index": 28, "kind": "parameter", "displayName": "Password", 
"group": "security", "label": "common,security", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": true, "configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configuration", "description": "Define the password to 
access the infinispan instance" },
+    "saslMechanism": { "index": 29, "kind": "parameter", "displayName": "Sasl 
Mechanism", "group": "security", "label": "common,security", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configuration", "description": "Define the SASL 
Mechanism to access the infinispan instance" },
+    "secure": { "index": 30, "kind": "parameter", "displayName": "Secure", 
"group": "security", "label": "common,security", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configuration", "description": "Define if we are 
connecting to a secured Infinispan instance" },
+    "securityRealm": { "index": 31, "kind": "parameter", "displayName": 
"Security Realm", "group": "security", "label": "common,security", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configuration", "description": "Define the security 
realm to access the infinispan instance" },
+    "securityServerName": { "index": 32, "kind": "parameter", "displayName": 
"Security Server Name", "group": "security", "label": "common,security", 
"required": false, "type": "string", "javaType": "java.lang.String", 
"deprecated": false, "autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configuration", "description": "Define the security 
server name to access the infinispan ins [...]
+    "username": { "index": 33, "kind": "parameter", "displayName": "Username", 
"group": "security", "label": "common,security", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configuration", "description": "Define the username to 
access the infinispan instance" }
   }
 }
diff --git 
a/components/camel-infinispan/camel-infinispan/src/generated/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteComponentConfigurer.java
 
b/components/camel-infinispan/camel-infinispan/src/generated/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteComponentConfigurer.java
index 0e5b80bd5c9b..75d6b4a61974 100644
--- 
a/components/camel-infinispan/camel-infinispan/src/generated/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteComponentConfigurer.java
+++ 
b/components/camel-infinispan/camel-infinispan/src/generated/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteComponentConfigurer.java
@@ -55,6 +55,8 @@ public class InfinispanRemoteComponentConfigurer extends 
PropertyConfigurerSuppo
         case "embeddingStoreEnabled": 
getOrCreateConfiguration(target).setEmbeddingStoreEnabled(property(camelContext,
 boolean.class, value)); return true;
         case "embeddingstoreregisterschema":
         case "embeddingStoreRegisterSchema": 
getOrCreateConfiguration(target).setEmbeddingStoreRegisterSchema(property(camelContext,
 boolean.class, value)); return true;
+        case "embeddingstoreschemaregistrationtimeout":
+        case "embeddingStoreSchemaRegistrationTimeout": 
getOrCreateConfiguration(target).setEmbeddingStoreSchemaRegistrationTimeout(property(camelContext,
 java.time.Duration.class, value)); return true;
         case "embeddingstoretypename":
         case "embeddingStoreTypeName": 
getOrCreateConfiguration(target).setEmbeddingStoreTypeName(property(camelContext,
 java.lang.String.class, value)); return true;
         case "embeddingstorevectorsimilarity":
@@ -122,6 +124,8 @@ public class InfinispanRemoteComponentConfigurer extends 
PropertyConfigurerSuppo
         case "embeddingStoreEnabled": return boolean.class;
         case "embeddingstoreregisterschema":
         case "embeddingStoreRegisterSchema": return boolean.class;
+        case "embeddingstoreschemaregistrationtimeout":
+        case "embeddingStoreSchemaRegistrationTimeout": return 
java.time.Duration.class;
         case "embeddingstoretypename":
         case "embeddingStoreTypeName": return java.lang.String.class;
         case "embeddingstorevectorsimilarity":
@@ -185,6 +189,8 @@ public class InfinispanRemoteComponentConfigurer extends 
PropertyConfigurerSuppo
         case "embeddingStoreEnabled": return 
getOrCreateConfiguration(target).isEmbeddingStoreEnabled();
         case "embeddingstoreregisterschema":
         case "embeddingStoreRegisterSchema": return 
getOrCreateConfiguration(target).isEmbeddingStoreRegisterSchema();
+        case "embeddingstoreschemaregistrationtimeout":
+        case "embeddingStoreSchemaRegistrationTimeout": return 
getOrCreateConfiguration(target).getEmbeddingStoreSchemaRegistrationTimeout();
         case "embeddingstoretypename":
         case "embeddingStoreTypeName": return 
getOrCreateConfiguration(target).getEmbeddingStoreTypeName();
         case "embeddingstorevectorsimilarity":
diff --git 
a/components/camel-infinispan/camel-infinispan/src/generated/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteEndpointConfigurer.java
 
b/components/camel-infinispan/camel-infinispan/src/generated/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteEndpointConfigurer.java
index 89f89820cd62..f2d81c1b19c8 100644
--- 
a/components/camel-infinispan/camel-infinispan/src/generated/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteEndpointConfigurer.java
+++ 
b/components/camel-infinispan/camel-infinispan/src/generated/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteEndpointConfigurer.java
@@ -45,6 +45,8 @@ public class InfinispanRemoteEndpointConfigurer extends 
PropertyConfigurerSuppor
         case "embeddingStoreEnabled": 
target.getConfiguration().setEmbeddingStoreEnabled(property(camelContext, 
boolean.class, value)); return true;
         case "embeddingstoreregisterschema":
         case "embeddingStoreRegisterSchema": 
target.getConfiguration().setEmbeddingStoreRegisterSchema(property(camelContext,
 boolean.class, value)); return true;
+        case "embeddingstoreschemaregistrationtimeout":
+        case "embeddingStoreSchemaRegistrationTimeout": 
target.getConfiguration().setEmbeddingStoreSchemaRegistrationTimeout(property(camelContext,
 java.time.Duration.class, value)); return true;
         case "embeddingstoretypename":
         case "embeddingStoreTypeName": 
target.getConfiguration().setEmbeddingStoreTypeName(property(camelContext, 
java.lang.String.class, value)); return true;
         case "embeddingstorevectorsimilarity":
@@ -113,6 +115,8 @@ public class InfinispanRemoteEndpointConfigurer extends 
PropertyConfigurerSuppor
         case "embeddingStoreEnabled": return boolean.class;
         case "embeddingstoreregisterschema":
         case "embeddingStoreRegisterSchema": return boolean.class;
+        case "embeddingstoreschemaregistrationtimeout":
+        case "embeddingStoreSchemaRegistrationTimeout": return 
java.time.Duration.class;
         case "embeddingstoretypename":
         case "embeddingStoreTypeName": return java.lang.String.class;
         case "embeddingstorevectorsimilarity":
@@ -177,6 +181,8 @@ public class InfinispanRemoteEndpointConfigurer extends 
PropertyConfigurerSuppor
         case "embeddingStoreEnabled": return 
target.getConfiguration().isEmbeddingStoreEnabled();
         case "embeddingstoreregisterschema":
         case "embeddingStoreRegisterSchema": return 
target.getConfiguration().isEmbeddingStoreRegisterSchema();
+        case "embeddingstoreschemaregistrationtimeout":
+        case "embeddingStoreSchemaRegistrationTimeout": return 
target.getConfiguration().getEmbeddingStoreSchemaRegistrationTimeout();
         case "embeddingstoretypename":
         case "embeddingStoreTypeName": return 
target.getConfiguration().getEmbeddingStoreTypeName();
         case "embeddingstorevectorsimilarity":
diff --git 
a/components/camel-infinispan/camel-infinispan/src/generated/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteEndpointUriFactory.java
 
b/components/camel-infinispan/camel-infinispan/src/generated/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteEndpointUriFactory.java
index 60a09b3899bd..7323219dda3e 100644
--- 
a/components/camel-infinispan/camel-infinispan/src/generated/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteEndpointUriFactory.java
+++ 
b/components/camel-infinispan/camel-infinispan/src/generated/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteEndpointUriFactory.java
@@ -23,7 +23,7 @@ public class InfinispanRemoteEndpointUriFactory extends 
org.apache.camel.support
     private static final Set<String> SECRET_PROPERTY_NAMES;
     private static final Map<String, String> MULTI_VALUE_PREFIXES;
     static {
-        Set<String> props = new HashSet<>(33);
+        Set<String> props = new HashSet<>(34);
         props.add("bridgeErrorHandler");
         props.add("cacheContainer");
         props.add("cacheContainerConfiguration");
@@ -36,6 +36,7 @@ public class InfinispanRemoteEndpointUriFactory extends 
org.apache.camel.support
         props.add("embeddingStoreDistance");
         props.add("embeddingStoreEnabled");
         props.add("embeddingStoreRegisterSchema");
+        props.add("embeddingStoreSchemaRegistrationTimeout");
         props.add("embeddingStoreTypeName");
         props.add("embeddingStoreVectorSimilarity");
         props.add("eventTypes");
diff --git 
a/components/camel-infinispan/camel-infinispan/src/generated/resources/META-INF/org/apache/camel/component/infinispan/remote/infinispan.json
 
b/components/camel-infinispan/camel-infinispan/src/generated/resources/META-INF/org/apache/camel/component/infinispan/remote/infinispan.json
index d8578d7a476c..a86475d95bf5 100644
--- 
a/components/camel-infinispan/camel-infinispan/src/generated/resources/META-INF/org/apache/camel/component/infinispan/remote/infinispan.json
+++ 
b/components/camel-infinispan/camel-infinispan/src/generated/resources/META-INF/org/apache/camel/component/infinispan/remote/infinispan.json
@@ -40,22 +40,23 @@
     "embeddingStoreDistance": { "index": 13, "kind": "property", 
"displayName": "Embedding Store Distance", "group": "producer (advanced)", 
"label": "producer,advanced", "required": false, "type": "integer", "javaType": 
"int", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": 3, "configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configuration", "description": "The distance to use for 
kNN searc [...]
     "embeddingStoreEnabled": { "index": 14, "kind": "property", "displayName": 
"Embedding Store Enabled", "group": "producer (advanced)", "label": 
"producer,advanced", "required": false, "type": "boolean", "javaType": 
"boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": true, "configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configuration", "description": "Whether to enable the 
embedd [...]
     "embeddingStoreRegisterSchema": { "index": 15, "kind": "property", 
"displayName": "Embedding Store Register Schema", "group": "producer 
(advanced)", "label": "producer,advanced", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": true, "configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configuration", "description": "Whether to au [...]
-    "embeddingStoreTypeName": { "index": 16, "kind": "property", 
"displayName": "Embedding Store Type Name", "group": "producer (advanced)", 
"label": "producer,advanced", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "autowired": false, "secret": false, 
"configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configuration", "description": "The name of the type 
used to store embe [...]
-    "embeddingStoreVectorSimilarity": { "index": 17, "kind": "property", 
"displayName": "Embedding Store Vector Similarity", "group": "producer 
(advanced)", "label": "producer,advanced", "required": false, "type": "enum", 
"javaType": "org.infinispan.api.annotations.indexing.option.VectorSimilarity", 
"enum": [ "L2", "INNER_PRODUCT", "MAX_INNER_PRODUCT", "COSINE" ], "deprecated": 
false, "autowired": false, "secret": false, "defaultValue": "COSINE", 
"configurationClass": "org.apache.camel.c [...]
-    "autowiredEnabled": { "index": 18, "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  [...]
-    "cacheContainer": { "index": 19, "kind": "property", "displayName": "Cache 
Container", "group": "advanced", "label": "advanced", "required": false, 
"type": "object", "javaType": 
"org.infinispan.client.hotrod.RemoteCacheManager", "deprecated": false, 
"deprecationNote": "", "autowired": true, "secret": false, 
"configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configuration", "description": "Specifies the cache Cont 
[...]
-    "cacheContainerConfiguration": { "index": 20, "kind": "property", 
"displayName": "Cache Container Configuration", "group": "advanced", "label": 
"advanced", "required": false, "type": "object", "javaType": 
"org.infinispan.client.hotrod.configuration.Configuration", "deprecated": 
false, "deprecationNote": "", "autowired": true, "secret": false, 
"configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configuration", "des [...]
-    "configurationProperties": { "index": 21, "kind": "property", 
"displayName": "Configuration Properties", "group": "advanced", "label": 
"advanced", "required": false, "type": "object", "javaType": 
"java.util.Map<java.lang.String, java.lang.String>", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configuration", "description": "Implementation specific 
pr [...]
-    "configurationUri": { "index": 22, "kind": "property", "displayName": 
"Configuration Uri", "group": "advanced", "label": "advanced", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, 
"supportFileReference": true, "configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configuration", "description": "An implementation sp 
[...]
-    "flags": { "index": 23, "kind": "property", "displayName": "Flags", 
"group": "advanced", "label": "advanced", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configuration", "description": "A comma separated list 
of org.infinispan.client.hotrod.Flag to be applied by default on each cac [...]
-    "remappingFunction": { "index": 24, "kind": "property", "displayName": 
"Remapping Function", "group": "advanced", "label": "advanced", "required": 
false, "type": "object", "javaType": "java.util.function.BiFunction", 
"deprecated": false, "autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configuration", "description": "Set a specific 
remappingFunction to use in a compute opera [...]
-    "resultHeader": { "index": 25, "kind": "property", "displayName": "Result 
Header", "group": "advanced", "label": "advanced", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configuration", "description": "Store the operation 
result in a header instead of the message body. By default, r [...]
-    "password": { "index": 26, "kind": "property", "displayName": "Password", 
"group": "security", "label": "common,security", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": true, "configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configuration", "description": "Define the password to 
access the infinispan instance" },
-    "saslMechanism": { "index": 27, "kind": "property", "displayName": "Sasl 
Mechanism", "group": "security", "label": "common,security", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configuration", "description": "Define the SASL 
Mechanism to access the infinispan instance" },
-    "secure": { "index": 28, "kind": "property", "displayName": "Secure", 
"group": "security", "label": "common,security", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configuration", "description": "Define if we are 
connecting to a secured Infinispan instance" },
-    "securityRealm": { "index": 29, "kind": "property", "displayName": 
"Security Realm", "group": "security", "label": "common,security", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configuration", "description": "Define the security 
realm to access the infinispan instance" },
-    "securityServerName": { "index": 30, "kind": "property", "displayName": 
"Security Server Name", "group": "security", "label": "common,security", 
"required": false, "type": "string", "javaType": "java.lang.String", 
"deprecated": false, "autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configuration", "description": "Define the security 
server name to access the infinispan inst [...]
-    "username": { "index": 31, "kind": "property", "displayName": "Username", 
"group": "security", "label": "common,security", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configuration", "description": "Define the username to 
access the infinispan instance" }
+    "embeddingStoreSchemaRegistrationTimeout": { "index": 16, "kind": 
"property", "displayName": "Embedding Store Schema Registration Timeout", 
"group": "producer (advanced)", "label": "producer,advanced", "required": 
false, "type": "duration", "javaType": "java.time.Duration", "deprecated": 
false, "autowired": false, "secret": false, "defaultValue": "60s", 
"configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configura [...]
+    "embeddingStoreTypeName": { "index": 17, "kind": "property", 
"displayName": "Embedding Store Type Name", "group": "producer (advanced)", 
"label": "producer,advanced", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "autowired": false, "secret": false, 
"configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configuration", "description": "The name of the type 
used to store embe [...]
+    "embeddingStoreVectorSimilarity": { "index": 18, "kind": "property", 
"displayName": "Embedding Store Vector Similarity", "group": "producer 
(advanced)", "label": "producer,advanced", "required": false, "type": "enum", 
"javaType": "org.infinispan.api.annotations.indexing.option.VectorSimilarity", 
"enum": [ "L2", "INNER_PRODUCT", "MAX_INNER_PRODUCT", "COSINE" ], "deprecated": 
false, "autowired": false, "secret": false, "defaultValue": "COSINE", 
"configurationClass": "org.apache.camel.c [...]
+    "autowiredEnabled": { "index": 19, "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  [...]
+    "cacheContainer": { "index": 20, "kind": "property", "displayName": "Cache 
Container", "group": "advanced", "label": "advanced", "required": false, 
"type": "object", "javaType": 
"org.infinispan.client.hotrod.RemoteCacheManager", "deprecated": false, 
"deprecationNote": "", "autowired": true, "secret": false, 
"configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configuration", "description": "Specifies the cache Cont 
[...]
+    "cacheContainerConfiguration": { "index": 21, "kind": "property", 
"displayName": "Cache Container Configuration", "group": "advanced", "label": 
"advanced", "required": false, "type": "object", "javaType": 
"org.infinispan.client.hotrod.configuration.Configuration", "deprecated": 
false, "deprecationNote": "", "autowired": true, "secret": false, 
"configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configuration", "des [...]
+    "configurationProperties": { "index": 22, "kind": "property", 
"displayName": "Configuration Properties", "group": "advanced", "label": 
"advanced", "required": false, "type": "object", "javaType": 
"java.util.Map<java.lang.String, java.lang.String>", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configuration", "description": "Implementation specific 
pr [...]
+    "configurationUri": { "index": 23, "kind": "property", "displayName": 
"Configuration Uri", "group": "advanced", "label": "advanced", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, 
"supportFileReference": true, "configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configuration", "description": "An implementation sp 
[...]
+    "flags": { "index": 24, "kind": "property", "displayName": "Flags", 
"group": "advanced", "label": "advanced", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configuration", "description": "A comma separated list 
of org.infinispan.client.hotrod.Flag to be applied by default on each cac [...]
+    "remappingFunction": { "index": 25, "kind": "property", "displayName": 
"Remapping Function", "group": "advanced", "label": "advanced", "required": 
false, "type": "object", "javaType": "java.util.function.BiFunction", 
"deprecated": false, "autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configuration", "description": "Set a specific 
remappingFunction to use in a compute opera [...]
+    "resultHeader": { "index": 26, "kind": "property", "displayName": "Result 
Header", "group": "advanced", "label": "advanced", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configuration", "description": "Store the operation 
result in a header instead of the message body. By default, r [...]
+    "password": { "index": 27, "kind": "property", "displayName": "Password", 
"group": "security", "label": "common,security", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": true, "configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configuration", "description": "Define the password to 
access the infinispan instance" },
+    "saslMechanism": { "index": 28, "kind": "property", "displayName": "Sasl 
Mechanism", "group": "security", "label": "common,security", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configuration", "description": "Define the SASL 
Mechanism to access the infinispan instance" },
+    "secure": { "index": 29, "kind": "property", "displayName": "Secure", 
"group": "security", "label": "common,security", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configuration", "description": "Define if we are 
connecting to a secured Infinispan instance" },
+    "securityRealm": { "index": 30, "kind": "property", "displayName": 
"Security Realm", "group": "security", "label": "common,security", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configuration", "description": "Define the security 
realm to access the infinispan instance" },
+    "securityServerName": { "index": 31, "kind": "property", "displayName": 
"Security Server Name", "group": "security", "label": "common,security", 
"required": false, "type": "string", "javaType": "java.lang.String", 
"deprecated": false, "autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configuration", "description": "Define the security 
server name to access the infinispan inst [...]
+    "username": { "index": 32, "kind": "property", "displayName": "Username", 
"group": "security", "label": "common,security", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configuration", "description": "Define the username to 
access the infinispan instance" }
   },
   "headers": {
     "CamelInfinispanEventType": { "index": 0, "kind": "header", "displayName": 
"", "group": "consumer", "label": "consumer", "required": false, "javaType": 
"String", "deprecated": false, "deprecationNote": "", "autowired": false, 
"secret": false, "description": "The type of the received event.", 
"constantName": 
"org.apache.camel.component.infinispan.InfinispanConstants#EVENT_TYPE" },
@@ -95,21 +96,22 @@
     "embeddingStoreDistance": { "index": 14, "kind": "parameter", 
"displayName": "Embedding Store Distance", "group": "producer (advanced)", 
"label": "producer,advanced", "required": false, "type": "integer", "javaType": 
"int", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": 3, "configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configuration", "description": "The distance to use for 
kNN sear [...]
     "embeddingStoreEnabled": { "index": 15, "kind": "parameter", 
"displayName": "Embedding Store Enabled", "group": "producer (advanced)", 
"label": "producer,advanced", "required": false, "type": "boolean", "javaType": 
"boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": true, "configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configuration", "description": "Whether to enable the 
embed [...]
     "embeddingStoreRegisterSchema": { "index": 16, "kind": "parameter", 
"displayName": "Embedding Store Register Schema", "group": "producer 
(advanced)", "label": "producer,advanced", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": true, "configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configuration", "description": "Whether to a [...]
-    "embeddingStoreTypeName": { "index": 17, "kind": "parameter", 
"displayName": "Embedding Store Type Name", "group": "producer (advanced)", 
"label": "producer,advanced", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "autowired": false, "secret": false, 
"configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configuration", "description": "The name of the type 
used to store emb [...]
-    "embeddingStoreVectorSimilarity": { "index": 18, "kind": "parameter", 
"displayName": "Embedding Store Vector Similarity", "group": "producer 
(advanced)", "label": "producer,advanced", "required": false, "type": "enum", 
"javaType": "org.infinispan.api.annotations.indexing.option.VectorSimilarity", 
"enum": [ "L2", "INNER_PRODUCT", "MAX_INNER_PRODUCT", "COSINE" ], "deprecated": 
false, "autowired": false, "secret": false, "defaultValue": "COSINE", 
"configurationClass": "org.apache.camel. [...]
-    "lazyStartProducer": { "index": 19, "kind": "parameter", "displayName": 
"Lazy Start Producer", "group": "producer (advanced)", "label": 
"producer,advanced", "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 produ [...]
-    "cacheContainer": { "index": 20, "kind": "parameter", "displayName": 
"Cache Container", "group": "advanced", "label": "advanced", "required": false, 
"type": "object", "javaType": 
"org.infinispan.client.hotrod.RemoteCacheManager", "deprecated": false, 
"deprecationNote": "", "autowired": true, "secret": false, 
"configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configuration", "description": "Specifies the cache Con 
[...]
-    "cacheContainerConfiguration": { "index": 21, "kind": "parameter", 
"displayName": "Cache Container Configuration", "group": "advanced", "label": 
"advanced", "required": false, "type": "object", "javaType": 
"org.infinispan.client.hotrod.configuration.Configuration", "deprecated": 
false, "deprecationNote": "", "autowired": true, "secret": false, 
"configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configuration", "de [...]
-    "configurationProperties": { "index": 22, "kind": "parameter", 
"displayName": "Configuration Properties", "group": "advanced", "label": 
"advanced", "required": false, "type": "object", "javaType": 
"java.util.Map<java.lang.String, java.lang.String>", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configuration", "description": "Implementation specific 
p [...]
-    "configurationUri": { "index": 23, "kind": "parameter", "displayName": 
"Configuration Uri", "group": "advanced", "label": "advanced", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, 
"supportFileReference": true, "configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configuration", "description": "An implementation s [...]
-    "flags": { "index": 24, "kind": "parameter", "displayName": "Flags", 
"group": "advanced", "label": "advanced", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configuration", "description": "A comma separated list 
of org.infinispan.client.hotrod.Flag to be applied by default on each ca [...]
-    "remappingFunction": { "index": 25, "kind": "parameter", "displayName": 
"Remapping Function", "group": "advanced", "label": "advanced", "required": 
false, "type": "object", "javaType": "java.util.function.BiFunction", 
"deprecated": false, "autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configuration", "description": "Set a specific 
remappingFunction to use in a compute oper [...]
-    "resultHeader": { "index": 26, "kind": "parameter", "displayName": "Result 
Header", "group": "advanced", "label": "advanced", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configuration", "description": "Store the operation 
result in a header instead of the message body. By default,  [...]
-    "password": { "index": 27, "kind": "parameter", "displayName": "Password", 
"group": "security", "label": "common,security", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": true, "configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configuration", "description": "Define the password to 
access the infinispan instance" },
-    "saslMechanism": { "index": 28, "kind": "parameter", "displayName": "Sasl 
Mechanism", "group": "security", "label": "common,security", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configuration", "description": "Define the SASL 
Mechanism to access the infinispan instance" },
-    "secure": { "index": 29, "kind": "parameter", "displayName": "Secure", 
"group": "security", "label": "common,security", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configuration", "description": "Define if we are 
connecting to a secured Infinispan instance" },
-    "securityRealm": { "index": 30, "kind": "parameter", "displayName": 
"Security Realm", "group": "security", "label": "common,security", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configuration", "description": "Define the security 
realm to access the infinispan instance" },
-    "securityServerName": { "index": 31, "kind": "parameter", "displayName": 
"Security Server Name", "group": "security", "label": "common,security", 
"required": false, "type": "string", "javaType": "java.lang.String", 
"deprecated": false, "autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configuration", "description": "Define the security 
server name to access the infinispan ins [...]
-    "username": { "index": 32, "kind": "parameter", "displayName": "Username", 
"group": "security", "label": "common,security", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configuration", "description": "Define the username to 
access the infinispan instance" }
+    "embeddingStoreSchemaRegistrationTimeout": { "index": 17, "kind": 
"parameter", "displayName": "Embedding Store Schema Registration Timeout", 
"group": "producer (advanced)", "label": "producer,advanced", "required": 
false, "type": "duration", "javaType": "java.time.Duration", "deprecated": 
false, "autowired": false, "secret": false, "defaultValue": "60s", 
"configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configur [...]
+    "embeddingStoreTypeName": { "index": 18, "kind": "parameter", 
"displayName": "Embedding Store Type Name", "group": "producer (advanced)", 
"label": "producer,advanced", "required": false, "type": "string", "javaType": 
"java.lang.String", "deprecated": false, "autowired": false, "secret": false, 
"configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configuration", "description": "The name of the type 
used to store emb [...]
+    "embeddingStoreVectorSimilarity": { "index": 19, "kind": "parameter", 
"displayName": "Embedding Store Vector Similarity", "group": "producer 
(advanced)", "label": "producer,advanced", "required": false, "type": "enum", 
"javaType": "org.infinispan.api.annotations.indexing.option.VectorSimilarity", 
"enum": [ "L2", "INNER_PRODUCT", "MAX_INNER_PRODUCT", "COSINE" ], "deprecated": 
false, "autowired": false, "secret": false, "defaultValue": "COSINE", 
"configurationClass": "org.apache.camel. [...]
+    "lazyStartProducer": { "index": 20, "kind": "parameter", "displayName": 
"Lazy Start Producer", "group": "producer (advanced)", "label": 
"producer,advanced", "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 produ [...]
+    "cacheContainer": { "index": 21, "kind": "parameter", "displayName": 
"Cache Container", "group": "advanced", "label": "advanced", "required": false, 
"type": "object", "javaType": 
"org.infinispan.client.hotrod.RemoteCacheManager", "deprecated": false, 
"deprecationNote": "", "autowired": true, "secret": false, 
"configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configuration", "description": "Specifies the cache Con 
[...]
+    "cacheContainerConfiguration": { "index": 22, "kind": "parameter", 
"displayName": "Cache Container Configuration", "group": "advanced", "label": 
"advanced", "required": false, "type": "object", "javaType": 
"org.infinispan.client.hotrod.configuration.Configuration", "deprecated": 
false, "deprecationNote": "", "autowired": true, "secret": false, 
"configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configuration", "de [...]
+    "configurationProperties": { "index": 23, "kind": "parameter", 
"displayName": "Configuration Properties", "group": "advanced", "label": 
"advanced", "required": false, "type": "object", "javaType": 
"java.util.Map<java.lang.String, java.lang.String>", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configuration", "description": "Implementation specific 
p [...]
+    "configurationUri": { "index": 24, "kind": "parameter", "displayName": 
"Configuration Uri", "group": "advanced", "label": "advanced", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"deprecationNote": "", "autowired": false, "secret": false, 
"supportFileReference": true, "configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configuration", "description": "An implementation s [...]
+    "flags": { "index": 25, "kind": "parameter", "displayName": "Flags", 
"group": "advanced", "label": "advanced", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configuration", "description": "A comma separated list 
of org.infinispan.client.hotrod.Flag to be applied by default on each ca [...]
+    "remappingFunction": { "index": 26, "kind": "parameter", "displayName": 
"Remapping Function", "group": "advanced", "label": "advanced", "required": 
false, "type": "object", "javaType": "java.util.function.BiFunction", 
"deprecated": false, "autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configuration", "description": "Set a specific 
remappingFunction to use in a compute oper [...]
+    "resultHeader": { "index": 27, "kind": "parameter", "displayName": "Result 
Header", "group": "advanced", "label": "advanced", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configuration", "description": "Store the operation 
result in a header instead of the message body. By default,  [...]
+    "password": { "index": 28, "kind": "parameter", "displayName": "Password", 
"group": "security", "label": "common,security", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": true, "configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configuration", "description": "Define the password to 
access the infinispan instance" },
+    "saslMechanism": { "index": 29, "kind": "parameter", "displayName": "Sasl 
Mechanism", "group": "security", "label": "common,security", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configuration", "description": "Define the SASL 
Mechanism to access the infinispan instance" },
+    "secure": { "index": 30, "kind": "parameter", "displayName": "Secure", 
"group": "security", "label": "common,security", "required": false, "type": 
"boolean", "javaType": "boolean", "deprecated": false, "autowired": false, 
"secret": false, "defaultValue": false, "configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configuration", "description": "Define if we are 
connecting to a secured Infinispan instance" },
+    "securityRealm": { "index": 31, "kind": "parameter", "displayName": 
"Security Realm", "group": "security", "label": "common,security", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configuration", "description": "Define the security 
realm to access the infinispan instance" },
+    "securityServerName": { "index": 32, "kind": "parameter", "displayName": 
"Security Server Name", "group": "security", "label": "common,security", 
"required": false, "type": "string", "javaType": "java.lang.String", 
"deprecated": false, "autowired": false, "secret": false, "configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configuration", "description": "Define the security 
server name to access the infinispan ins [...]
+    "username": { "index": 33, "kind": "parameter", "displayName": "Username", 
"group": "security", "label": "common,security", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "configurationClass": 
"org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", 
"configurationField": "configuration", "description": "Define the username to 
access the infinispan instance" }
   }
 }
diff --git 
a/components/camel-infinispan/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteConfiguration.java
 
b/components/camel-infinispan/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteConfiguration.java
index 8daacb553a33..483de83d4851 100644
--- 
a/components/camel-infinispan/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteConfiguration.java
+++ 
b/components/camel-infinispan/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteConfiguration.java
@@ -16,6 +16,7 @@
  */
 package org.apache.camel.component.infinispan.remote;
 
+import java.time.Duration;
 import java.util.HashMap;
 import java.util.Map;
 
@@ -71,6 +72,10 @@ public class InfinispanRemoteConfiguration extends 
InfinispanConfiguration imple
     private int embeddingStoreDistance = 3;
     @UriParam(label = "producer,advanced")
     private String embeddingStoreTypeName;
+    @UriParam(label = "producer,advanced", defaultValue = "60s", javaType = 
"java.time.Duration",
+              description = "Maximum time to wait for the Infinispan server to 
be ready when registering the embedding store schema."
+                            + " This handles the case where Camel and the 
Infinispan server start concurrently.")
+    private Duration embeddingStoreSchemaRegistrationTimeout = 
Duration.ofSeconds(60);
 
     public Configuration getCacheContainerConfiguration() {
         return cacheContainerConfiguration;
@@ -316,6 +321,19 @@ public class InfinispanRemoteConfiguration extends 
InfinispanConfiguration imple
         return embeddingStoreTypeName;
     }
 
+    public Duration getEmbeddingStoreSchemaRegistrationTimeout() {
+        return embeddingStoreSchemaRegistrationTimeout;
+    }
+
+    /**
+     * Maximum time to wait for the Infinispan server to be ready when 
registering the embedding store schema. This
+     * handles the case where Camel and the Infinispan server start 
concurrently (e.g., in Kubernetes). The server's
+     * internal protobuf metadata cache may not be available immediately.
+     */
+    public void setEmbeddingStoreSchemaRegistrationTimeout(Duration 
embeddingStoreSchemaRegistrationTimeout) {
+        this.embeddingStoreSchemaRegistrationTimeout = 
embeddingStoreSchemaRegistrationTimeout;
+    }
+
     @Override
     public InfinispanRemoteConfiguration clone() {
         try {
diff --git 
a/components/camel-infinispan/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteManager.java
 
b/components/camel-infinispan/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteManager.java
index dc87c45ad31e..71d42a55d1be 100644
--- 
a/components/camel-infinispan/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteManager.java
+++ 
b/components/camel-infinispan/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteManager.java
@@ -16,6 +16,7 @@
  */
 package org.apache.camel.component.infinispan.remote;
 
+import java.time.Duration;
 import java.util.Properties;
 import java.util.Set;
 
@@ -24,16 +25,24 @@ import 
org.apache.camel.component.infinispan.InfinispanManager;
 import org.apache.camel.component.infinispan.InfinispanUtil;
 import 
org.apache.camel.component.infinispan.remote.embeddingstore.EmbeddingStoreUtil;
 import org.apache.camel.support.service.ServiceSupport;
+import org.apache.camel.support.task.ForegroundTask;
+import org.apache.camel.support.task.Tasks;
+import org.apache.camel.support.task.budget.Budgets;
 import org.apache.camel.util.ObjectHelper;
 import org.infinispan.client.hotrod.RemoteCache;
 import org.infinispan.client.hotrod.RemoteCacheManager;
 import org.infinispan.client.hotrod.configuration.Configuration;
 import org.infinispan.client.hotrod.configuration.ConfigurationBuilder;
+import 
org.infinispan.client.hotrod.exceptions.RemoteIllegalLifecycleStateException;
 import org.infinispan.commons.api.BasicCache;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import static 
org.apache.camel.component.infinispan.InfinispanConstants.CACHE_MANAGER_CURRENT;
 
 public class InfinispanRemoteManager extends ServiceSupport implements 
InfinispanManager<RemoteCacheManager> {
+    private static final Logger LOG = 
LoggerFactory.getLogger(InfinispanRemoteManager.class);
+
     private final InfinispanRemoteConfiguration configuration;
     private CamelContext camelContext;
     private RemoteCacheManager cacheContainer;
@@ -127,7 +136,46 @@ public class InfinispanRemoteManager extends 
ServiceSupport implements Infinispa
         }
 
         if (embeddingStoreEnabled && 
configuration.isEmbeddingStoreRegisterSchema()) {
-            EmbeddingStoreUtil.registerSchema(configuration, cacheContainer);
+            registerSchemaWithRetry();
+        }
+    }
+
+    /**
+     * Registers the embedding store schema with retry logic to handle the 
case where Camel and the remote Infinispan
+     * server start up concurrently (e.g., in Kubernetes). The server's 
internal {@code ___protobuf_metadata} cache may
+     * not be ready yet, causing a {@link 
RemoteIllegalLifecycleStateException}.
+     */
+    private void registerSchemaWithRetry() throws Exception {
+        Duration timeout = 
configuration.getEmbeddingStoreSchemaRegistrationTimeout();
+        ForegroundTask task = Tasks.foregroundTask()
+                .withName("infinispan-schema-registration")
+                .withBudget(Budgets.iterationTimeBudget()
+                        .withInterval(Duration.ofSeconds(1))
+                        .withMaxDuration(timeout)
+                        .build())
+                .build();
+
+        final boolean[] firstAttempt = { true };
+        boolean registered = task.run(camelContext, () -> {
+            try {
+                EmbeddingStoreUtil.registerSchema(configuration, 
cacheContainer);
+                return true;
+            } catch (RemoteIllegalLifecycleStateException e) {
+                if (firstAttempt[0]) {
+                    firstAttempt[0] = false;
+                    LOG.info("Infinispan server not ready for schema 
registration, will retry for up to {}: {}",
+                            timeout, e.getMessage());
+                } else {
+                    LOG.debug("Schema registration failed (server not ready), 
retrying: {}", e.getMessage());
+                }
+                return false;
+            }
+        });
+
+        if (!registered) {
+            throw new IllegalStateException(
+                    "Failed to register Infinispan schema after " + timeout
+                                            + " of retries. The server may not 
be fully started.");
         }
     }
 
diff --git 
a/components/camel-infinispan/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteSchemaRegistrationRetryTest.java
 
b/components/camel-infinispan/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteSchemaRegistrationRetryTest.java
new file mode 100644
index 000000000000..165d519d775e
--- /dev/null
+++ 
b/components/camel-infinispan/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteSchemaRegistrationRetryTest.java
@@ -0,0 +1,113 @@
+/*
+ * 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.infinispan.remote;
+
+import java.time.Duration;
+import java.util.concurrent.atomic.AtomicInteger;
+
+import org.apache.camel.support.task.ForegroundTask;
+import org.apache.camel.support.task.Tasks;
+import org.apache.camel.support.task.budget.Budgets;
+import 
org.infinispan.client.hotrod.exceptions.RemoteIllegalLifecycleStateException;
+import org.junit.jupiter.api.Test;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertThrows;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+
+/**
+ * Tests the retry pattern used by {@link InfinispanRemoteManager} for schema 
registration when the Infinispan server is
+ * not yet ready.
+ */
+class InfinispanRemoteSchemaRegistrationRetryTest {
+
+    /**
+     * Simulates the retry pattern from {@code registerSchemaWithRetry()}: 
catches
+     * {@link RemoteIllegalLifecycleStateException} and returns false, 
succeeds on subsequent attempt.
+     */
+    @Test
+    void retrySucceedsAfterTransientLifecycleFailures() {
+        AtomicInteger attempts = new AtomicInteger();
+        int failCount = 3;
+
+        ForegroundTask task = Tasks.foregroundTask()
+                .withName("infinispan-schema-registration")
+                .withBudget(Budgets.iterationTimeBudget()
+                        .withInterval(Duration.ofMillis(50))
+                        .withMaxDuration(Duration.ofSeconds(5))
+                        .build())
+                .build();
+
+        boolean registered = task.run(null, () -> {
+            try {
+                if (attempts.incrementAndGet() <= failCount) {
+                    throw new RemoteIllegalLifecycleStateException("Server not 
ready", 0, (short) 0, null);
+                }
+                return true;
+            } catch (RemoteIllegalLifecycleStateException e) {
+                return false;
+            }
+        });
+
+        assertTrue(registered);
+        assertEquals(failCount + 1, attempts.get());
+    }
+
+    @Test
+    void retryExhaustedWhenServerNeverBecomesReady() {
+        ForegroundTask task = Tasks.foregroundTask()
+                .withName("infinispan-schema-registration")
+                .withBudget(Budgets.iterationTimeBudget()
+                        .withInterval(Duration.ofMillis(50))
+                        .withMaxDuration(Duration.ofMillis(200))
+                        .build())
+                .build();
+
+        boolean registered = task.run(null, () -> {
+            try {
+                throw new RemoteIllegalLifecycleStateException("Server not 
ready", 0, (short) 0, null);
+            } catch (RemoteIllegalLifecycleStateException e) {
+                return false;
+            }
+        });
+
+        assertFalse(registered);
+    }
+
+    @Test
+    void nonLifecycleExceptionPropagatesImmediately() {
+        AtomicInteger attempts = new AtomicInteger();
+
+        ForegroundTask task = Tasks.foregroundTask()
+                .withName("infinispan-schema-registration")
+                .withBudget(Budgets.iterationTimeBudget()
+                        .withInterval(Duration.ofMillis(50))
+                        .withMaxDuration(Duration.ofSeconds(5))
+                        .build())
+                .build();
+
+        assertThrows(RuntimeException.class, () -> {
+            task.run(null, () -> {
+                attempts.incrementAndGet();
+                throw new RuntimeException("Auth failure");
+            });
+        });
+
+        assertEquals(1, attempts.get());
+    }
+}
diff --git 
a/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/InfinispanComponentBuilderFactory.java
 
b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/InfinispanComponentBuilderFactory.java
index 5390ffc67fd8..a876ef1b8b2f 100644
--- 
a/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/InfinispanComponentBuilderFactory.java
+++ 
b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/InfinispanComponentBuilderFactory.java
@@ -339,6 +339,25 @@ public interface InfinispanComponentBuilderFactory {
             return this;
         }
     
+        
+        /**
+         * Maximum time to wait for the Infinispan server to be ready when
+         * registering the embedding store schema. This handles the case where
+         * Camel and the Infinispan server start concurrently.
+         * 
+         * The option is a: &lt;code&gt;java.time.Duration&lt;/code&gt; type.
+         * 
+         * Default: 60s
+         * Group: producer (advanced)
+         * 
+         * @param embeddingStoreSchemaRegistrationTimeout the value to set
+         * @return the dsl builder
+         */
+        default InfinispanComponentBuilder 
embeddingStoreSchemaRegistrationTimeout(java.time.Duration 
embeddingStoreSchemaRegistrationTimeout) {
+            doSetProperty("embeddingStoreSchemaRegistrationTimeout", 
embeddingStoreSchemaRegistrationTimeout);
+            return this;
+        }
+    
         /**
          * The name of the type used to store embeddings. The default is
          * 'InfinispanRemoteEmbedding' suffixed with the value of the
@@ -645,6 +664,7 @@ public interface InfinispanComponentBuilderFactory {
             case "embeddingStoreDistance": 
getOrCreateConfiguration((InfinispanRemoteComponent) 
component).setEmbeddingStoreDistance((int) value); return true;
             case "embeddingStoreEnabled": 
getOrCreateConfiguration((InfinispanRemoteComponent) 
component).setEmbeddingStoreEnabled((boolean) value); return true;
             case "embeddingStoreRegisterSchema": 
getOrCreateConfiguration((InfinispanRemoteComponent) 
component).setEmbeddingStoreRegisterSchema((boolean) value); return true;
+            case "embeddingStoreSchemaRegistrationTimeout": 
getOrCreateConfiguration((InfinispanRemoteComponent) 
component).setEmbeddingStoreSchemaRegistrationTimeout((java.time.Duration) 
value); return true;
             case "embeddingStoreTypeName": 
getOrCreateConfiguration((InfinispanRemoteComponent) 
component).setEmbeddingStoreTypeName((java.lang.String) value); return true;
             case "embeddingStoreVectorSimilarity": 
getOrCreateConfiguration((InfinispanRemoteComponent) 
component).setEmbeddingStoreVectorSimilarity((org.infinispan.api.annotations.indexing.option.VectorSimilarity)
 value); return true;
             case "autowiredEnabled": ((InfinispanRemoteComponent) 
component).setAutowiredEnabled((boolean) value); return true;
diff --git 
a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/InfinispanRemoteEndpointBuilderFactory.java
 
b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/InfinispanRemoteEndpointBuilderFactory.java
index a4a447bfb4b1..7626e9c523fb 100644
--- 
a/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/InfinispanRemoteEndpointBuilderFactory.java
+++ 
b/dsl/camel-endpointdsl/src/generated/java/org/apache/camel/builder/endpoint/dsl/InfinispanRemoteEndpointBuilderFactory.java
@@ -985,6 +985,41 @@ public interface InfinispanRemoteEndpointBuilderFactory {
             doSetProperty("embeddingStoreRegisterSchema", 
embeddingStoreRegisterSchema);
             return this;
         }
+        /**
+         * Maximum time to wait for the Infinispan server to be ready when
+         * registering the embedding store schema. This handles the case where
+         * Camel and the Infinispan server start concurrently.
+         * 
+         * The option is a: <code>java.time.Duration</code> type.
+         * 
+         * Default: 60s
+         * Group: producer (advanced)
+         * 
+         * @param embeddingStoreSchemaRegistrationTimeout the value to set
+         * @return the dsl builder
+         */
+        default AdvancedInfinispanRemoteEndpointProducerBuilder 
embeddingStoreSchemaRegistrationTimeout(java.time.Duration 
embeddingStoreSchemaRegistrationTimeout) {
+            doSetProperty("embeddingStoreSchemaRegistrationTimeout", 
embeddingStoreSchemaRegistrationTimeout);
+            return this;
+        }
+        /**
+         * Maximum time to wait for the Infinispan server to be ready when
+         * registering the embedding store schema. This handles the case where
+         * Camel and the Infinispan server start concurrently.
+         * 
+         * The option will be converted to a <code>java.time.Duration</code>
+         * type.
+         * 
+         * Default: 60s
+         * Group: producer (advanced)
+         * 
+         * @param embeddingStoreSchemaRegistrationTimeout the value to set
+         * @return the dsl builder
+         */
+        default AdvancedInfinispanRemoteEndpointProducerBuilder 
embeddingStoreSchemaRegistrationTimeout(String 
embeddingStoreSchemaRegistrationTimeout) {
+            doSetProperty("embeddingStoreSchemaRegistrationTimeout", 
embeddingStoreSchemaRegistrationTimeout);
+            return this;
+        }
         /**
          * The name of the type used to store embeddings. The default is
          * 'InfinispanRemoteEmbedding' suffixed with the value of the

Reply via email to