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

Croway pushed a commit to branch ci-issue/fix-circular-dependency-spring-boot-4
in repository https://gitbox.apache.org/repos/asf/camel-spring-boot.git

commit 519b63f5def15e206a5f867f37251f2314284281
Author: Croway <[email protected]>
AuthorDate: Mon May 4 17:21:57 2026 +0200

    ci: fix Language auto-config ClassCastException
    
    Not all Language implementations extend LanguageSupport/CamelContextAware
    (e.g. ExchangePropertyLanguage). Use instanceof check with pattern
    matching instead of an unsafe cast or ObjectProvider (which triggers the
    circular dependency during camelContext.build()).
---
 .../camel/springboot/catalog/dataformats/avroJackson.json  | 14 +++++++-------
 .../camel/springboot/catalog/transformers/avro-binary.json |  4 ++--
 .../catalog/transformers/avro-x-java-object.json           |  4 ++--
 .../springboot/catalog/transformers/avro-x-struct.json     |  4 ++--
 .../bean/springboot/BeanLanguageAutoConfiguration.java     |  4 +++-
 .../springboot/ConstantLanguageAutoConfiguration.java      |  4 +++-
 .../springboot/CSimpleLanguageAutoConfiguration.java       |  4 +++-
 .../header/springboot/HeaderLanguageAutoConfiguration.java |  4 +++-
 .../ExchangePropertyLanguageAutoConfiguration.java         |  4 +++-
 .../ref/springboot/RefLanguageAutoConfiguration.java       |  4 +++-
 .../simple/springboot/FileLanguageAutoConfiguration.java   |  4 +++-
 .../simple/springboot/SimpleLanguageAutoConfiguration.java |  4 +++-
 .../springboot/TokenizeLanguageAutoConfiguration.java      |  4 +++-
 .../springboot/VariableLanguageAutoConfiguration.java      |  4 +++-
 .../springboot/DatasonnetLanguageAutoConfiguration.java    |  4 +++-
 .../groovy/springboot/GroovyLanguageAutoConfiguration.java |  4 +++-
 .../hl7/springboot/Hl7TerserLanguageAutoConfiguration.java |  4 +++-
 .../js/springboot/JavaScriptLanguageAutoConfiguration.java |  4 +++-
 .../joor/springboot/JavaLanguageAutoConfiguration.java     |  4 +++-
 .../joor/springboot/JoorLanguageAutoConfiguration.java     |  4 +++-
 .../jq/springboot/JqLanguageAutoConfiguration.java         |  4 +++-
 .../springboot/JsonPathLanguageAutoConfiguration.java      |  4 +++-
 .../mvel/springboot/MvelLanguageAutoConfiguration.java     |  4 +++-
 .../ognl/springboot/OgnlLanguageAutoConfiguration.java     |  4 +++-
 .../python/springboot/PythonLanguageAutoConfiguration.java |  4 +++-
 .../xquery/springboot/XQueryLanguageAutoConfiguration.java |  4 +++-
 .../spel/springboot/SpelLanguageAutoConfiguration.java     |  4 +++-
 .../springboot/XMLTokenizeLanguageAutoConfiguration.java   |  4 +++-
 .../wasm/springboot/WasmLanguageAutoConfiguration.java     |  4 +++-
 .../xpath/springboot/XPathLanguageAutoConfiguration.java   |  4 +++-
 .../springboot/maven/SpringBootAutoConfigurationMojo.java  |  4 +++-
 31 files changed, 94 insertions(+), 40 deletions(-)

diff --git 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/dataformats/avroJackson.json
 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/dataformats/avroJackson.json
index 46506181dcd..c4d5fcb7435 100644
--- 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/dataformats/avroJackson.json
+++ 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/dataformats/avroJackson.json
@@ -5,12 +5,12 @@
     "title": "Avro Jackson",
     "description": "Marshal POJOs to Avro and back using Jackson.",
     "deprecated": false,
-    "firstVersion": "4.19.0",
+    "firstVersion": "3.10.0",
     "label": "dataformat,transformation",
-    "javaType": 
"org.apache.camel.component.jackson3.avro.JacksonAvroDataFormat",
-    "supportLevel": "Preview",
+    "javaType": 
"org.apache.camel.component.jackson.avro.JacksonAvroDataFormat",
+    "supportLevel": "Stable",
     "groupId": "org.apache.camel.springboot",
-    "artifactId": "camel-jackson3-avro-starter",
+    "artifactId": "camel-jackson-avro-starter",
     "version": "4.21.0-SNAPSHOT",
     "modelName": "avro",
     "modelJavaType": "org.apache.camel.model.dataformat.AvroDataFormat"
@@ -25,10 +25,10 @@
     "allowJmsType": { "index": 6, "kind": "attribute", "displayName": "Allow 
Jms Type", "group": "advanced", "label": "advanced", "required": false, "type": 
"boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": false, "description": "Used for JMS 
users to allow the JMSType header from the JMS spec to specify a FQN classname 
to use to unmarshal to." },
     "collectionType": { "index": 7, "kind": "attribute", "displayName": 
"Collection Type", "group": "advanced", "label": "advanced", "required": false, 
"type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "description": "Refers to a custom 
collection type to lookup in the registry to use. This option should rarely be 
used, but allows to use different collection types than java.util.Collection 
based as default." },
     "useList": { "index": 8, "kind": "attribute", "displayName": "Use List", 
"group": "common", "required": false, "type": "boolean", "javaType": 
"java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "description": "To unmarshal to a List of Map or a List 
of Pojo." },
-    "moduleClassNames": { "index": 9, "kind": "attribute", "displayName": 
"Module Class Names", "group": "advanced", "label": "advanced", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "description": "To use custom Jackson 
modules tools.jackson.databind.JacksonModule specified as a String with FQN 
class names. Multiple classes can be separated by comma." },
+    "moduleClassNames": { "index": 9, "kind": "attribute", "displayName": 
"Module Class Names", "group": "advanced", "label": "advanced", "required": 
false, "type": "string", "javaType": "java.lang.String", "deprecated": false, 
"autowired": false, "secret": false, "description": "To use custom Jackson 
modules com.fasterxml.jackson.databind.Module specified as a String with FQN 
class names. Multiple classes can be separated by comma." },
     "moduleRefs": { "index": 10, "kind": "attribute", "displayName": "Module 
Refs", "group": "advanced", "label": "advanced", "required": false, "type": 
"string", "javaType": "java.lang.String", "deprecated": false, "autowired": 
false, "secret": false, "description": "To use custom Jackson modules referred 
from the Camel registry. Multiple modules can be separated by comma." },
-    "enableFeatures": { "index": 11, "kind": "attribute", "displayName": 
"Enable Features", "group": "common", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "description": "Set of features to enable on the Jackson 
tools.jackson.databind.ObjectMapper. The features should be a name that matches 
a enum from tools.jackson.databind.SerializationFeature, 
tools.jackson.databind.DeserializationFeature, or tools.jack [...]
-    "disableFeatures": { "index": 12, "kind": "attribute", "displayName": 
"Disable Features", "group": "common", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "description": "Set of features to disable on the Jackson 
tools.jackson.databind.ObjectMapper. The features should be a name that matches 
a enum from tools.jackson.databind.SerializationFeature, 
tools.jackson.databind.DeserializationFeature, or tools.j [...]
+    "enableFeatures": { "index": 11, "kind": "attribute", "displayName": 
"Enable Features", "group": "common", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "description": "Set of features to enable on the Jackson 
com.fasterxml.jackson.databind.ObjectMapper. The features should be a name that 
matches a enum from com.fasterxml.jackson.databind.SerializationFeature, 
com.fasterxml.jackson.databind.Deserializati [...]
+    "disableFeatures": { "index": 12, "kind": "attribute", "displayName": 
"Disable Features", "group": "common", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "description": "Set of features to disable on the Jackson 
com.fasterxml.jackson.databind.ObjectMapper. The features should be a name that 
matches a enum from com.fasterxml.jackson.databind.SerializationFeature, 
com.fasterxml.jackson.databind.Deserializ [...]
     "allowUnmarshallType": { "index": 13, "kind": "attribute", "displayName": 
"Allow Unmarshall Type", "group": "common", "required": false, "type": 
"boolean", "javaType": "java.lang.Boolean", "deprecated": false, "autowired": 
false, "secret": false, "defaultValue": false, "description": "If enabled then 
Jackson is allowed to attempt to use the CamelJacksonUnmarshalType header 
during the unmarshalling. This should only be enabled when desired to be used." 
},
     "timezone": { "index": 14, "kind": "attribute", "displayName": "Timezone", 
"group": "advanced", "label": "advanced", "required": false, "type": "string", 
"javaType": "java.lang.String", "deprecated": false, "autowired": false, 
"secret": false, "description": "If set then Jackson will use the Timezone when 
marshalling\/unmarshalling." },
     "autoDiscoverObjectMapper": { "index": 15, "kind": "attribute", 
"displayName": "Auto Discover Object Mapper", "group": "advanced", "label": 
"advanced", "required": false, "type": "boolean", "javaType": 
"java.lang.Boolean", "deprecated": false, "autowired": false, "secret": false, 
"defaultValue": false, "description": "If set to true then Jackson will lookup 
for an objectMapper into the registry" },
diff --git 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/transformers/avro-binary.json
 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/transformers/avro-binary.json
index 4d0dca800ab..59b4a8553a5 100644
--- 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/transformers/avro-binary.json
+++ 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/transformers/avro-binary.json
@@ -5,9 +5,9 @@
     "title": "Avro Binary",
     "description": "Transforms from JSon to binary (byte array) using Jackson 
Avro (supports Avro schema)",
     "deprecated": false,
-    "javaType": 
"org.apache.camel.component.jackson3.avro.transform.AvroBinaryDataTypeTransformer",
+    "javaType": 
"org.apache.camel.component.jackson.avro.transform.AvroBinaryDataTypeTransformer",
     "groupId": "org.apache.camel.springboot",
-    "artifactId": "camel-jackson3-avro-starter",
+    "artifactId": "camel-jackson-avro-starter",
     "version": "4.21.0-SNAPSHOT"
   }
 }
diff --git 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/transformers/avro-x-java-object.json
 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/transformers/avro-x-java-object.json
index e0507ce0c53..08534656609 100644
--- 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/transformers/avro-x-java-object.json
+++ 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/transformers/avro-x-java-object.json
@@ -5,9 +5,9 @@
     "title": "Avro X Java Object",
     "description": "Transforms from JSon to Java object using Jackson Avro 
(supports content schema)",
     "deprecated": false,
-    "javaType": 
"org.apache.camel.component.jackson3.avro.transform.AvroPojoDataTypeTransformer",
+    "javaType": 
"org.apache.camel.component.jackson.avro.transform.AvroPojoDataTypeTransformer",
     "groupId": "org.apache.camel.springboot",
-    "artifactId": "camel-jackson3-avro-starter",
+    "artifactId": "camel-jackson-avro-starter",
     "version": "4.21.0-SNAPSHOT"
   }
 }
diff --git 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/transformers/avro-x-struct.json
 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/transformers/avro-x-struct.json
index 9efb5bafbe7..c78097b9798 100644
--- 
a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/transformers/avro-x-struct.json
+++ 
b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/transformers/avro-x-struct.json
@@ -5,9 +5,9 @@
     "title": "Avro X Struct",
     "description": "Transforms to generic JSonNode using Jackson Avro 
(supports content schema)",
     "deprecated": false,
-    "javaType": 
"org.apache.camel.component.jackson3.avro.transform.AvroStructDataTypeTransformer",
+    "javaType": 
"org.apache.camel.component.jackson.avro.transform.AvroStructDataTypeTransformer",
     "groupId": "org.apache.camel.springboot",
-    "artifactId": "camel-jackson3-avro-starter",
+    "artifactId": "camel-jackson-avro-starter",
     "version": "4.21.0-SNAPSHOT"
   }
 }
diff --git 
a/components-starter/camel-bean-starter/src/main/java/org/apache/camel/language/bean/springboot/BeanLanguageAutoConfiguration.java
 
b/components-starter/camel-bean-starter/src/main/java/org/apache/camel/language/bean/springboot/BeanLanguageAutoConfiguration.java
index ec38966afbc..aba3f58c187 100644
--- 
a/components-starter/camel-bean-starter/src/main/java/org/apache/camel/language/bean/springboot/BeanLanguageAutoConfiguration.java
+++ 
b/components-starter/camel-bean-starter/src/main/java/org/apache/camel/language/bean/springboot/BeanLanguageAutoConfiguration.java
@@ -60,7 +60,9 @@ public class BeanLanguageAutoConfiguration {
         return new LanguageCustomizer() {
             @Override
             public void configure(String name, Language target) {
-                
CamelPropertiesHelper.copyProperties(((org.apache.camel.CamelContextAware) 
target).getCamelContext(), configuration, target);
+                if (target instanceof CamelContextAware cca && 
cca.getCamelContext() != null) {
+                    
CamelPropertiesHelper.copyProperties(cca.getCamelContext(), configuration, 
target);
+                }
             }
             @Override
             public boolean isEnabled(String name, Language target) {
diff --git 
a/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/constant/springboot/ConstantLanguageAutoConfiguration.java
 
b/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/constant/springboot/ConstantLanguageAutoConfiguration.java
index 44cc7d25ad9..7e3181ee840 100644
--- 
a/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/constant/springboot/ConstantLanguageAutoConfiguration.java
+++ 
b/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/constant/springboot/ConstantLanguageAutoConfiguration.java
@@ -60,7 +60,9 @@ public class ConstantLanguageAutoConfiguration {
         return new LanguageCustomizer() {
             @Override
             public void configure(String name, Language target) {
-                
CamelPropertiesHelper.copyProperties(((org.apache.camel.CamelContextAware) 
target).getCamelContext(), configuration, target);
+                if (target instanceof CamelContextAware cca && 
cca.getCamelContext() != null) {
+                    
CamelPropertiesHelper.copyProperties(cca.getCamelContext(), configuration, 
target);
+                }
             }
             @Override
             public boolean isEnabled(String name, Language target) {
diff --git 
a/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/csimple/springboot/CSimpleLanguageAutoConfiguration.java
 
b/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/csimple/springboot/CSimpleLanguageAutoConfiguration.java
index fd9782d09cf..5978f0748e5 100644
--- 
a/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/csimple/springboot/CSimpleLanguageAutoConfiguration.java
+++ 
b/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/csimple/springboot/CSimpleLanguageAutoConfiguration.java
@@ -60,7 +60,9 @@ public class CSimpleLanguageAutoConfiguration {
         return new LanguageCustomizer() {
             @Override
             public void configure(String name, Language target) {
-                
CamelPropertiesHelper.copyProperties(((org.apache.camel.CamelContextAware) 
target).getCamelContext(), configuration, target);
+                if (target instanceof CamelContextAware cca && 
cca.getCamelContext() != null) {
+                    
CamelPropertiesHelper.copyProperties(cca.getCamelContext(), configuration, 
target);
+                }
             }
             @Override
             public boolean isEnabled(String name, Language target) {
diff --git 
a/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/header/springboot/HeaderLanguageAutoConfiguration.java
 
b/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/header/springboot/HeaderLanguageAutoConfiguration.java
index 5b56f7800eb..595796749fe 100644
--- 
a/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/header/springboot/HeaderLanguageAutoConfiguration.java
+++ 
b/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/header/springboot/HeaderLanguageAutoConfiguration.java
@@ -60,7 +60,9 @@ public class HeaderLanguageAutoConfiguration {
         return new LanguageCustomizer() {
             @Override
             public void configure(String name, Language target) {
-                
CamelPropertiesHelper.copyProperties(((org.apache.camel.CamelContextAware) 
target).getCamelContext(), configuration, target);
+                if (target instanceof CamelContextAware cca && 
cca.getCamelContext() != null) {
+                    
CamelPropertiesHelper.copyProperties(cca.getCamelContext(), configuration, 
target);
+                }
             }
             @Override
             public boolean isEnabled(String name, Language target) {
diff --git 
a/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/property/springboot/ExchangePropertyLanguageAutoConfiguration.java
 
b/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/property/springboot/ExchangePropertyLanguageAutoConfiguration.java
index d287111a3df..e4777eaae11 100644
--- 
a/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/property/springboot/ExchangePropertyLanguageAutoConfiguration.java
+++ 
b/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/property/springboot/ExchangePropertyLanguageAutoConfiguration.java
@@ -60,7 +60,9 @@ public class ExchangePropertyLanguageAutoConfiguration {
         return new LanguageCustomizer() {
             @Override
             public void configure(String name, Language target) {
-                
CamelPropertiesHelper.copyProperties(((org.apache.camel.CamelContextAware) 
target).getCamelContext(), configuration, target);
+                if (target instanceof CamelContextAware cca && 
cca.getCamelContext() != null) {
+                    
CamelPropertiesHelper.copyProperties(cca.getCamelContext(), configuration, 
target);
+                }
             }
             @Override
             public boolean isEnabled(String name, Language target) {
diff --git 
a/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/ref/springboot/RefLanguageAutoConfiguration.java
 
b/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/ref/springboot/RefLanguageAutoConfiguration.java
index 6d7a071e05d..58993ea4cbf 100644
--- 
a/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/ref/springboot/RefLanguageAutoConfiguration.java
+++ 
b/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/ref/springboot/RefLanguageAutoConfiguration.java
@@ -60,7 +60,9 @@ public class RefLanguageAutoConfiguration {
         return new LanguageCustomizer() {
             @Override
             public void configure(String name, Language target) {
-                
CamelPropertiesHelper.copyProperties(((org.apache.camel.CamelContextAware) 
target).getCamelContext(), configuration, target);
+                if (target instanceof CamelContextAware cca && 
cca.getCamelContext() != null) {
+                    
CamelPropertiesHelper.copyProperties(cca.getCamelContext(), configuration, 
target);
+                }
             }
             @Override
             public boolean isEnabled(String name, Language target) {
diff --git 
a/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/simple/springboot/FileLanguageAutoConfiguration.java
 
b/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/simple/springboot/FileLanguageAutoConfiguration.java
index b7596f60de6..840e172ff7f 100644
--- 
a/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/simple/springboot/FileLanguageAutoConfiguration.java
+++ 
b/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/simple/springboot/FileLanguageAutoConfiguration.java
@@ -60,7 +60,9 @@ public class FileLanguageAutoConfiguration {
         return new LanguageCustomizer() {
             @Override
             public void configure(String name, Language target) {
-                
CamelPropertiesHelper.copyProperties(((org.apache.camel.CamelContextAware) 
target).getCamelContext(), configuration, target);
+                if (target instanceof CamelContextAware cca && 
cca.getCamelContext() != null) {
+                    
CamelPropertiesHelper.copyProperties(cca.getCamelContext(), configuration, 
target);
+                }
             }
             @Override
             public boolean isEnabled(String name, Language target) {
diff --git 
a/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/simple/springboot/SimpleLanguageAutoConfiguration.java
 
b/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/simple/springboot/SimpleLanguageAutoConfiguration.java
index 902ff34e3a9..1f1ec3874de 100644
--- 
a/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/simple/springboot/SimpleLanguageAutoConfiguration.java
+++ 
b/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/simple/springboot/SimpleLanguageAutoConfiguration.java
@@ -60,7 +60,9 @@ public class SimpleLanguageAutoConfiguration {
         return new LanguageCustomizer() {
             @Override
             public void configure(String name, Language target) {
-                
CamelPropertiesHelper.copyProperties(((org.apache.camel.CamelContextAware) 
target).getCamelContext(), configuration, target);
+                if (target instanceof CamelContextAware cca && 
cca.getCamelContext() != null) {
+                    
CamelPropertiesHelper.copyProperties(cca.getCamelContext(), configuration, 
target);
+                }
             }
             @Override
             public boolean isEnabled(String name, Language target) {
diff --git 
a/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/tokenizer/springboot/TokenizeLanguageAutoConfiguration.java
 
b/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/tokenizer/springboot/TokenizeLanguageAutoConfiguration.java
index a6d22cd7fca..db3a876b222 100644
--- 
a/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/tokenizer/springboot/TokenizeLanguageAutoConfiguration.java
+++ 
b/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/tokenizer/springboot/TokenizeLanguageAutoConfiguration.java
@@ -60,7 +60,9 @@ public class TokenizeLanguageAutoConfiguration {
         return new LanguageCustomizer() {
             @Override
             public void configure(String name, Language target) {
-                
CamelPropertiesHelper.copyProperties(((org.apache.camel.CamelContextAware) 
target).getCamelContext(), configuration, target);
+                if (target instanceof CamelContextAware cca && 
cca.getCamelContext() != null) {
+                    
CamelPropertiesHelper.copyProperties(cca.getCamelContext(), configuration, 
target);
+                }
             }
             @Override
             public boolean isEnabled(String name, Language target) {
diff --git 
a/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/variable/springboot/VariableLanguageAutoConfiguration.java
 
b/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/variable/springboot/VariableLanguageAutoConfiguration.java
index 6da0fc0fcec..62d84f6fc0b 100644
--- 
a/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/variable/springboot/VariableLanguageAutoConfiguration.java
+++ 
b/components-starter/camel-core-starter/src/main/java/org/apache/camel/language/variable/springboot/VariableLanguageAutoConfiguration.java
@@ -60,7 +60,9 @@ public class VariableLanguageAutoConfiguration {
         return new LanguageCustomizer() {
             @Override
             public void configure(String name, Language target) {
-                
CamelPropertiesHelper.copyProperties(((org.apache.camel.CamelContextAware) 
target).getCamelContext(), configuration, target);
+                if (target instanceof CamelContextAware cca && 
cca.getCamelContext() != null) {
+                    
CamelPropertiesHelper.copyProperties(cca.getCamelContext(), configuration, 
target);
+                }
             }
             @Override
             public boolean isEnabled(String name, Language target) {
diff --git 
a/components-starter/camel-datasonnet-starter/src/main/java/org/apache/camel/language/datasonnet/springboot/DatasonnetLanguageAutoConfiguration.java
 
b/components-starter/camel-datasonnet-starter/src/main/java/org/apache/camel/language/datasonnet/springboot/DatasonnetLanguageAutoConfiguration.java
index bcff80d784a..268d18a37ce 100644
--- 
a/components-starter/camel-datasonnet-starter/src/main/java/org/apache/camel/language/datasonnet/springboot/DatasonnetLanguageAutoConfiguration.java
+++ 
b/components-starter/camel-datasonnet-starter/src/main/java/org/apache/camel/language/datasonnet/springboot/DatasonnetLanguageAutoConfiguration.java
@@ -60,7 +60,9 @@ public class DatasonnetLanguageAutoConfiguration {
         return new LanguageCustomizer() {
             @Override
             public void configure(String name, Language target) {
-                
CamelPropertiesHelper.copyProperties(((org.apache.camel.CamelContextAware) 
target).getCamelContext(), configuration, target);
+                if (target instanceof CamelContextAware cca && 
cca.getCamelContext() != null) {
+                    
CamelPropertiesHelper.copyProperties(cca.getCamelContext(), configuration, 
target);
+                }
             }
             @Override
             public boolean isEnabled(String name, Language target) {
diff --git 
a/components-starter/camel-groovy-starter/src/main/java/org/apache/camel/language/groovy/springboot/GroovyLanguageAutoConfiguration.java
 
b/components-starter/camel-groovy-starter/src/main/java/org/apache/camel/language/groovy/springboot/GroovyLanguageAutoConfiguration.java
index d1a286c5124..b5ef8f550ff 100644
--- 
a/components-starter/camel-groovy-starter/src/main/java/org/apache/camel/language/groovy/springboot/GroovyLanguageAutoConfiguration.java
+++ 
b/components-starter/camel-groovy-starter/src/main/java/org/apache/camel/language/groovy/springboot/GroovyLanguageAutoConfiguration.java
@@ -60,7 +60,9 @@ public class GroovyLanguageAutoConfiguration {
         return new LanguageCustomizer() {
             @Override
             public void configure(String name, Language target) {
-                
CamelPropertiesHelper.copyProperties(((org.apache.camel.CamelContextAware) 
target).getCamelContext(), configuration, target);
+                if (target instanceof CamelContextAware cca && 
cca.getCamelContext() != null) {
+                    
CamelPropertiesHelper.copyProperties(cca.getCamelContext(), configuration, 
target);
+                }
             }
             @Override
             public boolean isEnabled(String name, Language target) {
diff --git 
a/components-starter/camel-hl7-starter/src/main/java/org/apache/camel/component/hl7/springboot/Hl7TerserLanguageAutoConfiguration.java
 
b/components-starter/camel-hl7-starter/src/main/java/org/apache/camel/component/hl7/springboot/Hl7TerserLanguageAutoConfiguration.java
index c920f54aef4..af97c9c779a 100644
--- 
a/components-starter/camel-hl7-starter/src/main/java/org/apache/camel/component/hl7/springboot/Hl7TerserLanguageAutoConfiguration.java
+++ 
b/components-starter/camel-hl7-starter/src/main/java/org/apache/camel/component/hl7/springboot/Hl7TerserLanguageAutoConfiguration.java
@@ -60,7 +60,9 @@ public class Hl7TerserLanguageAutoConfiguration {
         return new LanguageCustomizer() {
             @Override
             public void configure(String name, Language target) {
-                
CamelPropertiesHelper.copyProperties(((org.apache.camel.CamelContextAware) 
target).getCamelContext(), configuration, target);
+                if (target instanceof CamelContextAware cca && 
cca.getCamelContext() != null) {
+                    
CamelPropertiesHelper.copyProperties(cca.getCamelContext(), configuration, 
target);
+                }
             }
             @Override
             public boolean isEnabled(String name, Language target) {
diff --git 
a/components-starter/camel-javascript-starter/src/main/java/org/apache/camel/language/js/springboot/JavaScriptLanguageAutoConfiguration.java
 
b/components-starter/camel-javascript-starter/src/main/java/org/apache/camel/language/js/springboot/JavaScriptLanguageAutoConfiguration.java
index 18959a3b0d5..8df1914abbb 100644
--- 
a/components-starter/camel-javascript-starter/src/main/java/org/apache/camel/language/js/springboot/JavaScriptLanguageAutoConfiguration.java
+++ 
b/components-starter/camel-javascript-starter/src/main/java/org/apache/camel/language/js/springboot/JavaScriptLanguageAutoConfiguration.java
@@ -60,7 +60,9 @@ public class JavaScriptLanguageAutoConfiguration {
         return new LanguageCustomizer() {
             @Override
             public void configure(String name, Language target) {
-                
CamelPropertiesHelper.copyProperties(((org.apache.camel.CamelContextAware) 
target).getCamelContext(), configuration, target);
+                if (target instanceof CamelContextAware cca && 
cca.getCamelContext() != null) {
+                    
CamelPropertiesHelper.copyProperties(cca.getCamelContext(), configuration, 
target);
+                }
             }
             @Override
             public boolean isEnabled(String name, Language target) {
diff --git 
a/components-starter/camel-joor-starter/src/main/java/org/apache/camel/language/joor/springboot/JavaLanguageAutoConfiguration.java
 
b/components-starter/camel-joor-starter/src/main/java/org/apache/camel/language/joor/springboot/JavaLanguageAutoConfiguration.java
index 0b20fbb8e56..2410c15bb0a 100644
--- 
a/components-starter/camel-joor-starter/src/main/java/org/apache/camel/language/joor/springboot/JavaLanguageAutoConfiguration.java
+++ 
b/components-starter/camel-joor-starter/src/main/java/org/apache/camel/language/joor/springboot/JavaLanguageAutoConfiguration.java
@@ -60,7 +60,9 @@ public class JavaLanguageAutoConfiguration {
         return new LanguageCustomizer() {
             @Override
             public void configure(String name, Language target) {
-                
CamelPropertiesHelper.copyProperties(((org.apache.camel.CamelContextAware) 
target).getCamelContext(), configuration, target);
+                if (target instanceof CamelContextAware cca && 
cca.getCamelContext() != null) {
+                    
CamelPropertiesHelper.copyProperties(cca.getCamelContext(), configuration, 
target);
+                }
             }
             @Override
             public boolean isEnabled(String name, Language target) {
diff --git 
a/components-starter/camel-joor-starter/src/main/java/org/apache/camel/language/joor/springboot/JoorLanguageAutoConfiguration.java
 
b/components-starter/camel-joor-starter/src/main/java/org/apache/camel/language/joor/springboot/JoorLanguageAutoConfiguration.java
index 818088d1fc3..fd20f28c485 100644
--- 
a/components-starter/camel-joor-starter/src/main/java/org/apache/camel/language/joor/springboot/JoorLanguageAutoConfiguration.java
+++ 
b/components-starter/camel-joor-starter/src/main/java/org/apache/camel/language/joor/springboot/JoorLanguageAutoConfiguration.java
@@ -60,7 +60,9 @@ public class JoorLanguageAutoConfiguration {
         return new LanguageCustomizer() {
             @Override
             public void configure(String name, Language target) {
-                
CamelPropertiesHelper.copyProperties(((org.apache.camel.CamelContextAware) 
target).getCamelContext(), configuration, target);
+                if (target instanceof CamelContextAware cca && 
cca.getCamelContext() != null) {
+                    
CamelPropertiesHelper.copyProperties(cca.getCamelContext(), configuration, 
target);
+                }
             }
             @Override
             public boolean isEnabled(String name, Language target) {
diff --git 
a/components-starter/camel-jq-starter/src/main/java/org/apache/camel/language/jq/springboot/JqLanguageAutoConfiguration.java
 
b/components-starter/camel-jq-starter/src/main/java/org/apache/camel/language/jq/springboot/JqLanguageAutoConfiguration.java
index 099ee1c7d70..41e2b8e7b54 100644
--- 
a/components-starter/camel-jq-starter/src/main/java/org/apache/camel/language/jq/springboot/JqLanguageAutoConfiguration.java
+++ 
b/components-starter/camel-jq-starter/src/main/java/org/apache/camel/language/jq/springboot/JqLanguageAutoConfiguration.java
@@ -60,7 +60,9 @@ public class JqLanguageAutoConfiguration {
         return new LanguageCustomizer() {
             @Override
             public void configure(String name, Language target) {
-                
CamelPropertiesHelper.copyProperties(((org.apache.camel.CamelContextAware) 
target).getCamelContext(), configuration, target);
+                if (target instanceof CamelContextAware cca && 
cca.getCamelContext() != null) {
+                    
CamelPropertiesHelper.copyProperties(cca.getCamelContext(), configuration, 
target);
+                }
             }
             @Override
             public boolean isEnabled(String name, Language target) {
diff --git 
a/components-starter/camel-jsonpath-starter/src/main/java/org/apache/camel/jsonpath/springboot/JsonPathLanguageAutoConfiguration.java
 
b/components-starter/camel-jsonpath-starter/src/main/java/org/apache/camel/jsonpath/springboot/JsonPathLanguageAutoConfiguration.java
index e72614b8105..15c2dddac59 100644
--- 
a/components-starter/camel-jsonpath-starter/src/main/java/org/apache/camel/jsonpath/springboot/JsonPathLanguageAutoConfiguration.java
+++ 
b/components-starter/camel-jsonpath-starter/src/main/java/org/apache/camel/jsonpath/springboot/JsonPathLanguageAutoConfiguration.java
@@ -60,7 +60,9 @@ public class JsonPathLanguageAutoConfiguration {
         return new LanguageCustomizer() {
             @Override
             public void configure(String name, Language target) {
-                
CamelPropertiesHelper.copyProperties(((org.apache.camel.CamelContextAware) 
target).getCamelContext(), configuration, target);
+                if (target instanceof CamelContextAware cca && 
cca.getCamelContext() != null) {
+                    
CamelPropertiesHelper.copyProperties(cca.getCamelContext(), configuration, 
target);
+                }
             }
             @Override
             public boolean isEnabled(String name, Language target) {
diff --git 
a/components-starter/camel-mvel-starter/src/main/java/org/apache/camel/language/mvel/springboot/MvelLanguageAutoConfiguration.java
 
b/components-starter/camel-mvel-starter/src/main/java/org/apache/camel/language/mvel/springboot/MvelLanguageAutoConfiguration.java
index 0190e5e2162..55fb14a6a9c 100644
--- 
a/components-starter/camel-mvel-starter/src/main/java/org/apache/camel/language/mvel/springboot/MvelLanguageAutoConfiguration.java
+++ 
b/components-starter/camel-mvel-starter/src/main/java/org/apache/camel/language/mvel/springboot/MvelLanguageAutoConfiguration.java
@@ -60,7 +60,9 @@ public class MvelLanguageAutoConfiguration {
         return new LanguageCustomizer() {
             @Override
             public void configure(String name, Language target) {
-                
CamelPropertiesHelper.copyProperties(((org.apache.camel.CamelContextAware) 
target).getCamelContext(), configuration, target);
+                if (target instanceof CamelContextAware cca && 
cca.getCamelContext() != null) {
+                    
CamelPropertiesHelper.copyProperties(cca.getCamelContext(), configuration, 
target);
+                }
             }
             @Override
             public boolean isEnabled(String name, Language target) {
diff --git 
a/components-starter/camel-ognl-starter/src/main/java/org/apache/camel/language/ognl/springboot/OgnlLanguageAutoConfiguration.java
 
b/components-starter/camel-ognl-starter/src/main/java/org/apache/camel/language/ognl/springboot/OgnlLanguageAutoConfiguration.java
index c81ffbcbe56..aee35a7b64d 100644
--- 
a/components-starter/camel-ognl-starter/src/main/java/org/apache/camel/language/ognl/springboot/OgnlLanguageAutoConfiguration.java
+++ 
b/components-starter/camel-ognl-starter/src/main/java/org/apache/camel/language/ognl/springboot/OgnlLanguageAutoConfiguration.java
@@ -60,7 +60,9 @@ public class OgnlLanguageAutoConfiguration {
         return new LanguageCustomizer() {
             @Override
             public void configure(String name, Language target) {
-                
CamelPropertiesHelper.copyProperties(((org.apache.camel.CamelContextAware) 
target).getCamelContext(), configuration, target);
+                if (target instanceof CamelContextAware cca && 
cca.getCamelContext() != null) {
+                    
CamelPropertiesHelper.copyProperties(cca.getCamelContext(), configuration, 
target);
+                }
             }
             @Override
             public boolean isEnabled(String name, Language target) {
diff --git 
a/components-starter/camel-python-starter/src/main/java/org/apache/camel/language/python/springboot/PythonLanguageAutoConfiguration.java
 
b/components-starter/camel-python-starter/src/main/java/org/apache/camel/language/python/springboot/PythonLanguageAutoConfiguration.java
index 89bff5b8c5f..76fe82eb846 100644
--- 
a/components-starter/camel-python-starter/src/main/java/org/apache/camel/language/python/springboot/PythonLanguageAutoConfiguration.java
+++ 
b/components-starter/camel-python-starter/src/main/java/org/apache/camel/language/python/springboot/PythonLanguageAutoConfiguration.java
@@ -60,7 +60,9 @@ public class PythonLanguageAutoConfiguration {
         return new LanguageCustomizer() {
             @Override
             public void configure(String name, Language target) {
-                
CamelPropertiesHelper.copyProperties(((org.apache.camel.CamelContextAware) 
target).getCamelContext(), configuration, target);
+                if (target instanceof CamelContextAware cca && 
cca.getCamelContext() != null) {
+                    
CamelPropertiesHelper.copyProperties(cca.getCamelContext(), configuration, 
target);
+                }
             }
             @Override
             public boolean isEnabled(String name, Language target) {
diff --git 
a/components-starter/camel-saxon-starter/src/main/java/org/apache/camel/language/xquery/springboot/XQueryLanguageAutoConfiguration.java
 
b/components-starter/camel-saxon-starter/src/main/java/org/apache/camel/language/xquery/springboot/XQueryLanguageAutoConfiguration.java
index 57267bb3ec2..a1d335bf919 100644
--- 
a/components-starter/camel-saxon-starter/src/main/java/org/apache/camel/language/xquery/springboot/XQueryLanguageAutoConfiguration.java
+++ 
b/components-starter/camel-saxon-starter/src/main/java/org/apache/camel/language/xquery/springboot/XQueryLanguageAutoConfiguration.java
@@ -60,7 +60,9 @@ public class XQueryLanguageAutoConfiguration {
         return new LanguageCustomizer() {
             @Override
             public void configure(String name, Language target) {
-                
CamelPropertiesHelper.copyProperties(((org.apache.camel.CamelContextAware) 
target).getCamelContext(), configuration, target);
+                if (target instanceof CamelContextAware cca && 
cca.getCamelContext() != null) {
+                    
CamelPropertiesHelper.copyProperties(cca.getCamelContext(), configuration, 
target);
+                }
             }
             @Override
             public boolean isEnabled(String name, Language target) {
diff --git 
a/components-starter/camel-spring-starter/src/main/java/org/apache/camel/language/spel/springboot/SpelLanguageAutoConfiguration.java
 
b/components-starter/camel-spring-starter/src/main/java/org/apache/camel/language/spel/springboot/SpelLanguageAutoConfiguration.java
index 95fa774eba5..895e5c614a4 100644
--- 
a/components-starter/camel-spring-starter/src/main/java/org/apache/camel/language/spel/springboot/SpelLanguageAutoConfiguration.java
+++ 
b/components-starter/camel-spring-starter/src/main/java/org/apache/camel/language/spel/springboot/SpelLanguageAutoConfiguration.java
@@ -60,7 +60,9 @@ public class SpelLanguageAutoConfiguration {
         return new LanguageCustomizer() {
             @Override
             public void configure(String name, Language target) {
-                
CamelPropertiesHelper.copyProperties(((org.apache.camel.CamelContextAware) 
target).getCamelContext(), configuration, target);
+                if (target instanceof CamelContextAware cca && 
cca.getCamelContext() != null) {
+                    
CamelPropertiesHelper.copyProperties(cca.getCamelContext(), configuration, 
target);
+                }
             }
             @Override
             public boolean isEnabled(String name, Language target) {
diff --git 
a/components-starter/camel-stax-starter/src/main/java/org/apache/camel/language/xtokenizer/springboot/XMLTokenizeLanguageAutoConfiguration.java
 
b/components-starter/camel-stax-starter/src/main/java/org/apache/camel/language/xtokenizer/springboot/XMLTokenizeLanguageAutoConfiguration.java
index 40e945a9cba..63f44b34a34 100644
--- 
a/components-starter/camel-stax-starter/src/main/java/org/apache/camel/language/xtokenizer/springboot/XMLTokenizeLanguageAutoConfiguration.java
+++ 
b/components-starter/camel-stax-starter/src/main/java/org/apache/camel/language/xtokenizer/springboot/XMLTokenizeLanguageAutoConfiguration.java
@@ -60,7 +60,9 @@ public class XMLTokenizeLanguageAutoConfiguration {
         return new LanguageCustomizer() {
             @Override
             public void configure(String name, Language target) {
-                
CamelPropertiesHelper.copyProperties(((org.apache.camel.CamelContextAware) 
target).getCamelContext(), configuration, target);
+                if (target instanceof CamelContextAware cca && 
cca.getCamelContext() != null) {
+                    
CamelPropertiesHelper.copyProperties(cca.getCamelContext(), configuration, 
target);
+                }
             }
             @Override
             public boolean isEnabled(String name, Language target) {
diff --git 
a/components-starter/camel-wasm-starter/src/main/java/org/apache/camel/language/wasm/springboot/WasmLanguageAutoConfiguration.java
 
b/components-starter/camel-wasm-starter/src/main/java/org/apache/camel/language/wasm/springboot/WasmLanguageAutoConfiguration.java
index 384b2a124f1..56742e9048e 100644
--- 
a/components-starter/camel-wasm-starter/src/main/java/org/apache/camel/language/wasm/springboot/WasmLanguageAutoConfiguration.java
+++ 
b/components-starter/camel-wasm-starter/src/main/java/org/apache/camel/language/wasm/springboot/WasmLanguageAutoConfiguration.java
@@ -60,7 +60,9 @@ public class WasmLanguageAutoConfiguration {
         return new LanguageCustomizer() {
             @Override
             public void configure(String name, Language target) {
-                
CamelPropertiesHelper.copyProperties(((org.apache.camel.CamelContextAware) 
target).getCamelContext(), configuration, target);
+                if (target instanceof CamelContextAware cca && 
cca.getCamelContext() != null) {
+                    
CamelPropertiesHelper.copyProperties(cca.getCamelContext(), configuration, 
target);
+                }
             }
             @Override
             public boolean isEnabled(String name, Language target) {
diff --git 
a/components-starter/camel-xpath-starter/src/main/java/org/apache/camel/language/xpath/springboot/XPathLanguageAutoConfiguration.java
 
b/components-starter/camel-xpath-starter/src/main/java/org/apache/camel/language/xpath/springboot/XPathLanguageAutoConfiguration.java
index 48cd5a45cb4..f74a038b98e 100644
--- 
a/components-starter/camel-xpath-starter/src/main/java/org/apache/camel/language/xpath/springboot/XPathLanguageAutoConfiguration.java
+++ 
b/components-starter/camel-xpath-starter/src/main/java/org/apache/camel/language/xpath/springboot/XPathLanguageAutoConfiguration.java
@@ -60,7 +60,9 @@ public class XPathLanguageAutoConfiguration {
         return new LanguageCustomizer() {
             @Override
             public void configure(String name, Language target) {
-                
CamelPropertiesHelper.copyProperties(((org.apache.camel.CamelContextAware) 
target).getCamelContext(), configuration, target);
+                if (target instanceof CamelContextAware cca && 
cca.getCamelContext() != null) {
+                    
CamelPropertiesHelper.copyProperties(cca.getCamelContext(), configuration, 
target);
+                }
             }
             @Override
             public boolean isEnabled(String name, Language target) {
diff --git 
a/tooling/camel-spring-boot-generator-maven-plugin/src/main/java/org/apache/camel/springboot/maven/SpringBootAutoConfigurationMojo.java
 
b/tooling/camel-spring-boot-generator-maven-plugin/src/main/java/org/apache/camel/springboot/maven/SpringBootAutoConfigurationMojo.java
index 527b51237fc..a5457e95f34 100644
--- 
a/tooling/camel-spring-boot-generator-maven-plugin/src/main/java/org/apache/camel/springboot/maven/SpringBootAutoConfigurationMojo.java
+++ 
b/tooling/camel-spring-boot-generator-maven-plugin/src/main/java/org/apache/camel/springboot/maven/SpringBootAutoConfigurationMojo.java
@@ -1843,7 +1843,9 @@ public class SpringBootAutoConfigurationMojo extends 
AbstractSpringBootGenerator
     private static String createLanguageBody(String shortJavaType, String 
name) {
         return new StringBuilder().append("return new LanguageCustomizer() 
{\n").append("    @Override\n")
                 .append("    public void configure(String name, Language 
target) {\n")
-                .append("        
CamelPropertiesHelper.copyProperties(((org.apache.camel.CamelContextAware) 
target).getCamelContext(), configuration, target);\n")
+                .append("        if (target instanceof CamelContextAware cca 
&& cca.getCamelContext() != null) {\n")
+                .append("            
CamelPropertiesHelper.copyProperties(cca.getCamelContext(), configuration, 
target);\n")
+                .append("        }\n")
                 .append("    }\n").append("    @Override\n")
                 .append("    public boolean isEnabled(String name, Language 
target) {\n")
                 .append("        return 
HierarchicalPropertiesEvaluator.evaluate(\n")


Reply via email to