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 d8578d7a476c2..a86475d95bf5f 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 search queries in relation to the configured vector similarity." }, "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 embedding store. When enabled, the embedding store will be configured automatically when Camel starts. Note that this feature requires camel-langchain4j-embeddings to be on the classpath." }, "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 automatically register the proto schema for the types required by embedding store cache put and query operations." }, - "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 embeddings. The default is 'InfinispanRemoteEmbedding' suffixed with the value of the embeddingStoreDimension option. E.g. CamelInfinispanRemoteEmbedding384." }, - "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.component.infinispan.remote.InfinispanRemoteConfiguration", "configurationField": "configuration", "description": "The vector similarity algorithm used to store embeddings." }, - "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 type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc." }, - "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 Container to connect" }, - "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", "description": "The CacheContainer configuration. Used if the cacheContainer is not defined." }, - "configurationProperties": { "index": 21, "kind": "property", "displayName": "Configuration Properties", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "java.util.Map", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", "configurationField": "configuration", "description": "Implementation specific properties for the CacheManager" }, - "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 specific URI for the CacheManager" }, - "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 cache invocation." }, - "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 operation." }, - "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, resultHeader == null and the query result is stored in the message body, any existing content in the message body is discarded. If resultHeader is set, the value is used as the name of the header to store the query result and the original message body is preserved. This value can be overridden by an in message header named: CamelInfinispanOperationResultHeader" }, - "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 instance" }, - "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": "configuration", "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." }, + "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 embeddings. The default is 'InfinispanRemoteEmbedding' suffixed with the value of the embeddingStoreDimension option. E.g. CamelInfinispanRemoteEmbedding384." }, + "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.component.infinispan.remote.InfinispanRemoteConfiguration", "configurationField": "configuration", "description": "The vector similarity algorithm used to store embeddings." }, + "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 type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc." }, + "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 Container to connect" }, + "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", "description": "The CacheContainer configuration. Used if the cacheContainer is not defined." }, + "configurationProperties": { "index": 22, "kind": "property", "displayName": "Configuration Properties", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "java.util.Map", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", "configurationField": "configuration", "description": "Implementation specific properties for the CacheManager" }, + "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 specific URI for the CacheManager" }, + "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 cache invocation." }, + "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 operation." }, + "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, resultHeader == null and the query result is stored in the message body, any existing content in the message body is discarded. If resultHeader is set, the value is used as the name of the header to store the query result and the original message body is preserved. This value can be overridden by an in message header named: CamelInfinispanOperationResultHeader" }, + "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 instance" }, + "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 search queries in relation to the configured vector similarity." }, "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 embedding store. When enabled, the embedding store will be configured automatically when Camel starts. Note that this feature requires camel-langchain4j-embeddings to be on the classpath." }, "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 automatically register the proto schema for the types required by embedding store cache put and query operations." }, - "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 embeddings. The default is 'InfinispanRemoteEmbedding' suffixed with the value of the embeddingStoreDimension option. E.g. CamelInfinispanRemoteEmbedding384." }, - "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.component.infinispan.remote.InfinispanRemoteConfiguration", "configurationField": "configuration", "description": "The vector similarity algorithm used to store embeddings." }, - "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 producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing." }, - "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 Container to connect" }, - "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", "description": "The CacheContainer configuration. Used if the cacheContainer is not defined." }, - "configurationProperties": { "index": 22, "kind": "parameter", "displayName": "Configuration Properties", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "java.util.Map", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", "configurationField": "configuration", "description": "Implementation specific properties for the CacheManager" }, - "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 specific URI for the CacheManager" }, - "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 cache invocation." }, - "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 operation." }, - "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, resultHeader == null and the query result is stored in the message body, any existing content in the message body is discarded. If resultHeader is set, the value is used as the name of the header to store the query result and the original message body is preserved. This value can be overridden by an in message header named: CamelInfinispanOperationResultHeader" }, - "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 instance" }, - "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": "configuration", "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." }, + "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 embeddings. The default is 'InfinispanRemoteEmbedding' suffixed with the value of the embeddingStoreDimension option. E.g. CamelInfinispanRemoteEmbedding384." }, + "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.component.infinispan.remote.InfinispanRemoteConfiguration", "configurationField": "configuration", "description": "The vector similarity algorithm used to store embeddings." }, + "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 producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing." }, + "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 Container to connect" }, + "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", "description": "The CacheContainer configuration. Used if the cacheContainer is not defined." }, + "configurationProperties": { "index": 23, "kind": "parameter", "displayName": "Configuration Properties", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "java.util.Map", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", "configurationField": "configuration", "description": "Implementation specific properties for the CacheManager" }, + "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 specific URI for the CacheManager" }, + "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 cache invocation." }, + "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 operation." }, + "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, resultHeader == null and the query result is stored in the message body, any existing content in the message body is discarded. If resultHeader is set, the value is used as the name of the header to store the query result and the original message body is preserved. This value can be overridden by an in message header named: CamelInfinispanOperationResultHeader" }, + "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 instance" }, + "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 0e5b80bd5c9b1..75d6b4a61974b 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 boolean configure(CamelContext camelContext, Object obj, String name, Obj 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 getOptionType(String name, boolean ignoreCase) { 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 Object getOptionValue(Object obj, String name, boolean ignoreCase) { 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 89f89820cd62f..f2d81c1b19c88 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 boolean configure(CamelContext camelContext, Object obj, String name, Obj 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 getOptionType(String name, boolean ignoreCase) { 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 Object getOptionValue(Object obj, String name, boolean ignoreCase) { 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 60a09b3899bd5..7323219dda3e7 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 SECRET_PROPERTY_NAMES; private static final Map MULTI_VALUE_PREFIXES; static { - Set props = new HashSet<>(33); + Set 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 d8578d7a476c2..a86475d95bf5f 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 search queries in relation to the configured vector similarity." }, "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 embedding store. When enabled, the embedding store will be configured automatically when Camel starts. Note that this feature requires camel-langchain4j-embeddings to be on the classpath." }, "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 automatically register the proto schema for the types required by embedding store cache put and query operations." }, - "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 embeddings. The default is 'InfinispanRemoteEmbedding' suffixed with the value of the embeddingStoreDimension option. E.g. CamelInfinispanRemoteEmbedding384." }, - "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.component.infinispan.remote.InfinispanRemoteConfiguration", "configurationField": "configuration", "description": "The vector similarity algorithm used to store embeddings." }, - "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 type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc." }, - "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 Container to connect" }, - "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", "description": "The CacheContainer configuration. Used if the cacheContainer is not defined." }, - "configurationProperties": { "index": 21, "kind": "property", "displayName": "Configuration Properties", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "java.util.Map", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", "configurationField": "configuration", "description": "Implementation specific properties for the CacheManager" }, - "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 specific URI for the CacheManager" }, - "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 cache invocation." }, - "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 operation." }, - "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, resultHeader == null and the query result is stored in the message body, any existing content in the message body is discarded. If resultHeader is set, the value is used as the name of the header to store the query result and the original message body is preserved. This value can be overridden by an in message header named: CamelInfinispanOperationResultHeader" }, - "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 instance" }, - "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": "configuration", "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." }, + "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 embeddings. The default is 'InfinispanRemoteEmbedding' suffixed with the value of the embeddingStoreDimension option. E.g. CamelInfinispanRemoteEmbedding384." }, + "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.component.infinispan.remote.InfinispanRemoteConfiguration", "configurationField": "configuration", "description": "The vector similarity algorithm used to store embeddings." }, + "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 type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc." }, + "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 Container to connect" }, + "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", "description": "The CacheContainer configuration. Used if the cacheContainer is not defined." }, + "configurationProperties": { "index": 22, "kind": "property", "displayName": "Configuration Properties", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "java.util.Map", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", "configurationField": "configuration", "description": "Implementation specific properties for the CacheManager" }, + "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 specific URI for the CacheManager" }, + "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 cache invocation." }, + "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 operation." }, + "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, resultHeader == null and the query result is stored in the message body, any existing content in the message body is discarded. If resultHeader is set, the value is used as the name of the header to store the query result and the original message body is preserved. This value can be overridden by an in message header named: CamelInfinispanOperationResultHeader" }, + "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 instance" }, + "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 search queries in relation to the configured vector similarity." }, "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 embedding store. When enabled, the embedding store will be configured automatically when Camel starts. Note that this feature requires camel-langchain4j-embeddings to be on the classpath." }, "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 automatically register the proto schema for the types required by embedding store cache put and query operations." }, - "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 embeddings. The default is 'InfinispanRemoteEmbedding' suffixed with the value of the embeddingStoreDimension option. E.g. CamelInfinispanRemoteEmbedding384." }, - "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.component.infinispan.remote.InfinispanRemoteConfiguration", "configurationField": "configuration", "description": "The vector similarity algorithm used to store embeddings." }, - "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 producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing." }, - "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 Container to connect" }, - "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", "description": "The CacheContainer configuration. Used if the cacheContainer is not defined." }, - "configurationProperties": { "index": 22, "kind": "parameter", "displayName": "Configuration Properties", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "java.util.Map", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", "configurationField": "configuration", "description": "Implementation specific properties for the CacheManager" }, - "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 specific URI for the CacheManager" }, - "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 cache invocation." }, - "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 operation." }, - "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, resultHeader == null and the query result is stored in the message body, any existing content in the message body is discarded. If resultHeader is set, the value is used as the name of the header to store the query result and the original message body is preserved. This value can be overridden by an in message header named: CamelInfinispanOperationResultHeader" }, - "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 instance" }, - "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": "configuration", "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." }, + "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 embeddings. The default is 'InfinispanRemoteEmbedding' suffixed with the value of the embeddingStoreDimension option. E.g. CamelInfinispanRemoteEmbedding384." }, + "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.component.infinispan.remote.InfinispanRemoteConfiguration", "configurationField": "configuration", "description": "The vector similarity algorithm used to store embeddings." }, + "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 producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel's routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing." }, + "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 Container to connect" }, + "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", "description": "The CacheContainer configuration. Used if the cacheContainer is not defined." }, + "configurationProperties": { "index": 23, "kind": "parameter", "displayName": "Configuration Properties", "group": "advanced", "label": "advanced", "required": false, "type": "object", "javaType": "java.util.Map", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.infinispan.remote.InfinispanRemoteConfiguration", "configurationField": "configuration", "description": "Implementation specific properties for the CacheManager" }, + "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 specific URI for the CacheManager" }, + "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 cache invocation." }, + "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 operation." }, + "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, resultHeader == null and the query result is stored in the message body, any existing content in the message body is discarded. If resultHeader is set, the value is used as the name of the header to store the query result and the original message body is preserved. This value can be overridden by an in message header named: CamelInfinispanOperationResultHeader" }, + "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 instance" }, + "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 8daacb553a330..483de83d48512 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 String getEmbeddingStoreTypeName() { 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 dc87c45ad31ee..6aba0401fa2d2 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.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 { + private static final Logger LOG = LoggerFactory.getLogger(InfinispanRemoteManager.class); + private final InfinispanRemoteConfiguration configuration; private CamelContext camelContext; private RemoteCacheManager cacheContainer; @@ -127,7 +136,37 @@ public void doStart() throws Exception { } 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() + .withBudget(Budgets.iterationTimeBudget() + .withInterval(Duration.ofSeconds(1)) + .withMaxDuration(timeout) + .build()) + .build(); + + boolean registered = task.run(null, () -> { + try { + EmbeddingStoreUtil.registerSchema(configuration, cacheContainer); + return true; + } catch (RemoteIllegalLifecycleStateException e) { + LOG.debug("Schema registration failed (server not ready), retrying: {}", e.getMessage()); + return false; + } + }); + + if (!registered) { + throw new IllegalStateException( + "Failed to register Infinispan schema after retries. The server may not be fully started."); } } 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 5390ffc67fd83..a876ef1b8b2fe 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 @@ default InfinispanComponentBuilder embeddingStoreRegisterSchema(boolean embeddin 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 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 @@ protected boolean setPropertyOnComponent( 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 a4a447bfb4b14..7626e9c523fb8 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 @@ default AdvancedInfinispanRemoteEndpointProducerBuilder embeddingStoreRegisterSc 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: java.time.Duration 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 java.time.Duration + * 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