This is an automated email from the ASF dual-hosted git repository.
apupier 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 7d58968236ea Removal of camel-headersmap
7d58968236ea is described below
commit 7d58968236ea4a39dd6ebc7ced638ba45ed5ab31
Author: Aurélien Pupier <[email protected]>
AuthorDate: Wed Aug 26 14:22:35 2026 +0200
Removal of camel-headersmap
The component camel-headersmap was deprecated in 4.21. The default
`CaseInsensitiveMap` in camel-core
uses a custom O(1) hash table with zero-allocation lookups and header
key deduplication, making the external
cedarsoftware `java-util` dependency unnecessary. Simply remove the
`camel-headersmap` dependency from your
project — the core implementation now provides equivalent or better
performance.
Signed-off-by: Aurélien Pupier <[email protected]>
---
bom/camel-bom/pom.xml | 5 --
catalog/camel-allcomponents/pom.xml | 5 --
.../org/apache/camel/catalog/docs.properties | 1 -
.../org/apache/camel/catalog/docs/headersmap.adoc | 34 ----------
.../org/apache/camel/catalog/others.properties | 1 -
.../apache/camel/catalog/others/headersmap.json | 15 -----
components/camel-headersmap/pom.xml | 76 ----------------------
.../services/org/apache/camel/headers-map-factory | 2 -
.../services/org/apache/camel/other.properties | 7 --
.../src/generated/resources/headersmap.json | 15 -----
.../camel-headersmap/src/main/docs/headersmap.adoc | 34 ----------
.../headersmap/FastHeadersMapFactory.java | 60 -----------------
.../headersmap/CamelFastHeadersMapTest.java | 53 ---------------
.../headersmap/FastHeadersMapFactoryTest.java | 73 ---------------------
.../src/test/resources/log4j2.properties | 31 ---------
components/pom.xml | 1 -
.../org/apache/camel/spi/HeadersMapFactory.java | 7 +-
coverage/pom.xml | 5 --
.../modules/others/examples/json/headersmap.json | 1 -
docs/components/modules/others/nav.adoc | 1 -
.../modules/others/pages/headersmap.adoc | 1 -
.../ROOT/pages/camel-4x-upgrade-guide-4_23.adoc | 7 ++
...mel-factoryfinder-known-dependencies.properties | 1 -
parent/pom.xml | 6 --
24 files changed, 10 insertions(+), 432 deletions(-)
diff --git a/bom/camel-bom/pom.xml b/bom/camel-bom/pom.xml
index a6a3fc949f49..548e5deea0dd 100644
--- a/bom/camel-bom/pom.xml
+++ b/bom/camel-bom/pom.xml
@@ -1107,11 +1107,6 @@
<artifactId>camel-hazelcast</artifactId>
<version>4.23.0-SNAPSHOT</version>
</dependency>
- <dependency>
- <groupId>org.apache.camel</groupId>
- <artifactId>camel-headersmap</artifactId>
- <version>4.23.0-SNAPSHOT</version>
- </dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-health</artifactId>
diff --git a/catalog/camel-allcomponents/pom.xml
b/catalog/camel-allcomponents/pom.xml
index 04528db35906..07d1663e35ae 100644
--- a/catalog/camel-allcomponents/pom.xml
+++ b/catalog/camel-allcomponents/pom.xml
@@ -972,11 +972,6 @@
<artifactId>camel-hazelcast</artifactId>
<version>${project.version}</version>
</dependency>
- <dependency>
- <groupId>org.apache.camel</groupId>
- <artifactId>camel-headersmap</artifactId>
- <version>${project.version}</version>
- </dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-hl7</artifactId>
diff --git
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs.properties
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs.properties
index dd6c51dc3929..ffbb010c6e82 100644
---
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs.properties
+++
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs.properties
@@ -253,7 +253,6 @@ hazelcast-set-component
hazelcast-summary
hazelcast-topic-component
header-language
-headersmap
hl7-dataformat
hl7terser-language
http-component
diff --git
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/headersmap.adoc
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/headersmap.adoc
deleted file mode 100644
index 3df7e2c11d2d..000000000000
---
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/headersmap.adoc
+++ /dev/null
@@ -1,34 +0,0 @@
-= Headersmap Component (deprecated)
-:doctitle: Headersmap
-:shortname: headersmap
-:artifactid: camel-headersmap
-:description: Fast case-insensitive headers map implementation
-:since: 2.20
-:supportlevel: Stable-deprecated
-:deprecated: *deprecated*
-:tabs-sync-option:
-
-*Since Camel {since}*
-
-[NOTE]
-====
-This component is deprecated. Since Camel 4.21, the default
`CaseInsensitiveMap` in camel-core
-uses a custom O(1) hash table with zero-allocation lookups, making this
component unnecessary.
-Simply remove the `camel-headersmap` dependency — the core implementation now
provides equivalent
-or better performance without any external library.
-====
-
-The Headersmap component is a faster implementation of a case-insensitive map
which can be plugged in
-and used by Camel at runtime to have slight faster performance in the Camel
Message headers.
-
-== Usage
-
-=== Auto-detection from classpath
-
-To use this implementation all you need to do is to add the `camel-headersmap`
dependency to the classpath,
-and Camel should auto-detect this on startup and log as follows:
-
-[source,text]
-----
-Detected and using HeadersMapFactory: camel-headersmap
-----
diff --git
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/others.properties
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/others.properties
index 4b3d6de51bec..7bc3186225d5 100644
---
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/others.properties
+++
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/others.properties
@@ -13,7 +13,6 @@ debug
diagram
dsl-modeline
endpointdsl
-headersmap
health
jandex
jasypt
diff --git
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/others/headersmap.json
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/others/headersmap.json
deleted file mode 100644
index 0ef1ddde0533..000000000000
---
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/others/headersmap.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{
- "other": {
- "kind": "other",
- "name": "headersmap",
- "title": "Headersmap",
- "description": "Fast case-insensitive headers map implementation",
- "deprecated": true,
- "firstVersion": "2.20.0",
- "label": "core",
- "supportLevel": "Stable",
- "groupId": "org.apache.camel",
- "artifactId": "camel-headersmap",
- "version": "4.23.0-SNAPSHOT"
- }
-}
diff --git a/components/camel-headersmap/pom.xml
b/components/camel-headersmap/pom.xml
deleted file mode 100644
index 70ca724eaafb..000000000000
--- a/components/camel-headersmap/pom.xml
+++ /dev/null
@@ -1,76 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements. See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- (the "License"); you may not use this file except in compliance with
- the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/maven-v4_0_0.xsd">
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <groupId>org.apache.camel</groupId>
- <artifactId>components</artifactId>
- <version>4.23.0-SNAPSHOT</version>
- </parent>
-
- <artifactId>camel-headersmap</artifactId>
- <packaging>jar</packaging>
- <name>Camel :: Headers Map (deprecated)</name>
- <description>Fast case-insensitive headers map implementation</description>
-
- <properties>
- <firstVersion>2.20.0</firstVersion>
- <label>core</label>
- </properties>
-
- <dependencies>
-
- <dependency>
- <groupId>org.apache.camel</groupId>
- <artifactId>camel-support</artifactId>
- </dependency>
-
- <dependency>
- <groupId>com.cedarsoftware</groupId>
- <artifactId>java-util</artifactId>
- <version>${java-util-version}</version>
- <exclusions>
- <exclusion>
- <groupId>org.apache.logging.log4j</groupId>
- <artifactId>*</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
-
- <!-- testing -->
- <dependency>
- <groupId>org.apache.camel</groupId>
- <artifactId>camel-test-junit6</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.apache.camel</groupId>
- <artifactId>camel-mock</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.junit.jupiter</groupId>
- <artifactId>junit-jupiter</artifactId>
- <scope>test</scope>
- </dependency>
- </dependencies>
-
-</project>
diff --git
a/components/camel-headersmap/src/generated/resources/META-INF/services/org/apache/camel/headers-map-factory
b/components/camel-headersmap/src/generated/resources/META-INF/services/org/apache/camel/headers-map-factory
deleted file mode 100644
index 8acf6f8cb686..000000000000
---
a/components/camel-headersmap/src/generated/resources/META-INF/services/org/apache/camel/headers-map-factory
+++ /dev/null
@@ -1,2 +0,0 @@
-# Generated by camel build tools - do NOT edit this file!
-class=org.apache.camel.component.headersmap.FastHeadersMapFactory
diff --git
a/components/camel-headersmap/src/generated/resources/META-INF/services/org/apache/camel/other.properties
b/components/camel-headersmap/src/generated/resources/META-INF/services/org/apache/camel/other.properties
deleted file mode 100644
index b7aeb2f61dd2..000000000000
---
a/components/camel-headersmap/src/generated/resources/META-INF/services/org/apache/camel/other.properties
+++ /dev/null
@@ -1,7 +0,0 @@
-# Generated by camel build tools - do NOT edit this file!
-name=headersmap
-groupId=org.apache.camel
-artifactId=camel-headersmap
-version=4.23.0-SNAPSHOT
-projectName=Camel :: Headers Map (deprecated)
-projectDescription=Fast case-insensitive headers map implementation
diff --git
a/components/camel-headersmap/src/generated/resources/headersmap.json
b/components/camel-headersmap/src/generated/resources/headersmap.json
deleted file mode 100644
index 0ef1ddde0533..000000000000
--- a/components/camel-headersmap/src/generated/resources/headersmap.json
+++ /dev/null
@@ -1,15 +0,0 @@
-{
- "other": {
- "kind": "other",
- "name": "headersmap",
- "title": "Headersmap",
- "description": "Fast case-insensitive headers map implementation",
- "deprecated": true,
- "firstVersion": "2.20.0",
- "label": "core",
- "supportLevel": "Stable",
- "groupId": "org.apache.camel",
- "artifactId": "camel-headersmap",
- "version": "4.23.0-SNAPSHOT"
- }
-}
diff --git a/components/camel-headersmap/src/main/docs/headersmap.adoc
b/components/camel-headersmap/src/main/docs/headersmap.adoc
deleted file mode 100644
index 3df7e2c11d2d..000000000000
--- a/components/camel-headersmap/src/main/docs/headersmap.adoc
+++ /dev/null
@@ -1,34 +0,0 @@
-= Headersmap Component (deprecated)
-:doctitle: Headersmap
-:shortname: headersmap
-:artifactid: camel-headersmap
-:description: Fast case-insensitive headers map implementation
-:since: 2.20
-:supportlevel: Stable-deprecated
-:deprecated: *deprecated*
-:tabs-sync-option:
-
-*Since Camel {since}*
-
-[NOTE]
-====
-This component is deprecated. Since Camel 4.21, the default
`CaseInsensitiveMap` in camel-core
-uses a custom O(1) hash table with zero-allocation lookups, making this
component unnecessary.
-Simply remove the `camel-headersmap` dependency — the core implementation now
provides equivalent
-or better performance without any external library.
-====
-
-The Headersmap component is a faster implementation of a case-insensitive map
which can be plugged in
-and used by Camel at runtime to have slight faster performance in the Camel
Message headers.
-
-== Usage
-
-=== Auto-detection from classpath
-
-To use this implementation all you need to do is to add the `camel-headersmap`
dependency to the classpath,
-and Camel should auto-detect this on startup and log as follows:
-
-[source,text]
-----
-Detected and using HeadersMapFactory: camel-headersmap
-----
diff --git
a/components/camel-headersmap/src/main/java/org/apache/camel/component/headersmap/FastHeadersMapFactory.java
b/components/camel-headersmap/src/main/java/org/apache/camel/component/headersmap/FastHeadersMapFactory.java
deleted file mode 100644
index 789f4dadfd2d..000000000000
---
a/components/camel-headersmap/src/main/java/org/apache/camel/component/headersmap/FastHeadersMapFactory.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.component.headersmap;
-
-import java.util.Map;
-
-import com.cedarsoftware.util.CaseInsensitiveMap;
-import org.apache.camel.spi.HeadersMapFactory;
-import org.apache.camel.spi.annotations.JdkService;
-
-/**
- * A faster {@link HeadersMapFactory} which is using the {@link
com.cedarsoftware.util.CaseInsensitiveMap} map
- * implementation.
- *
- * @deprecated use the default {@code DefaultHeadersMapFactory} from
camel-core which now provides O(1) hash-based
- * lookups. This component will be removed in a future release.
- */
-@Deprecated
-@JdkService(HeadersMapFactory.FACTORY)
-public class FastHeadersMapFactory implements HeadersMapFactory {
-
- @Override
- public Map<String, Object> newMap() {
- return new CaseInsensitiveMap<>();
- }
-
- @Override
- public Map<String, Object> newMap(Map<String, Object> map) {
- return new CaseInsensitiveMap<>(map);
- }
-
- @Override
- public boolean isInstanceOf(Map<String, Object> map) {
- return map instanceof CaseInsensitiveMap;
- }
-
- @Override
- public boolean isCaseInsensitive() {
- return true;
- }
-
- @Override
- public String toString() {
- return "camel-headersmap";
- }
-}
diff --git
a/components/camel-headersmap/src/test/java/org/apache/camel/component/headersmap/CamelFastHeadersMapTest.java
b/components/camel-headersmap/src/test/java/org/apache/camel/component/headersmap/CamelFastHeadersMapTest.java
deleted file mode 100644
index 9e08fb498145..000000000000
---
a/components/camel-headersmap/src/test/java/org/apache/camel/component/headersmap/CamelFastHeadersMapTest.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.component.headersmap;
-
-import org.apache.camel.builder.RouteBuilder;
-import org.apache.camel.component.mock.MockEndpoint;
-import org.apache.camel.spi.HeadersMapFactory;
-import org.apache.camel.test.junit6.CamelTestSupport;
-import org.junit.jupiter.api.Test;
-
-import static org.apache.camel.test.junit6.TestSupport.assertIsInstanceOf;
-
-public class CamelFastHeadersMapTest extends CamelTestSupport {
-
- @Test
- public void testSimple() throws Exception {
- MockEndpoint mock = getMockEndpoint("mock:result");
- mock.expectedBodiesReceived("Hello World");
-
- template.sendBody("direct:start", "Hello World");
-
- MockEndpoint.assertIsSatisfied(context);
-
- // should have detected custom and use that
- HeadersMapFactory factory =
context.getCamelContextExtension().getHeadersMapFactory();
- assertIsInstanceOf(FastHeadersMapFactory.class, factory);
- }
-
- @Override
- protected RouteBuilder createRouteBuilder() {
- return new RouteBuilder() {
- @Override
- public void configure() {
-
from("direct:start").to("log:foo").to("log:bar").to("mock:result");
- }
- };
- }
-
-}
diff --git
a/components/camel-headersmap/src/test/java/org/apache/camel/component/headersmap/FastHeadersMapFactoryTest.java
b/components/camel-headersmap/src/test/java/org/apache/camel/component/headersmap/FastHeadersMapFactoryTest.java
deleted file mode 100644
index 5b6e9870a006..000000000000
---
a/components/camel-headersmap/src/test/java/org/apache/camel/component/headersmap/FastHeadersMapFactoryTest.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.camel.component.headersmap;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.junit.jupiter.api.Test;
-
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertFalse;
-import static org.junit.jupiter.api.Assertions.assertNull;
-import static org.junit.jupiter.api.Assertions.assertTrue;
-
-public class FastHeadersMapFactoryTest {
-
- @Test
- public void testLookupCaseAgnostic() {
- Map<String, Object> map = new FastHeadersMapFactory().newMap();
- assertNull(map.get("foo"));
-
- map.put("foo", "cheese");
-
- assertEquals("cheese", map.get("foo"));
- assertEquals("cheese", map.get("Foo"));
- assertEquals("cheese", map.get("FOO"));
- }
-
- @Test
- public void testConstructFromOther() {
- Map<String, Object> other = new FastHeadersMapFactory().newMap();
- other.put("Foo", "cheese");
- other.put("bar", 123);
-
- Map<String, Object> map = new FastHeadersMapFactory().newMap(other);
-
- assertEquals("cheese", map.get("FOO"));
- assertEquals("cheese", map.get("foo"));
- assertEquals("cheese", map.get("Foo"));
-
- assertEquals(123, map.get("BAR"));
- assertEquals(123, map.get("bar"));
- assertEquals(123, map.get("BaR"));
- }
-
- @Test
- public void testIsInstance() {
- Map<String, Object> map = new FastHeadersMapFactory().newMap();
-
- Map<String, Object> other = new FastHeadersMapFactory().newMap(map);
- other.put("Foo", "cheese");
- other.put("bar", 123);
-
- assertTrue(new FastHeadersMapFactory().isInstanceOf(map));
- assertTrue(new FastHeadersMapFactory().isInstanceOf(other));
- assertFalse(new FastHeadersMapFactory().isInstanceOf(new HashMap<>()));
- }
-
-}
diff --git a/components/camel-headersmap/src/test/resources/log4j2.properties
b/components/camel-headersmap/src/test/resources/log4j2.properties
deleted file mode 100644
index 4f7d2f0dbbd9..000000000000
--- a/components/camel-headersmap/src/test/resources/log4j2.properties
+++ /dev/null
@@ -1,31 +0,0 @@
-## ---------------------------------------------------------------------------
-## Licensed to the Apache Software Foundation (ASF) under one or more
-## contributor license agreements. See the NOTICE file distributed with
-## this work for additional information regarding copyright ownership.
-## The ASF licenses this file to You under the Apache License, Version 2.0
-## (the "License"); you may not use this file except in compliance with
-## the License. You may obtain a copy of the License at
-##
-## http://www.apache.org/licenses/LICENSE-2.0
-##
-## Unless required by applicable law or agreed to in writing, software
-## distributed under the License is distributed on an "AS IS" BASIS,
-## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-## See the License for the specific language governing permissions and
-## limitations under the License.
-## ---------------------------------------------------------------------------
-
-appender.out.type = File
-appender.out.name = out
-appender.out.fileName = target/camel-headersmap-test.log
-appender.out.layout.type = PatternLayout
-appender.out.layout.pattern = %d [%-15.15t] %-5p %-30.30c{1} - %m%n
-appender.stdout.type = Console
-appender.stdout.name = stdout
-appender.stdout.layout.type = PatternLayout
-appender.stdout.layout.pattern = %d [%-15.15t] %-5p %-30.30c{1} - %m%n
-
-rootLogger.level = INFO
-
-rootLogger.appenderRef.out.ref = out
-#rootLogger.appenderRef.out.ref = stdout
diff --git a/components/pom.xml b/components/pom.xml
index 631313a3a9d1..48ee58876e40 100644
--- a/components/pom.xml
+++ b/components/pom.xml
@@ -160,7 +160,6 @@
<module>camel-gson</module>
<module>camel-hashicorp-vault</module>
<module>camel-hazelcast</module>
- <module>camel-headersmap</module>
<module>camel-hl7</module>
<module>camel-huawei</module>
<module>camel-ibm</module>
diff --git
a/core/camel-api/src/main/java/org/apache/camel/spi/HeadersMapFactory.java
b/core/camel-api/src/main/java/org/apache/camel/spi/HeadersMapFactory.java
index 19c38d72a451..5d3437fe833a 100644
--- a/core/camel-api/src/main/java/org/apache/camel/spi/HeadersMapFactory.java
+++ b/core/camel-api/src/main/java/org/apache/camel/spi/HeadersMapFactory.java
@@ -26,10 +26,9 @@ import org.apache.camel.Message;
* The factory is discovered via the service key {@link #FACTORY}. The default
implementation
* ({@code DefaultHeadersMapFactory} in {@code camel-base-engine}) returns a
case-insensitive linked hash map, which is
* important for HTTP-style protocols where header names such as {@code
content-type} and {@code Content-Type} must be
- * treated as equal. An alternative implementation ({@code
FastHeadersMapFactory} in {@code camel-headersmap}) provides
- * higher-throughput concurrent access. Custom implementations must correctly
implement
- * {@link #isInstanceOf(java.util.Map)} (so Camel can detect whether a given
map was created by this factory) and
- * {@link #newMap(java.util.Map)} (defensive copy semantics for {@link
Message#setHeaders}).
+ * treated as equal. Custom implementations must correctly implement {@link
#isInstanceOf(java.util.Map)} (so Camel can
+ * detect whether a given map was created by this factory) and {@link
#newMap(java.util.Map)} (defensive copy semantics
+ * for {@link Message#setHeaders}).
* <p/>
* See <a href="https://camel.apache.org/manual/exchange.html">Exchange</a> in
the Camel user manual.
*
diff --git a/coverage/pom.xml b/coverage/pom.xml
index 925feae0c627..a540594eb297 100644
--- a/coverage/pom.xml
+++ b/coverage/pom.xml
@@ -1057,11 +1057,6 @@
<artifactId>camel-hazelcast</artifactId>
<version>${project.version}</version>
</dependency>
- <dependency>
- <groupId>org.apache.camel</groupId>
- <artifactId>camel-headersmap</artifactId>
- <version>${project.version}</version>
- </dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-hl7</artifactId>
diff --git a/docs/components/modules/others/examples/json/headersmap.json
b/docs/components/modules/others/examples/json/headersmap.json
deleted file mode 120000
index 39a2d329ef84..000000000000
--- a/docs/components/modules/others/examples/json/headersmap.json
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../../components/camel-headersmap/src/generated/resources/headersmap.json
\ No newline at end of file
diff --git a/docs/components/modules/others/nav.adoc
b/docs/components/modules/others/nav.adoc
index fcc115d35433..e8fc25169a7a 100644
--- a/docs/components/modules/others/nav.adoc
+++ b/docs/components/modules/others/nav.adoc
@@ -33,7 +33,6 @@
*** xref:kamelet-main-support.adoc[Kamelet Main Support]
*** xref:java-xml-io-dsl.adoc[XML Io Dsl]
*** xref:yaml-dsl.adoc[YAML DSL]
-** xref:headersmap.adoc[Headersmap]
** xref:ibm-watsonx-ai-examples.adoc[IBM watsonx.ai - Examples]
** xref:jandex.adoc[Jandex]
** xref:jasypt.adoc[Jasypt]
diff --git a/docs/components/modules/others/pages/headersmap.adoc
b/docs/components/modules/others/pages/headersmap.adoc
deleted file mode 120000
index 3f9ac6ac0019..000000000000
--- a/docs/components/modules/others/pages/headersmap.adoc
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../components/camel-headersmap/src/main/docs/headersmap.adoc
\ No newline at end of file
diff --git
a/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_23.adoc
b/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_23.adoc
index bf192415de42..287e1ab4c693 100644
--- a/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_23.adoc
+++ b/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_23.adoc
@@ -15,6 +15,13 @@ See the xref:camel-upgrade-recipes-tool.adoc[documentation]
page for details.
=== Components removal
+==== camel-headersmap
+
+The component camel-headersmap was deprecated in 4.21. The default
`CaseInsensitiveMap` in camel-core
+uses a custom O(1) hash table with zero-allocation lookups and header key
deduplication, making the external
+cedarsoftware `java-util` dependency unnecessary. Simply remove the
`camel-headersmap` dependency from your
+project — the core implementation now provides equivalent or better
performance.
+
==== camel-iec60870
`camel-iec60870` was deprecated in 4.21. The library used to implement it
NeoScada is no more maintained since
diff --git
a/dsl/camel-kamelet-main/src/generated/resources/camel-factoryfinder-known-dependencies.properties
b/dsl/camel-kamelet-main/src/generated/resources/camel-factoryfinder-known-dependencies.properties
index e97aa071a654..491b68a49711 100644
---
a/dsl/camel-kamelet-main/src/generated/resources/camel-factoryfinder-known-dependencies.properties
+++
b/dsl/camel-kamelet-main/src/generated/resources/camel-factoryfinder-known-dependencies.properties
@@ -28,7 +28,6 @@
META-INF/services/org/apache/camel/csimple-compiler=camel:csimple-joor
META-INF/services/org/apache/camel/debugger-factory=camel:debug
META-INF/services/org/apache/camel/file-adapter-factory=camel:file
META-INF/services/org/apache/camel/groovy-script-compiler=camel:groovy
-META-INF/services/org/apache/camel/headers-map-factory=camel:headersmap
META-INF/services/org/apache/camel/jandex-class-resolver=camel:jandex
META-INF/services/org/apache/camel/jmx-rest-definition-resolver=camel:openapi-java
META-INF/services/org/apache/camel/kafka-adapter-factory=camel:kafka
diff --git a/parent/pom.xml b/parent/pom.xml
index 2b2fcf4b0111..85c1a1c0d807 100644
--- a/parent/pom.xml
+++ b/parent/pom.xml
@@ -274,7 +274,6 @@
<jactl-version>2.9.2</jactl-version>
<jasypt-version>1.9.3</jasypt-version>
<java-grok-version>0.2.1</java-grok-version>
- <java-util-version>4.110.0</java-util-version>
<jnats-version>2.26.2</jnats-version>
<javacc-maven-plugin-version>3.2.0</javacc-maven-plugin-version>
<javapoet-version>0.19.0</javapoet-version>
@@ -1666,11 +1665,6 @@
<artifactId>camel-hazelcast</artifactId>
<version>${project.version}</version>
</dependency>
- <dependency>
- <groupId>org.apache.camel</groupId>
- <artifactId>camel-headersmap</artifactId>
- <version>${project.version}</version>
- </dependency>
<dependency>
<groupId>org.apache.camel</groupId>
<artifactId>camel-hl7</artifactId>