This is an automated email from the ASF dual-hosted git repository. davsclaus pushed a commit to branch re in repository https://gitbox.apache.org/repos/asf/camel.git
commit 82a7ac0c5fe27ef40da7aa5d20512d4b2a6b02c7 Author: Claus Ibsen <[email protected]> AuthorDate: Thu Jun 26 10:19:28 2025 +0200 CAMEL-22200: components that are resource endpoint based should have content cache true as default and make it configurable on component level. --- .../jsonvalidator/JsonValidatorComponentConfigurer.java | 6 ++++++ .../camel/component/jsonvalidator/json-validator.json | 9 +++++---- .../component/jsonvalidator/JsonValidatorComponent.java | 14 ++++++++++++++ 3 files changed, 25 insertions(+), 4 deletions(-) diff --git a/components/camel-json-validator/src/generated/java/org/apache/camel/component/jsonvalidator/JsonValidatorComponentConfigurer.java b/components/camel-json-validator/src/generated/java/org/apache/camel/component/jsonvalidator/JsonValidatorComponentConfigurer.java index d918b19f4c2..5ce7e180a6d 100644 --- a/components/camel-json-validator/src/generated/java/org/apache/camel/component/jsonvalidator/JsonValidatorComponentConfigurer.java +++ b/components/camel-json-validator/src/generated/java/org/apache/camel/component/jsonvalidator/JsonValidatorComponentConfigurer.java @@ -25,6 +25,8 @@ public class JsonValidatorComponentConfigurer extends PropertyConfigurerSupport switch (ignoreCase ? name.toLowerCase() : name) { case "autowiredenabled": case "autowiredEnabled": target.setAutowiredEnabled(property(camelContext, boolean.class, value)); return true; + case "contentcache": + case "contentCache": target.setContentCache(property(camelContext, boolean.class, value)); return true; case "lazystartproducer": case "lazyStartProducer": target.setLazyStartProducer(property(camelContext, boolean.class, value)); return true; case "objectmapper": @@ -40,6 +42,8 @@ public class JsonValidatorComponentConfigurer extends PropertyConfigurerSupport switch (ignoreCase ? name.toLowerCase() : name) { case "autowiredenabled": case "autowiredEnabled": return boolean.class; + case "contentcache": + case "contentCache": return boolean.class; case "lazystartproducer": case "lazyStartProducer": return boolean.class; case "objectmapper": @@ -56,6 +60,8 @@ public class JsonValidatorComponentConfigurer extends PropertyConfigurerSupport switch (ignoreCase ? name.toLowerCase() : name) { case "autowiredenabled": case "autowiredEnabled": return target.isAutowiredEnabled(); + case "contentcache": + case "contentCache": return target.isContentCache(); case "lazystartproducer": case "lazyStartProducer": return target.isLazyStartProducer(); case "objectmapper": diff --git a/components/camel-json-validator/src/generated/resources/META-INF/org/apache/camel/component/jsonvalidator/json-validator.json b/components/camel-json-validator/src/generated/resources/META-INF/org/apache/camel/component/jsonvalidator/json-validator.json index a39fa4b9af3..92d061c7f29 100644 --- a/components/camel-json-validator/src/generated/resources/META-INF/org/apache/camel/component/jsonvalidator/json-validator.json +++ b/components/camel-json-validator/src/generated/resources/META-INF/org/apache/camel/component/jsonvalidator/json-validator.json @@ -24,10 +24,11 @@ "remote": false }, "componentProperties": { - "lazyStartProducer": { "index": 0, "kind": "property", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail [...] - "useDefaultObjectMapper": { "index": 1, "kind": "property", "displayName": "Use Default Object Mapper", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether to lookup and use default Jackson ObjectMapper from the registry." }, - "autowiredEnabled": { "index": 2, "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching t [...] - "objectMapper": { "index": 3, "kind": "property", "displayName": "Object Mapper", "group": "advanced", "label": "advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Lookup and use the existing ObjectMapper with the given id." } + "contentCache": { "index": 0, "kind": "property", "displayName": "Content Cache", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Sets whether to use resource content cache or not" }, + "lazyStartProducer": { "index": 1, "kind": "property", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail [...] + "useDefaultObjectMapper": { "index": 2, "kind": "property", "displayName": "Use Default Object Mapper", "group": "producer", "label": "", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether to lookup and use default Jackson ObjectMapper from the registry." }, + "autowiredEnabled": { "index": 3, "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching t [...] + "objectMapper": { "index": 4, "kind": "property", "displayName": "Object Mapper", "group": "advanced", "label": "advanced", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Lookup and use the existing ObjectMapper with the given id." } }, "properties": { "resourceUri": { "index": 0, "kind": "path", "displayName": "Resource Uri", "group": "producer", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "supportFileReference": true, "description": "Path to the resource. You can prefix with: classpath, file, http, ref, or bean. classpath, file and http loads the resource using these protocols (classpath is default). ref will look [...] diff --git a/components/camel-json-validator/src/main/java/org/apache/camel/component/jsonvalidator/JsonValidatorComponent.java b/components/camel-json-validator/src/main/java/org/apache/camel/component/jsonvalidator/JsonValidatorComponent.java index de56b3cbd95..4ba9a2f7f56 100644 --- a/components/camel-json-validator/src/main/java/org/apache/camel/component/jsonvalidator/JsonValidatorComponent.java +++ b/components/camel-json-validator/src/main/java/org/apache/camel/component/jsonvalidator/JsonValidatorComponent.java @@ -31,6 +31,8 @@ import org.apache.camel.support.DefaultComponent; @Component("json-validator") public class JsonValidatorComponent extends DefaultComponent { + @Metadata(defaultValue = "true", description = "Sets whether to use resource content cache or not") + private boolean contentCache; @Metadata(defaultValue = "true") private boolean useDefaultObjectMapper = true; @Metadata(label = "advanced") @@ -46,10 +48,22 @@ public class JsonValidatorComponent extends DefaultComponent { ObjectMapper om = CamelContextHelper.findSingleByType(getCamelContext(), ObjectMapper.class); endpoint.setObjectMapper(om); } + endpoint.setContentCache(contentCache); setProperties(endpoint, parameters); return endpoint; } + public boolean isContentCache() { + return contentCache; + } + + /** + * Sets whether to use resource content cache or not + */ + public void setContentCache(boolean contentCache) { + this.contentCache = contentCache; + } + public boolean isUseDefaultObjectMapper() { return useDefaultObjectMapper; }
