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

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


The following commit(s) were added to refs/heads/main by this push:
     new eb9f3f3b3fb [CAMEL-20849] Move TransformerKey and ValidatorKey to the 
SPI (#14395)
eb9f3f3b3fb is described below

commit eb9f3f3b3fb13e0efcee4bf4395e00fe833ac2a7
Author: Guillaume Nodet <gno...@gmail.com>
AuthorDate: Fri Jun 7 09:29:39 2024 +0200

    [CAMEL-20849] Move TransformerKey and ValidatorKey to the SPI (#14395)
---
 .../aws2/ddb/transform/Ddb2JsonDataTypeTransformerTest.java      | 2 +-
 .../s3/transform/AWS2S3CloudEventDataTypeTransformerTest.java    | 2 +-
 .../aws2/s3/transform/AWS2S3TransformCloudEventsTest.java        | 2 +-
 .../sqs/transform/AWS2SQSCloudEventDataTypeTransformerTest.java  | 2 +-
 .../AzureStorageBlobCloudEventDataTypeTransformerTest.java       | 2 +-
 .../transformer/CloudEventHttpDataTypeTransformerTest.java       | 2 +-
 .../transformer/CloudEventJsonDataTypeTransformerTest.java       | 2 +-
 .../GoogleStorageCloudEventDataTypeTransformerTest.java          | 2 +-
 .../avro/transform/AvroBinaryDataTypeTransformerTest.java        | 2 +-
 .../jackson/avro/transform/AvroPojoDataTypeTransformerTest.java  | 2 +-
 .../avro/transform/AvroStructDataTypeTransformerTest.java        | 2 +-
 .../transform/ProtobufBinaryDataTypeTransformerTest.java         | 2 +-
 .../protobuf/transform/ProtobufPojoDataTypeTransformerTest.java  | 2 +-
 .../transform/ProtobufStructDataTypeTransformerTest.java         | 2 +-
 .../component/jackson/transform/JsonDataTypeTransformerTest.java | 2 +-
 .../jackson/transform/JsonPojoDataTypeTransformerTest.java       | 2 +-
 .../jackson/transform/JsonStructDataTypeTransformerTest.java     | 2 +-
 .../src/main/java/org/apache/camel/spi}/TransformerKey.java      | 4 +---
 .../src/main/java/org/apache/camel/spi/TransformerRegistry.java  | 6 ++----
 .../src/main/java/org/apache/camel/spi}/ValidatorKey.java        | 3 +--
 .../src/main/java/org/apache/camel/spi/ValidatorRegistry.java    | 6 ++----
 .../java/org/apache/camel/impl/engine/AbstractCamelContext.java  | 6 ++++--
 .../apache/camel/impl/engine/DefaultCamelContextExtension.java   | 4 ++--
 .../org/apache/camel/impl/engine/DefaultTransformerRegistry.java | 3 ++-
 .../org/apache/camel/impl/engine/DefaultTransformerResolver.java | 1 +
 .../org/apache/camel/impl/engine/DefaultValidatorRegistry.java   | 3 ++-
 .../java/org/apache/camel/impl/engine/SimpleCamelContext.java    | 4 ++--
 .../java/org/apache/camel/impl/console/TransformerConsole.java   | 6 +++---
 .../src/main/java/org/apache/camel/impl/DefaultCamelContext.java | 9 ++++-----
 .../camel/processor/transformer/AnnotationTransformerLoader.java | 2 +-
 .../apache/camel/processor/transformer/DataTypeProcessor.java    | 2 +-
 .../camel/processor/transformer/DefaultTransformerLoader.java    | 3 ++-
 .../apache/camel/core/xml/AbstractCamelContextFactoryBean.java   | 7 +++----
 .../apache/camel/impl/engine/DefaultTransformerRegistryTest.java | 1 +
 .../apache/camel/impl/engine/DefaultTransformerResolverTest.java | 1 +
 .../processor/transformer/ByteArrayDataTypeTransformerTest.java  | 2 +-
 .../processor/transformer/StringDataTypeTransformerTest.java     | 2 +-
 .../apache/camel/management/JmxManagementLifecycleStrategy.java  | 4 ++--
 .../camel/management/mbean/ManagedTransformerRegistry.java       | 6 +++---
 .../apache/camel/management/mbean/ManagedValidatorRegistry.java  | 6 +++---
 .../modules/ROOT/pages/camel-4x-upgrade-guide-4_7.adoc           | 6 ++++++
 .../jbang/core/commands/k/support/StubTransformerResolver.java   | 2 +-
 .../main/download/DependencyDownloaderTransformerResolver.java   | 2 +-
 43 files changed, 70 insertions(+), 65 deletions(-)

diff --git 
a/components/camel-aws/camel-aws2-ddb/src/test/java/org/apache/camel/component/aws2/ddb/transform/Ddb2JsonDataTypeTransformerTest.java
 
b/components/camel-aws/camel-aws2-ddb/src/test/java/org/apache/camel/component/aws2/ddb/transform/Ddb2JsonDataTypeTransformerTest.java
index 7e869e27f9d..a401bfea23f 100644
--- 
a/components/camel-aws/camel-aws2-ddb/src/test/java/org/apache/camel/component/aws2/ddb/transform/Ddb2JsonDataTypeTransformerTest.java
+++ 
b/components/camel-aws/camel-aws2-ddb/src/test/java/org/apache/camel/component/aws2/ddb/transform/Ddb2JsonDataTypeTransformerTest.java
@@ -25,9 +25,9 @@ import org.apache.camel.component.aws2.ddb.Ddb2Constants;
 import org.apache.camel.component.aws2.ddb.Ddb2Operations;
 import org.apache.camel.component.jackson.transform.Json;
 import org.apache.camel.impl.DefaultCamelContext;
-import org.apache.camel.impl.engine.TransformerKey;
 import org.apache.camel.spi.DataType;
 import org.apache.camel.spi.Transformer;
+import org.apache.camel.spi.TransformerKey;
 import org.apache.camel.support.DefaultExchange;
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.BeforeEach;
diff --git 
a/components/camel-aws/camel-aws2-s3/src/test/java/org/apache/camel/component/aws2/s3/transform/AWS2S3CloudEventDataTypeTransformerTest.java
 
b/components/camel-aws/camel-aws2-s3/src/test/java/org/apache/camel/component/aws2/s3/transform/AWS2S3CloudEventDataTypeTransformerTest.java
index 603af2181bf..d6bfe3e0539 100644
--- 
a/components/camel-aws/camel-aws2-s3/src/test/java/org/apache/camel/component/aws2/s3/transform/AWS2S3CloudEventDataTypeTransformerTest.java
+++ 
b/components/camel-aws/camel-aws2-s3/src/test/java/org/apache/camel/component/aws2/s3/transform/AWS2S3CloudEventDataTypeTransformerTest.java
@@ -24,9 +24,9 @@ import org.apache.camel.Exchange;
 import org.apache.camel.cloudevents.CloudEvent;
 import org.apache.camel.component.aws2.s3.AWS2S3Constants;
 import org.apache.camel.impl.DefaultCamelContext;
-import org.apache.camel.impl.engine.TransformerKey;
 import org.apache.camel.spi.DataType;
 import org.apache.camel.spi.Transformer;
+import org.apache.camel.spi.TransformerKey;
 import org.apache.camel.support.DefaultExchange;
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.Test;
diff --git 
a/components/camel-aws/camel-aws2-s3/src/test/java/org/apache/camel/component/aws2/s3/transform/AWS2S3TransformCloudEventsTest.java
 
b/components/camel-aws/camel-aws2-s3/src/test/java/org/apache/camel/component/aws2/s3/transform/AWS2S3TransformCloudEventsTest.java
index 9797b04272c..46dcc44ca31 100644
--- 
a/components/camel-aws/camel-aws2-s3/src/test/java/org/apache/camel/component/aws2/s3/transform/AWS2S3TransformCloudEventsTest.java
+++ 
b/components/camel-aws/camel-aws2-s3/src/test/java/org/apache/camel/component/aws2/s3/transform/AWS2S3TransformCloudEventsTest.java
@@ -24,9 +24,9 @@ import org.apache.camel.cloudevents.CloudEvent;
 import org.apache.camel.component.aws2.s3.AWS2S3Constants;
 import org.apache.camel.component.aws2.s3.AWS2S3Operations;
 import org.apache.camel.impl.DefaultCamelContext;
-import org.apache.camel.impl.engine.TransformerKey;
 import org.apache.camel.spi.DataType;
 import org.apache.camel.spi.Transformer;
+import org.apache.camel.spi.TransformerKey;
 import org.apache.camel.support.DefaultExchange;
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.Test;
diff --git 
a/components/camel-aws/camel-aws2-sqs/src/test/java/org/apache/camel/component/aws2/sqs/transform/AWS2SQSCloudEventDataTypeTransformerTest.java
 
b/components/camel-aws/camel-aws2-sqs/src/test/java/org/apache/camel/component/aws2/sqs/transform/AWS2SQSCloudEventDataTypeTransformerTest.java
index b1fcc14fb66..384f9c8a6d8 100644
--- 
a/components/camel-aws/camel-aws2-sqs/src/test/java/org/apache/camel/component/aws2/sqs/transform/AWS2SQSCloudEventDataTypeTransformerTest.java
+++ 
b/components/camel-aws/camel-aws2-sqs/src/test/java/org/apache/camel/component/aws2/sqs/transform/AWS2SQSCloudEventDataTypeTransformerTest.java
@@ -24,9 +24,9 @@ import org.apache.camel.Exchange;
 import org.apache.camel.cloudevents.CloudEvent;
 import org.apache.camel.component.aws2.sqs.Sqs2Constants;
 import org.apache.camel.impl.DefaultCamelContext;
-import org.apache.camel.impl.engine.TransformerKey;
 import org.apache.camel.spi.DataType;
 import org.apache.camel.spi.Transformer;
+import org.apache.camel.spi.TransformerKey;
 import org.apache.camel.support.DefaultExchange;
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.Test;
diff --git 
a/components/camel-azure/camel-azure-storage-blob/src/test/java/org/apache/camel/component/azure/storage/blob/transform/AzureStorageBlobCloudEventDataTypeTransformerTest.java
 
b/components/camel-azure/camel-azure-storage-blob/src/test/java/org/apache/camel/component/azure/storage/blob/transform/AzureStorageBlobCloudEventDataTypeTransformerTest.java
index fcd051eb879..28413533769 100644
--- 
a/components/camel-azure/camel-azure-storage-blob/src/test/java/org/apache/camel/component/azure/storage/blob/transform/AzureStorageBlobCloudEventDataTypeTransformerTest.java
+++ 
b/components/camel-azure/camel-azure-storage-blob/src/test/java/org/apache/camel/component/azure/storage/blob/transform/AzureStorageBlobCloudEventDataTypeTransformerTest.java
@@ -24,9 +24,9 @@ import org.apache.camel.Exchange;
 import org.apache.camel.cloudevents.CloudEvent;
 import org.apache.camel.component.azure.storage.blob.BlobConstants;
 import org.apache.camel.impl.DefaultCamelContext;
-import org.apache.camel.impl.engine.TransformerKey;
 import org.apache.camel.spi.DataType;
 import org.apache.camel.spi.Transformer;
+import org.apache.camel.spi.TransformerKey;
 import org.apache.camel.support.DefaultExchange;
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.Test;
diff --git 
a/components/camel-cloudevents/src/test/java/org/apache/camel/component/cloudevents/transformer/CloudEventHttpDataTypeTransformerTest.java
 
b/components/camel-cloudevents/src/test/java/org/apache/camel/component/cloudevents/transformer/CloudEventHttpDataTypeTransformerTest.java
index 433c419b0ff..dbea1b8c7d9 100644
--- 
a/components/camel-cloudevents/src/test/java/org/apache/camel/component/cloudevents/transformer/CloudEventHttpDataTypeTransformerTest.java
+++ 
b/components/camel-cloudevents/src/test/java/org/apache/camel/component/cloudevents/transformer/CloudEventHttpDataTypeTransformerTest.java
@@ -24,9 +24,9 @@ import org.apache.camel.Exchange;
 import org.apache.camel.cloudevents.CloudEvent;
 import org.apache.camel.cloudevents.CloudEvents;
 import org.apache.camel.impl.DefaultCamelContext;
-import org.apache.camel.impl.engine.TransformerKey;
 import org.apache.camel.spi.DataType;
 import org.apache.camel.spi.Transformer;
+import org.apache.camel.spi.TransformerKey;
 import org.apache.camel.support.DefaultExchange;
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.Test;
diff --git 
a/components/camel-cloudevents/src/test/java/org/apache/camel/component/cloudevents/transformer/CloudEventJsonDataTypeTransformerTest.java
 
b/components/camel-cloudevents/src/test/java/org/apache/camel/component/cloudevents/transformer/CloudEventJsonDataTypeTransformerTest.java
index f9a333a51eb..b327cf15925 100644
--- 
a/components/camel-cloudevents/src/test/java/org/apache/camel/component/cloudevents/transformer/CloudEventJsonDataTypeTransformerTest.java
+++ 
b/components/camel-cloudevents/src/test/java/org/apache/camel/component/cloudevents/transformer/CloudEventJsonDataTypeTransformerTest.java
@@ -24,9 +24,9 @@ import org.apache.camel.Exchange;
 import org.apache.camel.cloudevents.CloudEvent;
 import org.apache.camel.cloudevents.CloudEvents;
 import org.apache.camel.impl.DefaultCamelContext;
-import org.apache.camel.impl.engine.TransformerKey;
 import org.apache.camel.spi.DataType;
 import org.apache.camel.spi.Transformer;
+import org.apache.camel.spi.TransformerKey;
 import org.apache.camel.support.DefaultExchange;
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.Test;
diff --git 
a/components/camel-google/camel-google-storage/src/test/java/org/apache/camel/component/google/storage/transform/GoogleStorageCloudEventDataTypeTransformerTest.java
 
b/components/camel-google/camel-google-storage/src/test/java/org/apache/camel/component/google/storage/transform/GoogleStorageCloudEventDataTypeTransformerTest.java
index 37f7b0a1cc9..cde68608ee1 100644
--- 
a/components/camel-google/camel-google-storage/src/test/java/org/apache/camel/component/google/storage/transform/GoogleStorageCloudEventDataTypeTransformerTest.java
+++ 
b/components/camel-google/camel-google-storage/src/test/java/org/apache/camel/component/google/storage/transform/GoogleStorageCloudEventDataTypeTransformerTest.java
@@ -24,9 +24,9 @@ import org.apache.camel.Exchange;
 import org.apache.camel.cloudevents.CloudEvent;
 import org.apache.camel.component.google.storage.GoogleCloudStorageConstants;
 import org.apache.camel.impl.DefaultCamelContext;
-import org.apache.camel.impl.engine.TransformerKey;
 import org.apache.camel.spi.DataType;
 import org.apache.camel.spi.Transformer;
+import org.apache.camel.spi.TransformerKey;
 import org.apache.camel.support.DefaultExchange;
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.Test;
diff --git 
a/components/camel-jackson-avro/src/test/java/org/apache/camel/component/jackson/avro/transform/AvroBinaryDataTypeTransformerTest.java
 
b/components/camel-jackson-avro/src/test/java/org/apache/camel/component/jackson/avro/transform/AvroBinaryDataTypeTransformerTest.java
index 1184d85798a..c6a60b695d7 100644
--- 
a/components/camel-jackson-avro/src/test/java/org/apache/camel/component/jackson/avro/transform/AvroBinaryDataTypeTransformerTest.java
+++ 
b/components/camel-jackson-avro/src/test/java/org/apache/camel/component/jackson/avro/transform/AvroBinaryDataTypeTransformerTest.java
@@ -25,9 +25,9 @@ import org.apache.camel.Exchange;
 import org.apache.camel.component.jackson.SchemaHelper;
 import org.apache.camel.component.jackson.transform.Json;
 import org.apache.camel.impl.DefaultCamelContext;
-import org.apache.camel.impl.engine.TransformerKey;
 import org.apache.camel.spi.DataType;
 import org.apache.camel.spi.Transformer;
+import org.apache.camel.spi.TransformerKey;
 import org.apache.camel.support.DefaultExchange;
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.Test;
diff --git 
a/components/camel-jackson-avro/src/test/java/org/apache/camel/component/jackson/avro/transform/AvroPojoDataTypeTransformerTest.java
 
b/components/camel-jackson-avro/src/test/java/org/apache/camel/component/jackson/avro/transform/AvroPojoDataTypeTransformerTest.java
index 09c8be85509..1b7240ba1c1 100644
--- 
a/components/camel-jackson-avro/src/test/java/org/apache/camel/component/jackson/avro/transform/AvroPojoDataTypeTransformerTest.java
+++ 
b/components/camel-jackson-avro/src/test/java/org/apache/camel/component/jackson/avro/transform/AvroPojoDataTypeTransformerTest.java
@@ -25,9 +25,9 @@ import org.apache.camel.Exchange;
 import org.apache.camel.component.jackson.SchemaHelper;
 import org.apache.camel.component.jackson.transform.Json;
 import org.apache.camel.impl.DefaultCamelContext;
-import org.apache.camel.impl.engine.TransformerKey;
 import org.apache.camel.spi.DataType;
 import org.apache.camel.spi.Transformer;
+import org.apache.camel.spi.TransformerKey;
 import org.apache.camel.support.DefaultExchange;
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.BeforeEach;
diff --git 
a/components/camel-jackson-avro/src/test/java/org/apache/camel/component/jackson/avro/transform/AvroStructDataTypeTransformerTest.java
 
b/components/camel-jackson-avro/src/test/java/org/apache/camel/component/jackson/avro/transform/AvroStructDataTypeTransformerTest.java
index 1253c407bfc..2917235f86d 100644
--- 
a/components/camel-jackson-avro/src/test/java/org/apache/camel/component/jackson/avro/transform/AvroStructDataTypeTransformerTest.java
+++ 
b/components/camel-jackson-avro/src/test/java/org/apache/camel/component/jackson/avro/transform/AvroStructDataTypeTransformerTest.java
@@ -26,9 +26,9 @@ import org.apache.camel.Exchange;
 import org.apache.camel.component.jackson.SchemaHelper;
 import org.apache.camel.component.jackson.transform.Json;
 import org.apache.camel.impl.DefaultCamelContext;
-import org.apache.camel.impl.engine.TransformerKey;
 import org.apache.camel.spi.DataType;
 import org.apache.camel.spi.Transformer;
+import org.apache.camel.spi.TransformerKey;
 import org.apache.camel.support.DefaultExchange;
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.Test;
diff --git 
a/components/camel-jackson-protobuf/src/test/java/org/apache/camel/component/jackson/protobuf/transform/ProtobufBinaryDataTypeTransformerTest.java
 
b/components/camel-jackson-protobuf/src/test/java/org/apache/camel/component/jackson/protobuf/transform/ProtobufBinaryDataTypeTransformerTest.java
index 24f02841c7d..424975ad6bb 100644
--- 
a/components/camel-jackson-protobuf/src/test/java/org/apache/camel/component/jackson/protobuf/transform/ProtobufBinaryDataTypeTransformerTest.java
+++ 
b/components/camel-jackson-protobuf/src/test/java/org/apache/camel/component/jackson/protobuf/transform/ProtobufBinaryDataTypeTransformerTest.java
@@ -25,9 +25,9 @@ import org.apache.camel.Exchange;
 import org.apache.camel.component.jackson.SchemaHelper;
 import org.apache.camel.component.jackson.transform.Json;
 import org.apache.camel.impl.DefaultCamelContext;
-import org.apache.camel.impl.engine.TransformerKey;
 import org.apache.camel.spi.DataType;
 import org.apache.camel.spi.Transformer;
+import org.apache.camel.spi.TransformerKey;
 import org.apache.camel.support.DefaultExchange;
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.Test;
diff --git 
a/components/camel-jackson-protobuf/src/test/java/org/apache/camel/component/jackson/protobuf/transform/ProtobufPojoDataTypeTransformerTest.java
 
b/components/camel-jackson-protobuf/src/test/java/org/apache/camel/component/jackson/protobuf/transform/ProtobufPojoDataTypeTransformerTest.java
index 52e66ba7137..b026508ab98 100644
--- 
a/components/camel-jackson-protobuf/src/test/java/org/apache/camel/component/jackson/protobuf/transform/ProtobufPojoDataTypeTransformerTest.java
+++ 
b/components/camel-jackson-protobuf/src/test/java/org/apache/camel/component/jackson/protobuf/transform/ProtobufPojoDataTypeTransformerTest.java
@@ -25,9 +25,9 @@ import org.apache.camel.Exchange;
 import org.apache.camel.component.jackson.SchemaHelper;
 import org.apache.camel.component.jackson.transform.Json;
 import org.apache.camel.impl.DefaultCamelContext;
-import org.apache.camel.impl.engine.TransformerKey;
 import org.apache.camel.spi.DataType;
 import org.apache.camel.spi.Transformer;
+import org.apache.camel.spi.TransformerKey;
 import org.apache.camel.support.DefaultExchange;
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.BeforeEach;
diff --git 
a/components/camel-jackson-protobuf/src/test/java/org/apache/camel/component/jackson/protobuf/transform/ProtobufStructDataTypeTransformerTest.java
 
b/components/camel-jackson-protobuf/src/test/java/org/apache/camel/component/jackson/protobuf/transform/ProtobufStructDataTypeTransformerTest.java
index a96362d4a14..5d5d7d62512 100644
--- 
a/components/camel-jackson-protobuf/src/test/java/org/apache/camel/component/jackson/protobuf/transform/ProtobufStructDataTypeTransformerTest.java
+++ 
b/components/camel-jackson-protobuf/src/test/java/org/apache/camel/component/jackson/protobuf/transform/ProtobufStructDataTypeTransformerTest.java
@@ -26,9 +26,9 @@ import org.apache.camel.Exchange;
 import org.apache.camel.component.jackson.SchemaHelper;
 import org.apache.camel.component.jackson.transform.Json;
 import org.apache.camel.impl.DefaultCamelContext;
-import org.apache.camel.impl.engine.TransformerKey;
 import org.apache.camel.spi.DataType;
 import org.apache.camel.spi.Transformer;
+import org.apache.camel.spi.TransformerKey;
 import org.apache.camel.support.DefaultExchange;
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.Test;
diff --git 
a/components/camel-jackson/src/test/java/org/apache/camel/component/jackson/transform/JsonDataTypeTransformerTest.java
 
b/components/camel-jackson/src/test/java/org/apache/camel/component/jackson/transform/JsonDataTypeTransformerTest.java
index 5bfed10972c..173a6dc5786 100644
--- 
a/components/camel-jackson/src/test/java/org/apache/camel/component/jackson/transform/JsonDataTypeTransformerTest.java
+++ 
b/components/camel-jackson/src/test/java/org/apache/camel/component/jackson/transform/JsonDataTypeTransformerTest.java
@@ -21,9 +21,9 @@ import com.fasterxml.jackson.databind.JsonNode;
 import org.apache.camel.Exchange;
 import org.apache.camel.component.jackson.SchemaHelper;
 import org.apache.camel.impl.DefaultCamelContext;
-import org.apache.camel.impl.engine.TransformerKey;
 import org.apache.camel.spi.DataType;
 import org.apache.camel.spi.Transformer;
+import org.apache.camel.spi.TransformerKey;
 import org.apache.camel.support.DefaultExchange;
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.Test;
diff --git 
a/components/camel-jackson/src/test/java/org/apache/camel/component/jackson/transform/JsonPojoDataTypeTransformerTest.java
 
b/components/camel-jackson/src/test/java/org/apache/camel/component/jackson/transform/JsonPojoDataTypeTransformerTest.java
index bcb15bde744..d9e832d40c6 100644
--- 
a/components/camel-jackson/src/test/java/org/apache/camel/component/jackson/transform/JsonPojoDataTypeTransformerTest.java
+++ 
b/components/camel-jackson/src/test/java/org/apache/camel/component/jackson/transform/JsonPojoDataTypeTransformerTest.java
@@ -21,9 +21,9 @@ import com.fasterxml.jackson.databind.JsonNode;
 import org.apache.camel.Exchange;
 import org.apache.camel.component.jackson.SchemaHelper;
 import org.apache.camel.impl.DefaultCamelContext;
-import org.apache.camel.impl.engine.TransformerKey;
 import org.apache.camel.spi.DataType;
 import org.apache.camel.spi.Transformer;
+import org.apache.camel.spi.TransformerKey;
 import org.apache.camel.support.DefaultExchange;
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.BeforeEach;
diff --git 
a/components/camel-jackson/src/test/java/org/apache/camel/component/jackson/transform/JsonStructDataTypeTransformerTest.java
 
b/components/camel-jackson/src/test/java/org/apache/camel/component/jackson/transform/JsonStructDataTypeTransformerTest.java
index 709909067e5..07f27b5139a 100644
--- 
a/components/camel-jackson/src/test/java/org/apache/camel/component/jackson/transform/JsonStructDataTypeTransformerTest.java
+++ 
b/components/camel-jackson/src/test/java/org/apache/camel/component/jackson/transform/JsonStructDataTypeTransformerTest.java
@@ -22,9 +22,9 @@ import com.fasterxml.jackson.databind.node.ObjectNode;
 import org.apache.camel.Exchange;
 import org.apache.camel.component.jackson.SchemaHelper;
 import org.apache.camel.impl.DefaultCamelContext;
-import org.apache.camel.impl.engine.TransformerKey;
 import org.apache.camel.spi.DataType;
 import org.apache.camel.spi.Transformer;
+import org.apache.camel.spi.TransformerKey;
 import org.apache.camel.support.DefaultExchange;
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.Test;
diff --git 
a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/TransformerKey.java
 b/core/camel-api/src/main/java/org/apache/camel/spi/TransformerKey.java
similarity index 95%
rename from 
core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/TransformerKey.java
rename to core/camel-api/src/main/java/org/apache/camel/spi/TransformerKey.java
index 01b769cb446..f285bd61720 100644
--- 
a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/TransformerKey.java
+++ b/core/camel-api/src/main/java/org/apache/camel/spi/TransformerKey.java
@@ -14,11 +14,9 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.camel.impl.engine;
+package org.apache.camel.spi;
 
 import org.apache.camel.ValueHolder;
-import org.apache.camel.spi.DataType;
-import org.apache.camel.spi.Transformer;
 import org.apache.camel.util.StringHelper;
 
 /**
diff --git 
a/core/camel-api/src/main/java/org/apache/camel/spi/TransformerRegistry.java 
b/core/camel-api/src/main/java/org/apache/camel/spi/TransformerRegistry.java
index 40f769e267d..05cb8185d47 100644
--- a/core/camel-api/src/main/java/org/apache/camel/spi/TransformerRegistry.java
+++ b/core/camel-api/src/main/java/org/apache/camel/spi/TransformerRegistry.java
@@ -34,10 +34,8 @@ import org.apache.camel.StaticService;
  * <p/>
  * The dynamic cache stores the transformers that are created and used ad-hoc, 
such as from custom Java code that
  * creates new transformers etc. The dynamic cache has an upper limit, that by 
default is 1000 entries.
- *
- * @param <K> transformer key
  */
-public interface TransformerRegistry<K> extends Map<K, Transformer>, 
StaticService {
+public interface TransformerRegistry extends Map<TransformerKey, Transformer>, 
StaticService {
 
     /**
      * Lookup a {@link Transformer} in the registry which supports the 
transformation for the data types represented by
@@ -46,7 +44,7 @@ public interface TransformerRegistry<K> extends Map<K, 
Transformer>, StaticServi
      * @param  key a key represents the from/to data types to transform
      * @return     {@link Transformer} if matched, otherwise null
      */
-    Transformer resolveTransformer(K key);
+    Transformer resolveTransformer(TransformerKey key);
 
     /**
      * Number of transformers in the static registry.
diff --git 
a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/ValidatorKey.java
 b/core/camel-api/src/main/java/org/apache/camel/spi/ValidatorKey.java
similarity index 94%
rename from 
core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/ValidatorKey.java
rename to core/camel-api/src/main/java/org/apache/camel/spi/ValidatorKey.java
index fb1bfe85adc..b6cb4b1f5bf 100644
--- 
a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/ValidatorKey.java
+++ b/core/camel-api/src/main/java/org/apache/camel/spi/ValidatorKey.java
@@ -14,11 +14,10 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.camel.impl.engine;
+package org.apache.camel.spi;
 
 import org.apache.camel.CamelContext;
 import org.apache.camel.ValueHolder;
-import org.apache.camel.spi.DataType;
 
 /**
  * Key used in {@link org.apache.camel.spi.ValidatorRegistry} in {@link 
CamelContext}, to ensure a consistent lookup.
diff --git 
a/core/camel-api/src/main/java/org/apache/camel/spi/ValidatorRegistry.java 
b/core/camel-api/src/main/java/org/apache/camel/spi/ValidatorRegistry.java
index 4ba1ada4662..da2f390e45a 100644
--- a/core/camel-api/src/main/java/org/apache/camel/spi/ValidatorRegistry.java
+++ b/core/camel-api/src/main/java/org/apache/camel/spi/ValidatorRegistry.java
@@ -34,10 +34,8 @@ import org.apache.camel.StaticService;
  * <p/>
  * The dynamic cache stores the validators that are created and used ad-hoc, 
such as from custom Java code that creates
  * new validators etc. The dynamic cache has an upper limit, that by default 
is 1000 entries.
- *
- * @param <K> validator key
  */
-public interface ValidatorRegistry<K> extends Map<K, Validator>, StaticService 
{
+public interface ValidatorRegistry extends Map<ValidatorKey, Validator>, 
StaticService {
 
     /**
      * Lookup a {@link Validator} in the registry which supports the 
validation for the data type represented by the
@@ -46,7 +44,7 @@ public interface ValidatorRegistry<K> extends Map<K, 
Validator>, StaticService {
      * @param  key a key represents the data type
      * @return     {@link Validator} if matched, otherwise null
      */
-    Validator resolveValidator(K key);
+    Validator resolveValidator(ValidatorKey key);
 
     /**
      * Number of validators in the static registry.
diff --git 
a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/AbstractCamelContext.java
 
b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/AbstractCamelContext.java
index 10642fc6eb7..960b201782d 100644
--- 
a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/AbstractCamelContext.java
+++ 
b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/AbstractCamelContext.java
@@ -162,12 +162,14 @@ import org.apache.camel.spi.StartupStepRecorder;
 import org.apache.camel.spi.StreamCachingStrategy;
 import org.apache.camel.spi.Tracer;
 import org.apache.camel.spi.Transformer;
+import org.apache.camel.spi.TransformerKey;
 import org.apache.camel.spi.TransformerRegistry;
 import org.apache.camel.spi.TypeConverterRegistry;
 import org.apache.camel.spi.UnitOfWorkFactory;
 import org.apache.camel.spi.UriFactoryResolver;
 import org.apache.camel.spi.UuidGenerator;
 import org.apache.camel.spi.Validator;
+import org.apache.camel.spi.ValidatorKey;
 import org.apache.camel.spi.ValidatorRegistry;
 import org.apache.camel.spi.VariableRepository;
 import org.apache.camel.spi.VariableRepositoryFactory;
@@ -4064,9 +4066,9 @@ public abstract class AbstractCamelContext extends 
BaseService
     protected abstract EndpointRegistry createEndpointRegistry(
             Map<NormalizedEndpointUri, Endpoint> endpoints);
 
-    protected abstract TransformerRegistry<TransformerKey> 
createTransformerRegistry();
+    protected abstract TransformerRegistry createTransformerRegistry();
 
-    protected abstract ValidatorRegistry<ValidatorKey> 
createValidatorRegistry();
+    protected abstract ValidatorRegistry createValidatorRegistry();
 
     protected abstract VariableRepositoryFactory 
createVariableRepositoryFactory();
 
diff --git 
a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultCamelContextExtension.java
 
b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultCamelContextExtension.java
index a5cffbd9248..615e2301ee6 100644
--- 
a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultCamelContextExtension.java
+++ 
b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultCamelContextExtension.java
@@ -122,8 +122,8 @@ class DefaultCamelContextExtension implements 
ExtendedCamelContext {
     private volatile InflightRepository inflightRepository;
     private volatile UuidGenerator uuidGenerator;
     private volatile Tracer tracer;
-    private volatile TransformerRegistry<TransformerKey> transformerRegistry;
-    private volatile ValidatorRegistry<ValidatorKey> validatorRegistry;
+    private volatile TransformerRegistry transformerRegistry;
+    private volatile ValidatorRegistry validatorRegistry;
     private volatile TypeConverterRegistry typeConverterRegistry;
     private volatile EndpointServiceRegistry endpointServiceRegistry;
     private volatile TypeConverter typeConverter;
diff --git 
a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultTransformerRegistry.java
 
b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultTransformerRegistry.java
index 1b6293b7562..59412c00285 100644
--- 
a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultTransformerRegistry.java
+++ 
b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultTransformerRegistry.java
@@ -23,6 +23,7 @@ import org.apache.camel.CamelContext;
 import org.apache.camel.CamelContextAware;
 import org.apache.camel.spi.DataType;
 import org.apache.camel.spi.Transformer;
+import org.apache.camel.spi.TransformerKey;
 import org.apache.camel.spi.TransformerLoader;
 import org.apache.camel.spi.TransformerRegistry;
 import org.apache.camel.spi.TransformerResolver;
@@ -36,7 +37,7 @@ import org.slf4j.LoggerFactory;
  * Default implementation of {@link org.apache.camel.spi.TransformerRegistry}.
  */
 public class DefaultTransformerRegistry extends 
AbstractDynamicRegistry<TransformerKey, Transformer>
-        implements TransformerRegistry<TransformerKey> {
+        implements TransformerRegistry {
 
     private static final Logger LOG = 
LoggerFactory.getLogger(DefaultTransformerRegistry.class);
 
diff --git 
a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultTransformerResolver.java
 
b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultTransformerResolver.java
index 28939133adf..4d55b6a635b 100644
--- 
a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultTransformerResolver.java
+++ 
b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultTransformerResolver.java
@@ -22,6 +22,7 @@ import java.util.Optional;
 import org.apache.camel.CamelContext;
 import org.apache.camel.CamelContextAware;
 import org.apache.camel.spi.Transformer;
+import org.apache.camel.spi.TransformerKey;
 import org.apache.camel.spi.TransformerResolver;
 import org.apache.camel.util.ObjectHelper;
 import org.slf4j.Logger;
diff --git 
a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultValidatorRegistry.java
 
b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultValidatorRegistry.java
index ef114820264..ff4a0749320 100644
--- 
a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultValidatorRegistry.java
+++ 
b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultValidatorRegistry.java
@@ -19,6 +19,7 @@ package org.apache.camel.impl.engine;
 import org.apache.camel.CamelContext;
 import org.apache.camel.spi.DataType;
 import org.apache.camel.spi.Validator;
+import org.apache.camel.spi.ValidatorKey;
 import org.apache.camel.spi.ValidatorRegistry;
 import org.apache.camel.support.CamelContextHelper;
 import org.apache.camel.support.service.ServiceHelper;
@@ -28,7 +29,7 @@ import org.apache.camel.util.ObjectHelper;
  * Default implementation of {@link org.apache.camel.spi.ValidatorRegistry}.
  */
 public class DefaultValidatorRegistry extends 
AbstractDynamicRegistry<ValidatorKey, Validator>
-        implements ValidatorRegistry<ValidatorKey> {
+        implements ValidatorRegistry {
 
     public DefaultValidatorRegistry(CamelContext context) {
         super(context, 
CamelContextHelper.getMaximumValidatorCacheSize(context));
diff --git 
a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/SimpleCamelContext.java
 
b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/SimpleCamelContext.java
index d75244f8c34..23cf7a44297 100644
--- 
a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/SimpleCamelContext.java
+++ 
b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/SimpleCamelContext.java
@@ -718,7 +718,7 @@ public class SimpleCamelContext extends 
AbstractCamelContext {
     }
 
     @Override
-    protected ValidatorRegistry<ValidatorKey> createValidatorRegistry() {
+    protected ValidatorRegistry createValidatorRegistry() {
         return new DefaultValidatorRegistry(getCamelContextReference());
     }
 
@@ -733,7 +733,7 @@ public class SimpleCamelContext extends 
AbstractCamelContext {
     }
 
     @Override
-    protected TransformerRegistry<TransformerKey> createTransformerRegistry() {
+    protected TransformerRegistry createTransformerRegistry() {
         return new DefaultTransformerRegistry(getCamelContextReference());
     }
 
diff --git 
a/core/camel-console/src/main/java/org/apache/camel/impl/console/TransformerConsole.java
 
b/core/camel-console/src/main/java/org/apache/camel/impl/console/TransformerConsole.java
index a3c0aec50c1..6400d2fd96c 100644
--- 
a/core/camel-console/src/main/java/org/apache/camel/impl/console/TransformerConsole.java
+++ 
b/core/camel-console/src/main/java/org/apache/camel/impl/console/TransformerConsole.java
@@ -36,7 +36,7 @@ public class TransformerConsole extends AbstractDevConsole {
     protected String doCallText(Map<String, Object> options) {
         StringBuilder sb = new StringBuilder();
 
-        TransformerRegistry<?> reg = 
getCamelContext().getTransformerRegistry();
+        TransformerRegistry reg = getCamelContext().getTransformerRegistry();
         sb.append(String.format("\n    Size: %s", reg.size()));
         sb.append(String.format("\n    Dynamic Size: %s", reg.dynamicSize()));
         sb.append(String.format("\n    Static Size: %s", reg.staticSize()));
@@ -59,7 +59,7 @@ public class TransformerConsole extends AbstractDevConsole {
     protected JsonObject doCallJson(Map<String, Object> options) {
         JsonObject root = new JsonObject();
 
-        TransformerRegistry<?> reg = 
getCamelContext().getTransformerRegistry();
+        TransformerRegistry reg = getCamelContext().getTransformerRegistry();
         root.put("size", reg.size());
         root.put("dynamicSize", reg.dynamicSize());
         root.put("staticSize", reg.staticSize());
@@ -71,7 +71,7 @@ public class TransformerConsole extends AbstractDevConsole {
         return root;
     }
 
-    private static JsonArray toJsonArray(TransformerRegistry<?> reg) {
+    private static JsonArray toJsonArray(TransformerRegistry reg) {
         JsonArray arr = new JsonArray();
         for (Map.Entry<?, Transformer> entry : reg.entrySet()) {
             Transformer t = entry.getValue();
diff --git 
a/core/camel-core-engine/src/main/java/org/apache/camel/impl/DefaultCamelContext.java
 
b/core/camel-core-engine/src/main/java/org/apache/camel/impl/DefaultCamelContext.java
index b0493d5d4c9..e52184981ec 100644
--- 
a/core/camel-core-engine/src/main/java/org/apache/camel/impl/DefaultCamelContext.java
+++ 
b/core/camel-core-engine/src/main/java/org/apache/camel/impl/DefaultCamelContext.java
@@ -35,13 +35,10 @@ import org.apache.camel.Processor;
 import org.apache.camel.Route;
 import org.apache.camel.RouteTemplateContext;
 import org.apache.camel.StartupStep;
-import org.apache.camel.ValueHolder;
 import org.apache.camel.api.management.JmxSystemPropertyKeys;
 import org.apache.camel.impl.engine.DefaultExecutorServiceManager;
 import org.apache.camel.impl.engine.RouteService;
 import org.apache.camel.impl.engine.SimpleCamelContext;
-import org.apache.camel.impl.engine.TransformerKey;
-import org.apache.camel.impl.engine.ValidatorKey;
 import org.apache.camel.impl.scan.AssignableToPackageScanFilter;
 import org.apache.camel.impl.scan.InvertingPackageScanFilter;
 import org.apache.camel.model.BeanFactoryDefinition;
@@ -75,8 +72,10 @@ import org.apache.camel.spi.PropertiesComponent;
 import org.apache.camel.spi.Registry;
 import org.apache.camel.spi.StartupStepRecorder;
 import org.apache.camel.spi.Transformer;
+import org.apache.camel.spi.TransformerKey;
 import org.apache.camel.spi.UuidGenerator;
 import org.apache.camel.spi.Validator;
+import org.apache.camel.spi.ValidatorKey;
 import org.apache.camel.support.CamelContextHelper;
 import org.apache.camel.support.DefaultRegistry;
 import org.apache.camel.support.LocalBeanRegistry;
@@ -779,7 +778,7 @@ public class DefaultCamelContext extends SimpleCamelContext 
implements ModelCame
         getValidatorRegistry().put(createValidatorKey(def), validator);
     }
 
-    private static ValueHolder<String> createValidatorKey(ValidatorDefinition 
def) {
+    private static ValidatorKey createValidatorKey(ValidatorDefinition def) {
         return new ValidatorKey(new DataType(def.getType()));
     }
 
@@ -826,7 +825,7 @@ public class DefaultCamelContext extends SimpleCamelContext 
implements ModelCame
         return PreconditionHelper.included(definition, this);
     }
 
-    private static ValueHolder<String> 
createTransformerKey(TransformerDefinition def) {
+    private static TransformerKey createTransformerKey(TransformerDefinition 
def) {
         if (ObjectHelper.isNotEmpty(def.getScheme())) {
             return ObjectHelper.isNotEmpty(def.getName())
                     ? new TransformerKey(def.getScheme() + ":" + 
def.getName()) : new TransformerKey(def.getScheme());
diff --git 
a/core/camel-core-processor/src/main/java/org/apache/camel/processor/transformer/AnnotationTransformerLoader.java
 
b/core/camel-core-processor/src/main/java/org/apache/camel/processor/transformer/AnnotationTransformerLoader.java
index b6056d674d5..7201b1f55a0 100644
--- 
a/core/camel-core-processor/src/main/java/org/apache/camel/processor/transformer/AnnotationTransformerLoader.java
+++ 
b/core/camel-core-processor/src/main/java/org/apache/camel/processor/transformer/AnnotationTransformerLoader.java
@@ -32,11 +32,11 @@ import org.apache.camel.ExtendedCamelContext;
 import org.apache.camel.Message;
 import org.apache.camel.TypeConverterLoaderException;
 import org.apache.camel.impl.engine.DefaultPackageScanClassResolver;
-import org.apache.camel.impl.engine.TransformerKey;
 import org.apache.camel.spi.DataType;
 import org.apache.camel.spi.DataTypeTransformer;
 import org.apache.camel.spi.PackageScanClassResolver;
 import org.apache.camel.spi.Transformer;
+import org.apache.camel.spi.TransformerKey;
 import org.apache.camel.spi.TransformerLoader;
 import org.apache.camel.spi.TransformerRegistry;
 import org.apache.camel.support.PluginHelper;
diff --git 
a/core/camel-core-processor/src/main/java/org/apache/camel/processor/transformer/DataTypeProcessor.java
 
b/core/camel-core-processor/src/main/java/org/apache/camel/processor/transformer/DataTypeProcessor.java
index 4c665a21393..62c38779cd8 100644
--- 
a/core/camel-core-processor/src/main/java/org/apache/camel/processor/transformer/DataTypeProcessor.java
+++ 
b/core/camel-core-processor/src/main/java/org/apache/camel/processor/transformer/DataTypeProcessor.java
@@ -24,10 +24,10 @@ import org.apache.camel.CamelExecutionException;
 import org.apache.camel.Exchange;
 import org.apache.camel.Message;
 import org.apache.camel.Processor;
-import org.apache.camel.impl.engine.TransformerKey;
 import org.apache.camel.spi.DataType;
 import org.apache.camel.spi.DataTypeAware;
 import org.apache.camel.spi.Transformer;
+import org.apache.camel.spi.TransformerKey;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
diff --git 
a/core/camel-core-processor/src/main/java/org/apache/camel/processor/transformer/DefaultTransformerLoader.java
 
b/core/camel-core-processor/src/main/java/org/apache/camel/processor/transformer/DefaultTransformerLoader.java
index aaf8d6adcf4..0b2cac86c5f 100644
--- 
a/core/camel-core-processor/src/main/java/org/apache/camel/processor/transformer/DefaultTransformerLoader.java
+++ 
b/core/camel-core-processor/src/main/java/org/apache/camel/processor/transformer/DefaultTransformerLoader.java
@@ -18,9 +18,9 @@
 package org.apache.camel.processor.transformer;
 
 import org.apache.camel.Message;
-import org.apache.camel.impl.engine.TransformerKey;
 import org.apache.camel.spi.DataType;
 import org.apache.camel.spi.Transformer;
+import org.apache.camel.spi.TransformerKey;
 import org.apache.camel.spi.TransformerLoader;
 import org.apache.camel.spi.TransformerRegistry;
 
@@ -29,6 +29,7 @@ import org.apache.camel.spi.TransformerRegistry;
  */
 public class DefaultTransformerLoader extends Transformer implements 
TransformerLoader {
 
+    @SuppressWarnings("resource")
     @Override
     public void load(TransformerRegistry registry) {
         Transformer[] defaultTransformers = new Transformer[] {
diff --git 
a/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
 
b/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
index 29557b9c5d0..0c9cd015438 100644
--- 
a/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
+++ 
b/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
@@ -43,7 +43,6 @@ import org.apache.camel.ShutdownRunningTask;
 import org.apache.camel.StartupSummaryLevel;
 import org.apache.camel.TypeConverterExists;
 import org.apache.camel.TypeConverters;
-import org.apache.camel.ValueHolder;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.cloud.ServiceRegistry;
 import org.apache.camel.cluster.CamelClusterService;
@@ -56,8 +55,6 @@ import org.apache.camel.health.HealthCheckRegistry;
 import org.apache.camel.health.HealthCheckRepository;
 import org.apache.camel.impl.debugger.BacklogTracer;
 import org.apache.camel.impl.engine.DefaultManagementStrategy;
-import org.apache.camel.impl.engine.TransformerKey;
-import org.apache.camel.impl.engine.ValidatorKey;
 import org.apache.camel.model.ContextScanDefinition;
 import org.apache.camel.model.ErrorHandlerDefinition;
 import org.apache.camel.model.FaultToleranceConfigurationDefinition;
@@ -136,10 +133,12 @@ import org.apache.camel.spi.SupervisingRouteController;
 import org.apache.camel.spi.ThreadPoolFactory;
 import org.apache.camel.spi.ThreadPoolProfile;
 import org.apache.camel.spi.Transformer;
+import org.apache.camel.spi.TransformerKey;
 import org.apache.camel.spi.TypeConverterRegistry;
 import org.apache.camel.spi.UnitOfWorkFactory;
 import org.apache.camel.spi.UuidGenerator;
 import org.apache.camel.spi.Validator;
+import org.apache.camel.spi.ValidatorKey;
 import org.apache.camel.support.CamelContextHelper;
 import org.apache.camel.support.ObjectHelper;
 import org.apache.camel.support.OrderedComparator;
@@ -680,7 +679,7 @@ public abstract class AbstractCamelContextFactoryBean<T 
extends ModelCamelContex
         }
     }
 
-    private static ValueHolder<String> 
createTransformerKey(TransformerDefinition def) {
+    private static TransformerKey createTransformerKey(TransformerDefinition 
def) {
         if (org.apache.camel.util.ObjectHelper.isNotEmpty(def.getScheme())) {
             return org.apache.camel.util.ObjectHelper.isNotEmpty(def.getName())
                     ? new TransformerKey(def.getScheme() + ":" + 
def.getName()) : new TransformerKey(def.getScheme());
diff --git 
a/core/camel-core/src/test/java/org/apache/camel/impl/engine/DefaultTransformerRegistryTest.java
 
b/core/camel-core/src/test/java/org/apache/camel/impl/engine/DefaultTransformerRegistryTest.java
index 20d65701ae8..1f21e61e5c9 100644
--- 
a/core/camel-core/src/test/java/org/apache/camel/impl/engine/DefaultTransformerRegistryTest.java
+++ 
b/core/camel-core/src/test/java/org/apache/camel/impl/engine/DefaultTransformerRegistryTest.java
@@ -21,6 +21,7 @@ import org.apache.camel.impl.DefaultCamelContext;
 import org.apache.camel.processor.transformer.ByteArrayDataTypeTransformer;
 import org.apache.camel.processor.transformer.StringDataTypeTransformer;
 import org.apache.camel.spi.Transformer;
+import org.apache.camel.spi.TransformerKey;
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.Test;
 
diff --git 
a/core/camel-core/src/test/java/org/apache/camel/impl/engine/DefaultTransformerResolverTest.java
 
b/core/camel-core/src/test/java/org/apache/camel/impl/engine/DefaultTransformerResolverTest.java
index 0d223d73a6e..665c0d18591 100644
--- 
a/core/camel-core/src/test/java/org/apache/camel/impl/engine/DefaultTransformerResolverTest.java
+++ 
b/core/camel-core/src/test/java/org/apache/camel/impl/engine/DefaultTransformerResolverTest.java
@@ -23,6 +23,7 @@ import 
org.apache.camel.processor.transformer.StringDataTypeTransformer;
 import org.apache.camel.spi.DataType;
 import org.apache.camel.spi.DataTypeTransformer;
 import org.apache.camel.spi.Transformer;
+import org.apache.camel.spi.TransformerKey;
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
diff --git 
a/core/camel-core/src/test/java/org/apache/camel/processor/transformer/ByteArrayDataTypeTransformerTest.java
 
b/core/camel-core/src/test/java/org/apache/camel/processor/transformer/ByteArrayDataTypeTransformerTest.java
index 39ea4262060..a00e7258963 100644
--- 
a/core/camel-core/src/test/java/org/apache/camel/processor/transformer/ByteArrayDataTypeTransformerTest.java
+++ 
b/core/camel-core/src/test/java/org/apache/camel/processor/transformer/ByteArrayDataTypeTransformerTest.java
@@ -22,9 +22,9 @@ import java.nio.charset.StandardCharsets;
 import org.apache.camel.Exchange;
 import org.apache.camel.impl.DefaultCamelContext;
 import org.apache.camel.impl.engine.DefaultTransformerRegistry;
-import org.apache.camel.impl.engine.TransformerKey;
 import org.apache.camel.spi.DataType;
 import org.apache.camel.spi.Transformer;
+import org.apache.camel.spi.TransformerKey;
 import org.apache.camel.support.DefaultExchange;
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.Test;
diff --git 
a/core/camel-core/src/test/java/org/apache/camel/processor/transformer/StringDataTypeTransformerTest.java
 
b/core/camel-core/src/test/java/org/apache/camel/processor/transformer/StringDataTypeTransformerTest.java
index 050222dd13a..ee00a8dc2a1 100644
--- 
a/core/camel-core/src/test/java/org/apache/camel/processor/transformer/StringDataTypeTransformerTest.java
+++ 
b/core/camel-core/src/test/java/org/apache/camel/processor/transformer/StringDataTypeTransformerTest.java
@@ -22,9 +22,9 @@ import java.nio.charset.StandardCharsets;
 import org.apache.camel.Exchange;
 import org.apache.camel.impl.DefaultCamelContext;
 import org.apache.camel.impl.engine.DefaultTransformerRegistry;
-import org.apache.camel.impl.engine.TransformerKey;
 import org.apache.camel.spi.DataType;
 import org.apache.camel.spi.Transformer;
+import org.apache.camel.spi.TransformerKey;
 import org.apache.camel.support.DefaultExchange;
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.Test;
diff --git 
a/core/camel-management/src/main/java/org/apache/camel/management/JmxManagementLifecycleStrategy.java
 
b/core/camel-management/src/main/java/org/apache/camel/management/JmxManagementLifecycleStrategy.java
index de3c29ab028..858c056f46e 100644
--- 
a/core/camel-management/src/main/java/org/apache/camel/management/JmxManagementLifecycleStrategy.java
+++ 
b/core/camel-management/src/main/java/org/apache/camel/management/JmxManagementLifecycleStrategy.java
@@ -567,9 +567,9 @@ public class JmxManagementLifecycleStrategy extends 
ServiceSupport implements Li
             answer = new ManagedStreamCachingStrategy(context, 
(StreamCachingStrategy) service);
         } else if (service instanceof EventNotifier) {
             answer = 
getManagementObjectStrategy().getManagedObjectForEventNotifier(context, 
(EventNotifier) service);
-        } else if (service instanceof TransformerRegistry<?> 
transformerRegistry) {
+        } else if (service instanceof TransformerRegistry transformerRegistry) 
{
             answer = new ManagedTransformerRegistry(context, 
transformerRegistry);
-        } else if (service instanceof ValidatorRegistry<?> validatorRegistry) {
+        } else if (service instanceof ValidatorRegistry validatorRegistry) {
             answer = new ManagedValidatorRegistry(context, validatorRegistry);
         } else if (service instanceof BrowsableVariableRepository 
variableRepository) {
             answer = new ManagedVariableRepository(context, 
variableRepository);
diff --git 
a/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedTransformerRegistry.java
 
b/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedTransformerRegistry.java
index 980de49d3ad..eec6b2b33d9 100644
--- 
a/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedTransformerRegistry.java
+++ 
b/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedTransformerRegistry.java
@@ -35,14 +35,14 @@ import org.apache.camel.spi.TransformerRegistry;
 
 @ManagedResource(description = "Managed TransformerRegistry")
 public class ManagedTransformerRegistry extends ManagedService implements 
ManagedTransformerRegistryMBean {
-    private final TransformerRegistry<?> transformerRegistry;
+    private final TransformerRegistry transformerRegistry;
 
-    public ManagedTransformerRegistry(CamelContext context, 
TransformerRegistry<?> transformerRegistry) {
+    public ManagedTransformerRegistry(CamelContext context, 
TransformerRegistry transformerRegistry) {
         super(context, transformerRegistry);
         this.transformerRegistry = transformerRegistry;
     }
 
-    public TransformerRegistry<?> getTransformerRegistry() {
+    public TransformerRegistry getTransformerRegistry() {
         return transformerRegistry;
     }
 
diff --git 
a/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedValidatorRegistry.java
 
b/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedValidatorRegistry.java
index a5d64c8a35c..7f5166601a1 100644
--- 
a/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedValidatorRegistry.java
+++ 
b/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedValidatorRegistry.java
@@ -35,14 +35,14 @@ import org.apache.camel.spi.ValidatorRegistry;
 
 @ManagedResource(description = "Managed ValidatorRegistry")
 public class ManagedValidatorRegistry extends ManagedService implements 
ManagedValidatorRegistryMBean {
-    private final ValidatorRegistry<?> validatorRegistry;
+    private final ValidatorRegistry validatorRegistry;
 
-    public ManagedValidatorRegistry(CamelContext context, ValidatorRegistry<?> 
validatorRegistry) {
+    public ManagedValidatorRegistry(CamelContext context, ValidatorRegistry 
validatorRegistry) {
         super(context, validatorRegistry);
         this.validatorRegistry = validatorRegistry;
     }
 
-    public ValidatorRegistry<?> getValidatorRegistry() {
+    public ValidatorRegistry getValidatorRegistry() {
         return validatorRegistry;
     }
 
diff --git 
a/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_7.adoc 
b/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_7.adoc
index 7d7c3a34490..896e36c0a23 100644
--- a/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_7.adoc
+++ b/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_7.adoc
@@ -6,6 +6,12 @@ from both 4.0 to 4.1 and 4.1 to 4.2.
 
 == Upgrading Camel 4.6 to 4.7
 
+=== API changes
+
+The class `org.apache.camel.impl.engine.ValidatorKey` moved to 
`org.apache.camel.spi.ValidatorKey`.
+The class `org.apache.camel.impl.engine.TransformerKey` moved to 
`org.apache.camel.spi.TransformerKey`.
+
+
 === camel-core
 
 Add default values to `ThrottlingExceptionRoutePolicy` route policy.
diff --git 
a/dsl/camel-jbang/camel-jbang-plugin-k/src/main/java/org/apache/camel/dsl/jbang/core/commands/k/support/StubTransformerResolver.java
 
b/dsl/camel-jbang/camel-jbang-plugin-k/src/main/java/org/apache/camel/dsl/jbang/core/commands/k/support/StubTransformerResolver.java
index bb1e4433b5b..f9741408279 100644
--- 
a/dsl/camel-jbang/camel-jbang-plugin-k/src/main/java/org/apache/camel/dsl/jbang/core/commands/k/support/StubTransformerResolver.java
+++ 
b/dsl/camel-jbang/camel-jbang-plugin-k/src/main/java/org/apache/camel/dsl/jbang/core/commands/k/support/StubTransformerResolver.java
@@ -22,9 +22,9 @@ import java.util.TreeSet;
 
 import org.apache.camel.CamelContext;
 import org.apache.camel.impl.engine.DefaultTransformerResolver;
-import org.apache.camel.impl.engine.TransformerKey;
 import org.apache.camel.main.stub.StubTransformer;
 import org.apache.camel.spi.Transformer;
+import org.apache.camel.spi.TransformerKey;
 
 public final class StubTransformerResolver extends DefaultTransformerResolver {
     private final Set<String> names;
diff --git 
a/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/DependencyDownloaderTransformerResolver.java
 
b/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/DependencyDownloaderTransformerResolver.java
index 57c639aa41d..2cdc7159085 100644
--- 
a/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/DependencyDownloaderTransformerResolver.java
+++ 
b/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/DependencyDownloaderTransformerResolver.java
@@ -22,10 +22,10 @@ import org.apache.camel.CamelContext;
 import org.apache.camel.catalog.CamelCatalog;
 import org.apache.camel.catalog.DefaultCamelCatalog;
 import org.apache.camel.impl.engine.DefaultTransformerResolver;
-import org.apache.camel.impl.engine.TransformerKey;
 import org.apache.camel.main.stub.StubTransformer;
 import org.apache.camel.main.util.SuggestSimilarHelper;
 import org.apache.camel.spi.Transformer;
+import org.apache.camel.spi.TransformerKey;
 import org.apache.camel.tooling.model.TransformerModel;
 
 /**

Reply via email to