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

jbonofre pushed a commit to branch karaf-4.4.x
in repository https://gitbox.apache.org/repos/asf/karaf.git


The following commit(s) were added to refs/heads/karaf-4.4.x by this push:
     new 5550d4406d KARAF-7747: Provide Spring 6.1.x/6.0.x features
5550d4406d is described below

commit 5550d4406da8fbc3e0d8dfbc890936f408b5e966
Author: JB Onofré <jbono...@apache.org>
AuthorDate: Tue Apr 2 17:56:29 2024 +0200

    KARAF-7747: Provide Spring 6.1.x/6.0.x features
    
    (cherry picked from commit 606dcbf395bdecf451f92172287b46ae14ce4eff)
---
 assemblies/features/spring-legacy/pom.xml          |   4 +-
 .../spring-legacy/src/main/feature/feature.xml     | 208 ++++++++++++++++++++-
 assemblies/features/spring/pom.xml                 |   2 +-
 .../features/spring/src/main/feature/feature.xml   | 136 +++++++-------
 itests/test/pom.xml                                |   6 +
 .../java/org/apache/karaf/itests/BaseTest.java     |   3 +
 .../itests/features/Spring53FeaturesTest.java      |  22 +++
 ...FeaturesTest.java => Spring60FeaturesTest.java} |  71 +++----
 ...FeaturesTest.java => Spring61FeaturesTest.java} |  49 ++---
 pom.xml                                            |   3 +
 10 files changed, 352 insertions(+), 152 deletions(-)

diff --git a/assemblies/features/spring-legacy/pom.xml 
b/assemblies/features/spring-legacy/pom.xml
index 4c50544e16..0db7c17ea5 100644
--- a/assemblies/features/spring-legacy/pom.xml
+++ b/assemblies/features/spring-legacy/pom.xml
@@ -158,12 +158,12 @@
                                 
<descriptor>file:${project.build.directory}/feature/feature.xml</descriptor>
                             </descriptors>
                             
<distribution>org.apache.karaf.features:framework</distribution>
-                            <javase>1.8</javase>
+                            <javase>17</javase>
                             <framework>
                                 <feature>framework</feature>
                             </framework>
                             <features>
-                                
<feature>(?!(spring-struts|spring-web|spring-dm-web))*</feature>
+                                
<feature>spring|spring-(?!(struts|dm-web|web))*</feature>
                             </features>
                         </configuration>
                     </execution>
diff --git a/assemblies/features/spring-legacy/src/main/feature/feature.xml 
b/assemblies/features/spring-legacy/src/main/feature/feature.xml
index 0a8b56f378..8c8eb04cae 100644
--- a/assemblies/features/spring-legacy/src/main/feature/feature.xml
+++ b/assemblies/features/spring-legacy/src/main/feature/feature.xml
@@ -281,6 +281,160 @@
         <bundle 
start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-websocket/${spring52.version}</bundle>
     </feature>
 
+    <!-- Spring 5.3.x support -->
+
+    <feature name="spring" description="Spring 5.3.x support" 
version="${spring53.version}">
+        <bundle dependency="true" 
start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.aopalliance/${aopalliance.bundle.version}</bundle>
+        <bundle 
start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-core/${spring53.version}</bundle>
+        <bundle 
start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-expression/${spring53.version}</bundle>
+        <bundle 
start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-beans/${spring53.version}</bundle>
+        <bundle 
start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-aop/${spring53.version}</bundle>
+        <bundle 
start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-context/${spring53.version}</bundle>
+        <bundle 
start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-context-support/${spring53.version}</bundle>
+    </feature>
+
+    <feature name="spring-aspects" description="Spring 5.3.x AOP support" 
version="${spring53.version}">
+        <feature version="[${spring53.version},5.4)">spring</feature>
+        <bundle 
start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-aspects/${spring53.version}</bundle>
+    </feature>
+
+    <feature name="spring-instrument" description="Spring 5.3.x Instrument 
support" version="${spring53.version}">
+        <feature version="[${spring53.version},5.4)">spring</feature>
+        <bundle 
start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-instrument/${spring53.version}</bundle>
+    </feature>
+
+    <feature name="spring-jdbc" description="Spring 5.3.x JDBC support" 
version="${spring53.version}">
+        <feature version="[${spring53.version},5.4)">spring-tx</feature>
+        <bundle 
start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-jdbc/${spring53.version}</bundle>
+    </feature>
+
+    <feature name="spring-jms" description="Spring 5.3.x JMS support" 
version="${spring53.version}">
+        <feature version="[${spring53.version},5.4)">spring-tx</feature>
+        <bundle dependency="true" 
start-level="10">mvn:org.apache.geronimo.specs/geronimo-jta_1.1_spec/${geronimo.jta-spec.version}</bundle>
+        <bundle dependency="true" 
start-level="10">mvn:org.apache.geronimo.specs/geronimo-jms_1.1_spec/${geronimo.jms-spec.version}</bundle>
+        <bundle 
start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-jms/${spring53.version}</bundle>
+    </feature>
+
+    <feature name="spring-messaging" description="Spring 5.3.x Messaging 
support" version="${spring53.version}">
+        <feature version="[${spring53.version},5.4)">spring</feature>
+        <bundle 
start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-messaging/${spring53.version}</bundle>
+    </feature>
+
+    <feature name="spring-test" description="Spring 5.3.x Test support" 
version="${spring53.version}">
+        <feature version="[${spring53.version},5.4)">spring</feature>
+        <bundle 
dependency="true">mvn:javax.websocket/javax.websocket-api/1.1</bundle>
+        <bundle 
dependency="true">mvn:org.apache.httpcomponents/httpcore-osgi/4.4.6</bundle>
+        <bundle 
dependency="true">mvn:org.apache.httpcomponents/httpclient-osgi/4.5.2</bundle>
+        <bundle 
start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-test/${spring53.version}</bundle>
+    </feature>
+
+    <feature name="spring-orm" description="Spring 5.3.x ORM support" 
version="${spring53.version}">
+        <feature version="[${spring53.version},5.4)">spring-jdbc</feature>
+        <bundle 
start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-orm/${spring53.version}</bundle>
+    </feature>
+
+    <feature name="spring-oxm" description="Spring 5.3.x OXM support" 
version="${spring53.version}">
+        <feature version="[${spring53.version},5.4)">spring</feature>
+        <bundle 
start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-oxm/${spring53.version}</bundle>
+    </feature>
+
+    <feature name="spring-tx" description="Spring 5.3.x Transaction (TX) 
support" version="${spring53.version}">
+        <feature version="[${spring53.version},5.4)">spring</feature>
+        <bundle 
start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-tx/${spring53.version}</bundle>
+    </feature>
+
+    <feature name="spring-web" description="Spring 5.3.x Web support" 
version="${spring53.version}">
+        <feature version="[${spring53.version},5.4)">spring</feature>
+        <bundle 
dependency="true">mvn:javax.servlet/javax.servlet-api/3.1.0</bundle>
+        <bundle 
start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-web/${spring53.version}</bundle>
+        <bundle 
start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-webmvc/${spring53.version}</bundle>
+    </feature>
+
+    <feature name="spring-websocket" description="Spring 5.3.x WebSocket 
support" version="${spring53.version}">
+        <bundle 
dependency="true">mvn:javax.websocket/javax.websocket-api/1.1</bundle>
+        <feature version="[${spring53.version},5.4)">spring-web</feature>
+        <bundle 
start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-websocket/${spring53.version}</bundle>
+    </feature>
+
+    <!-- Spring 6.0.x support -->
+
+    <feature name="spring" description="Spring 6.0.x support" 
version="${spring60.version}">
+        <bundle dependency="true" 
start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.aopalliance/${aopalliance.bundle.version}</bundle>
+        <bundle 
start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-core/${spring60.version}</bundle>
+        <bundle 
start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-expression/${spring60.version}</bundle>
+        <bundle 
start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-beans/${spring60.version}</bundle>
+        <bundle 
start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-aop/${spring60.version}</bundle>
+        <bundle 
start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-context/${spring60.version}</bundle>
+        <bundle 
start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-context-support/${spring60.version}</bundle>
+    </feature>
+
+    <feature name="spring-aspects" description="Spring 6.0.x AOP support" 
version="${spring60.version}">
+        <feature version="[${spring60.version},6.1)">spring</feature>
+        <bundle 
start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-aspects/${spring60.version}</bundle>
+    </feature>
+
+    <feature name="spring-instrument" description="Spring 6.0.x Instrument 
support" version="${spring60.version}">
+        <feature version="[${spring60.version},6.1)">spring</feature>
+        <bundle 
start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-instrument/${spring60.version}</bundle>
+    </feature>
+
+    <feature name="spring-jdbc" description="Spring 6.0.x JDBC support" 
version="${spring60.version}">
+        <feature version="[${spring60.version},6.1)">spring-tx</feature>
+        <bundle 
start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-jdbc/${spring60.version}</bundle>
+    </feature>
+
+    <feature name="spring-jms" description="Spring 6.0.x JMS support" 
version="${spring60.version}">
+        <feature version="[${spring60.version},6.1)">spring-tx</feature>
+        <bundle 
dependency="true">mvn:jakarta.jms/jakarta.jms-api/3.1.0</bundle>
+        <bundle 
start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-jms/${spring60.version}</bundle>
+    </feature>
+
+    <feature name="spring-messaging" description="Spring 6.0.x Messaging 
support" version="${spring60.version}">
+        <feature version="[${spring60.version},6.1)">spring</feature>
+        <bundle 
start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-messaging/${spring60.version}</bundle>
+    </feature>
+
+    <!-- Waiting https://issues.apache.org/jira/browse/SM-5703 fix
+    <feature name="spring-test" description="Spring 6.0.x Test support" 
version="${spring60.version}">
+        <feature version="[${spring60.version},6.1)">spring</feature>
+        <bundle 
dependency="true">mvn:javax.websocket/javax.websocket-api/1.1</bundle>
+        <bundle 
dependency="true">mvn:org.apache.httpcomponents/httpcore-osgi/4.4.6</bundle>
+        <bundle 
dependency="true">mvn:org.apache.httpcomponents/httpclient-osgi/4.5.2</bundle>
+        <bundle 
start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-test/${spring60.version}</bundle>
+    </feature>
+    -->
+
+    <feature name="spring-orm" description="Spring 6.0.x ORM support" 
version="${spring60.version}">
+        <feature version="[${spring60.version},6.1)">spring-jdbc</feature>
+        <bundle 
start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-orm/${spring60.version}</bundle>
+    </feature>
+
+    <!-- Waiting https://issues.apache.org/jira/browse/SM-5703 fix
+    <feature name="spring-oxm" description="Spring 6.0.x OXM support" 
version="${spring60.version}">
+        <feature version="[${spring60.version},6.1)">spring</feature>
+        <bundle 
dependency="true">mvn:jakarta.xml.bind/jakarta.xml.bind-api/4.0.0</bundle>
+        <bundle 
start-level="30">wrap:mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-oxm/${spring60.version}</bundle>
+    </feature>
+    -->
+
+    <feature name="spring-tx" description="Spring 6.0.x Transaction (TX) 
support" version="${spring60.version}">
+        <feature version="[${spring60.version},6.1)">spring</feature>
+        <bundle 
start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-tx/${spring60.version}</bundle>
+    </feature>
+
+    <feature name="spring-web" description="Spring 6.0.x Web support" 
version="${spring60.version}">
+        <feature version="[${spring60.version},6.1)">spring</feature>
+        <bundle 
dependency="true">mvn:jakarta.servlet/jakarta.servlet-api/5.0.0</bundle>
+        <bundle 
start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-web/${spring60.version}</bundle>
+        <bundle 
start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-webmvc/${spring60.version}</bundle>
+    </feature>
+
+    <feature name="spring-websocket" description="Spring 6.0.x WebSocket 
support" version="${spring60.version}">
+        <bundle 
dependency="true">mvn:javax.websocket/javax.websocket-api/1.1</bundle>
+        <feature version="[${spring60.version},6.1)">spring-web</feature>
+        <bundle 
start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-websocket/${spring60.version}</bundle>
+    </feature>
+
     <!-- Spring Security support -->
 
     <feature name="spring-security" description="Spring Security 3.1.x 
support" version="${spring.security31.version}">
@@ -310,9 +464,9 @@
     <feature name="spring-security" description="Spring Security 5.3.x 
support" version="${spring.security53.version}">
         <feature>pax-web-jsp</feature>
         <feature>pax-web-war</feature>
-        <feature version="[5.1,6)">spring-jdbc</feature>
-        <feature version="[5.1,6)">spring-tx</feature>
-        <feature version="[5.1,6)">spring-web</feature>
+        <feature version="[5.2,5.3)">spring-jdbc</feature>
+        <feature version="[5.2,5.3)">spring-tx</feature>
+        <feature version="[5.2,5.3)">spring-web</feature>
         <bundle 
dependency="true">mvn:javax.annotation/javax.annotation-api/1.3</bundle>
         <bundle 
dependency="true">mvn:com.fasterxml.jackson.core/jackson-core/${jackson.version}</bundle>
         <bundle 
dependency="true">mvn:com.fasterxml.jackson.core/jackson-annotations/${jackson.version}</bundle>
@@ -328,9 +482,9 @@
     <feature name="spring-security" description="Spring Security 5.4.x 
support" version="${spring.security54.version}">
         <feature>pax-web-jsp</feature>
         <feature>pax-web-war</feature>
-        <feature version="[5.2,6)">spring-jdbc</feature>
-        <feature version="[5.2,6)">spring-tx</feature>
-        <feature version="[5.2,6)">spring-web</feature>
+        <feature version="[5.2,5.3)">spring-jdbc</feature>
+        <feature version="[5.2,5.3)">spring-tx</feature>
+        <feature version="[5.2,5.3)">spring-web</feature>
         <bundle 
dependency="true">mvn:javax.annotation/javax.annotation-api/1.3</bundle>
         <bundle 
dependency="true">mvn:com.fasterxml.jackson.core/jackson-core/${jackson.version}</bundle>
         <bundle 
dependency="true">mvn:com.fasterxml.jackson.core/jackson-annotations/${jackson.version}</bundle>
@@ -346,9 +500,9 @@
     <feature name="spring-security" description="Spring Security 5.5.x 
support" version="${spring.security55.version}">
         <feature>pax-web-jsp</feature>
         <feature>pax-web-war</feature>
-        <feature version="[5.2,6)">spring-jdbc</feature>
-        <feature version="[5.2,6)">spring-tx</feature>
-        <feature version="[5.2,6)">spring-web</feature>
+        <feature version="[5.3,5.4)">spring-jdbc</feature>
+        <feature version="[5.3,5.4)">spring-tx</feature>
+        <feature version="[5.3,5.4)">spring-web</feature>
         <bundle 
dependency="true">mvn:javax.annotation/javax.annotation-api/${javax.annotation.version}</bundle>
         <bundle 
dependency="true">mvn:com.fasterxml.jackson.core/jackson-core/${jackson.version}</bundle>
         <bundle 
dependency="true">mvn:com.fasterxml.jackson.core/jackson-annotations/${jackson.version}</bundle>
@@ -361,4 +515,40 @@
         <bundle 
start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-security-taglibs/${spring.security55.version}</bundle>
     </feature>
 
+    <feature name="spring-security" description="Spring Security 5.6.x 
support" version="${spring.security56.version}">
+        <feature>pax-web-jsp</feature>
+        <feature>pax-web-war</feature>
+        <feature version="[5.3,5.4)">spring-jdbc</feature>
+        <feature version="[5.3,5.4)">spring-tx</feature>
+        <feature version="[5.3,5.4)">spring-web</feature>
+        <bundle 
dependency="true">mvn:javax.annotation/javax.annotation-api/${javax.annotation.version}</bundle>
+        <bundle 
dependency="true">mvn:com.fasterxml.jackson.core/jackson-core/${jackson.version}</bundle>
+        <bundle 
dependency="true">mvn:com.fasterxml.jackson.core/jackson-annotations/${jackson.version}</bundle>
+        <bundle 
dependency="true">mvn:com.fasterxml.jackson.core/jackson-databind/${jackson.version}</bundle>
+        <bundle 
dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.aspectj/${aspectj.bundle.version}</bundle>
+        <bundle 
start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-security-core/${spring.security56.version}</bundle>
+        <bundle 
start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-security-config/${spring.security56.version}</bundle>
+        <bundle 
start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-security-web/${spring.security56.version}</bundle>
+        <bundle 
start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-security-acl/${spring.security56.version}</bundle>
+        <bundle 
start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-security-taglibs/${spring.security56.version}</bundle>
+    </feature>
+
+    <feature name="spring-security" description="Spring Security 5.7.x 
support" version="${spring.security57.version}">
+        <feature>pax-web-jsp</feature>
+        <feature>pax-web-war</feature>
+        <feature version="[5.3,5.4)">spring-jdbc</feature>
+        <feature version="[5.3,5.4)">spring-tx</feature>
+        <feature version="[5.3,5.4)">spring-web</feature>
+        <bundle 
dependency="true">mvn:javax.annotation/javax.annotation-api/${javax.annotation.version}</bundle>
+        <bundle 
dependency="true">mvn:com.fasterxml.jackson.core/jackson-core/${jackson.version}</bundle>
+        <bundle 
dependency="true">mvn:com.fasterxml.jackson.core/jackson-annotations/${jackson.version}</bundle>
+        <bundle 
dependency="true">mvn:com.fasterxml.jackson.core/jackson-databind/${jackson.version}</bundle>
+        <bundle 
dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.aspectj/${aspectj.bundle.version}</bundle>
+        <bundle 
start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-security-core/${spring.security57.version}</bundle>
+        <bundle 
start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-security-config/${spring.security57.version}</bundle>
+        <bundle 
start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-security-web/${spring.security57.version}</bundle>
+        <bundle 
start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-security-acl/${spring.security57.version}</bundle>
+        <bundle 
start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-security-taglibs/${spring.security57.version}</bundle>
+    </feature>
+
 </features>
diff --git a/assemblies/features/spring/pom.xml 
b/assemblies/features/spring/pom.xml
index b62e41829b..3e6848b43c 100644
--- a/assemblies/features/spring/pom.xml
+++ b/assemblies/features/spring/pom.xml
@@ -158,7 +158,7 @@
                                 
<descriptor>file:${project.build.directory}/feature/feature.xml</descriptor>
                             </descriptors>
                             
<distribution>org.apache.karaf.features:framework</distribution>
-                            <javase>1.8</javase>
+                            <javase>17</javase>
                             <framework>
                                 <feature>framework</feature>
                             </framework>
diff --git a/assemblies/features/spring/src/main/feature/feature.xml 
b/assemblies/features/spring/src/main/feature/feature.xml
index 43d00e9aad..555750c4df 100644
--- a/assemblies/features/spring/src/main/feature/feature.xml
+++ b/assemblies/features/spring/src/main/feature/feature.xml
@@ -22,117 +22,109 @@
 
     
<repository>mvn:org.apache.karaf.features/standard/${project.version}/xml/features</repository>
 
-    <!-- Spring 5.3.x support -->
+    <!-- Spring 6.1.x support -->
 
-    <feature name="spring" description="Spring 5.3.x support" 
version="${spring53.version}">
+    <feature name="spring" description="Spring 6.1.x support" 
version="${spring61.version}">
         <bundle dependency="true" 
start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.aopalliance/${aopalliance.bundle.version}</bundle>
-        <bundle 
start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-core/${spring53.version}</bundle>
-        <bundle 
start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-expression/${spring53.version}</bundle>
-        <bundle 
start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-beans/${spring53.version}</bundle>
-        <bundle 
start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-aop/${spring53.version}</bundle>
-        <bundle 
start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-context/${spring53.version}</bundle>
-        <bundle 
start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-context-support/${spring53.version}</bundle>
+        <bundle 
start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-core/${spring61.version}</bundle>
+        <bundle 
start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-expression/${spring61.version}</bundle>
+        <bundle 
start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-beans/${spring61.version}</bundle>
+        <bundle 
start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-aop/${spring61.version}</bundle>
+        <bundle 
start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-context/${spring61.version}</bundle>
+        <bundle 
start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-context-support/${spring61.version}</bundle>
     </feature>
 
-    <feature name="spring-aspects" description="Spring 5.3.x AOP support" 
version="${spring53.version}">
-        <feature version="[${spring53.version},5.4)">spring</feature>
-        <bundle 
start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-aspects/${spring53.version}</bundle>
+    <feature name="spring-aspects" description="Spring 6.1.x AOP support" 
version="${spring61.version}">
+        <feature version="[${spring61.version},6.2)">spring</feature>
+        <bundle 
start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-aspects/${spring61.version}</bundle>
     </feature>
 
-    <feature name="spring-instrument" description="Spring 5.3.x Instrument 
support" version="${spring53.version}">
-        <feature version="[${spring53.version},5.4)">spring</feature>
-        <bundle 
start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-instrument/${spring53.version}</bundle>
+    <feature name="spring-instrument" description="Spring 6.1.x Instrument 
support" version="${spring61.version}">
+        <feature version="[${spring61.version},6.2)">spring</feature>
+        <bundle 
start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-instrument/${spring61.version}</bundle>
     </feature>
 
-    <feature name="spring-jdbc" description="Spring 5.3.x JDBC support" 
version="${spring53.version}">
-        <feature version="[${spring53.version},5.4)">spring-tx</feature>
-        <bundle 
start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-jdbc/${spring53.version}</bundle>
+    <feature name="spring-jdbc" description="Spring 6.1.x JDBC support" 
version="${spring61.version}">
+        <feature version="[${spring61.version},6.2)">spring-tx</feature>
+        <bundle 
start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-jdbc/${spring61.version}</bundle>
     </feature>
 
-    <feature name="spring-jms" description="Spring 5.3.x JMS support" 
version="${spring53.version}">
-        <feature version="[${spring53.version},5.4)">spring-tx</feature>
-        <bundle dependency="true" 
start-level="10">mvn:org.apache.geronimo.specs/geronimo-jta_1.1_spec/${geronimo.jta-spec.version}</bundle>
-        <bundle dependency="true" 
start-level="10">mvn:org.apache.geronimo.specs/geronimo-jms_1.1_spec/${geronimo.jms-spec.version}</bundle>
-        <bundle 
start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-jms/${spring53.version}</bundle>
+    <feature name="spring-jms" description="Spring 6.1.x JMS support" 
version="${spring61.version}">
+        <feature version="[${spring61.version},6.2)">spring-tx</feature>
+        <bundle 
dependency="true">mvn:jakarta.jms/jakarta.jms-api/3.1.0</bundle>
+        <bundle 
start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-jms/${spring61.version}</bundle>
     </feature>
 
-    <feature name="spring-messaging" description="Spring 5.3.x Messaging 
support" version="${spring53.version}">
-        <feature version="[${spring53.version},5.4)">spring</feature>
-        <bundle 
start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-messaging/${spring53.version}</bundle>
+    <feature name="spring-messaging" description="Spring 6.1.x Messaging 
support" version="${spring61.version}">
+        <feature version="[${spring61.version},6.2)">spring</feature>
+        <bundle 
start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-messaging/${spring61.version}</bundle>
     </feature>
 
-    <feature name="spring-test" description="Spring 5.3.x Test support" 
version="${spring53.version}">
-        <feature version="[${spring53.version},5.4)">spring</feature>
+    <!-- Waiting https://issues.apache.org/jira/browse/SM-5703 fix
+    <feature name="spring-test" description="Spring 6.1.x Test support" 
version="${spring61.version}">
+        <feature version="[${spring61.version},6.2)">spring</feature>
         <bundle 
dependency="true">mvn:javax.websocket/javax.websocket-api/1.1</bundle>
         <bundle 
dependency="true">mvn:org.apache.httpcomponents/httpcore-osgi/4.4.6</bundle>
         <bundle 
dependency="true">mvn:org.apache.httpcomponents/httpclient-osgi/4.5.2</bundle>
-        <bundle 
start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-test/${spring53.version}</bundle>
+        <bundle 
start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-test/${spring61.version}</bundle>
     </feature>
+    -->
 
-    <feature name="spring-orm" description="Spring 5.3.x ORM support" 
version="${spring53.version}">
-        <feature version="[${spring53.version},5.4)">spring-jdbc</feature>
-        <bundle 
start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-orm/${spring53.version}</bundle>
+    <feature name="spring-orm" description="Spring 6.1.x ORM support" 
version="${spring61.version}">
+        <feature version="[${spring61.version},6.2)">spring-jdbc</feature>
+        <bundle 
start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-orm/${spring61.version}</bundle>
     </feature>
 
-    <feature name="spring-oxm" description="Spring 5.3.x OXM support" 
version="${spring53.version}">
-        <feature version="[${spring53.version},5.4)">spring</feature>
-        <bundle 
start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-oxm/${spring53.version}</bundle>
+    <!-- Waiting https://issues.apache.org/jira/browse/SM-5703 fix
+    <feature name="spring-oxm" description="Spring 6.1.x OXM support" 
version="${spring61.version}">
+        <feature version="[${spring61.version},6.2)">spring</feature>
+        <bundle 
dependency="true">mvn:jakarta.xml.bind/jakarta.xml.bind-api/4.0.0</bundle>
+        <bundle 
start-level="30">wrap:mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-oxm/${spring61.version}</bundle>
     </feature>
+    -->
 
-    <feature name="spring-tx" description="Spring 5.3.x Transaction (TX) 
support" version="${spring53.version}">
-        <feature version="[${spring53.version},5.4)">spring</feature>
-        <bundle 
start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-tx/${spring53.version}</bundle>
+    <feature name="spring-tx" description="Spring 6.1.x Transaction (TX) 
support" version="${spring61.version}">
+        <feature version="[${spring61.version},6.2)">spring</feature>
+        <bundle 
start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-tx/${spring61.version}</bundle>
     </feature>
 
-    <feature name="spring-web" description="Spring 5.3.x Web support" 
version="${spring53.version}">
-        <feature version="[${spring53.version},5.4)">spring</feature>
-        <bundle 
dependency="true">mvn:javax.servlet/javax.servlet-api/3.1.0</bundle>
-        <bundle 
start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-web/${spring53.version}</bundle>
-        <bundle 
start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-webmvc/${spring53.version}</bundle>
+    <feature name="spring-web" description="Spring 6.1.x Web support" 
version="${spring61.version}">
+        <feature version="[${spring61.version},6.2)">spring</feature>
+        <bundle 
dependency="true">mvn:jakarta.servlet/jakarta.servlet-api/5.0.0</bundle>
+        <bundle 
start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-web/${spring61.version}</bundle>
+        <bundle 
start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-webmvc/${spring61.version}</bundle>
     </feature>
 
-    <feature name="spring-websocket" description="Spring 5.3.x WebSocket 
support" version="${spring53.version}">
+    <feature name="spring-websocket" description="Spring 6.1.x WebSocket 
support" version="${spring61.version}">
         <bundle 
dependency="true">mvn:javax.websocket/javax.websocket-api/1.1</bundle>
-        <feature version="[${spring53.version},5.4)">spring-web</feature>
-        <bundle 
start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-websocket/${spring53.version}</bundle>
+        <feature version="[${spring61.version},6.2)">spring-web</feature>
+        <bundle 
start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-websocket/${spring61.version}</bundle>
     </feature>
 
     <!-- Spring Security -->
 
-    <feature name="spring-security" description="Spring Security 5.6.x 
support" version="${spring.security56.version}">
+    <feature name="spring-security" description="Spring Security 6.2.x 
support" version="${spring.security62.version}">
         <feature>pax-web-jsp</feature>
         <feature>pax-web-war</feature>
-        <feature version="[5.2,6)">spring-jdbc</feature>
-        <feature version="[5.2,6)">spring-tx</feature>
-        <feature version="[5.2,6)">spring-web</feature>
-           <bundle 
dependency="true">mvn:javax.annotation/javax.annotation-api/${javax.annotation.version}</bundle>
-        <bundle 
dependency="true">mvn:com.fasterxml.jackson.core/jackson-core/${jackson.version}</bundle>
-        <bundle 
dependency="true">mvn:com.fasterxml.jackson.core/jackson-annotations/${jackson.version}</bundle>
-        <bundle 
dependency="true">mvn:com.fasterxml.jackson.core/jackson-databind/${jackson.version}</bundle>
-        <bundle 
dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.aspectj/${aspectj.bundle.version}</bundle>
-        <bundle 
start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-security-core/${spring.security56.version}</bundle>
-        <bundle 
start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-security-config/${spring.security56.version}</bundle>
-        <bundle 
start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-security-web/${spring.security56.version}</bundle>
-        <bundle 
start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-security-acl/${spring.security56.version}</bundle>
-        <bundle 
start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-security-taglibs/${spring.security56.version}</bundle>
-    </feature>
-
-    <feature name="spring-security" description="Spring Security 5.7.x 
support" version="${spring.security57.version}">
-        <feature>pax-web-jsp</feature>
-        <feature>pax-web-war</feature>
-        <feature version="[5.2,6)">spring-jdbc</feature>
-        <feature version="[5.2,6)">spring-tx</feature>
-        <feature version="[5.2,6)">spring-web</feature>
+        <feature version="[6.1,6.2)">spring-jdbc</feature>
+        <feature version="[6.1,6.2)">spring-tx</feature>
+        <feature version="[6.1,6.2)">spring-web</feature>
         <bundle 
dependency="true">mvn:javax.annotation/javax.annotation-api/${javax.annotation.version}</bundle>
         <bundle 
dependency="true">mvn:com.fasterxml.jackson.core/jackson-core/${jackson.version}</bundle>
         <bundle 
dependency="true">mvn:com.fasterxml.jackson.core/jackson-annotations/${jackson.version}</bundle>
         <bundle 
dependency="true">mvn:com.fasterxml.jackson.core/jackson-databind/${jackson.version}</bundle>
+        <bundle 
dependency="true">mvn:io.micrometer/micrometer-commons/1.12.4</bundle>
+        <bundle 
dependency="true">mvn:io.micrometer/micrometer-observation/1.12.4</bundle>
+        <bundle 
dependency="true">mvn:jakarta.annotation/jakarta.annotation-api/2.1.1</bundle>
+        <bundle 
dependency="true">mvn:jakarta.servlet/jakarta.servlet-api/6.0.0</bundle>
+        <bundle 
dependency="true">mvn:jakarta.servlet.jsp/jakarta.servlet.jsp-api/3.1.1</bundle>
+        <bundle dependency="true">mvn:jakarta.el/jakarta.el-api/5.0.1</bundle>
         <bundle 
dependency="true">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.aspectj/${aspectj.bundle.version}</bundle>
-        <bundle 
start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-security-core/${spring.security57.version}</bundle>
-        <bundle 
start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-security-config/${spring.security57.version}</bundle>
-        <bundle 
start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-security-web/${spring.security57.version}</bundle>
-        <bundle 
start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-security-acl/${spring.security57.version}</bundle>
-        <bundle 
start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-security-taglibs/${spring.security57.version}</bundle>
+        <bundle 
start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-security-core/${spring.security62.version}</bundle>
+        <bundle 
start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-security-config/${spring.security62.version}</bundle>
+        <bundle 
start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-security-web/${spring.security62.version}</bundle>
+        <bundle 
start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-security-acl/${spring.security62.version}</bundle>
+        <bundle 
start-level="30">mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-security-taglibs/${spring.security62.version}</bundle>
     </feature>
 
     <!-- Aries Blueprint Spring support -->
diff --git a/itests/test/pom.xml b/itests/test/pom.xml
index b0e19c9a2a..05fa79471b 100644
--- a/itests/test/pom.xml
+++ b/itests/test/pom.xml
@@ -317,6 +317,8 @@
                         
<spring43.version>${spring43.version}</spring43.version>
                         
<spring52.version>${spring52.version}</spring52.version>
                         
<spring53.version>${spring53.version}</spring53.version>
+                        
<spring60.version>${spring60.version}</spring60.version>
+                        
<spring61.version>${spring61.version}</spring61.version>
                         
<spring.security31.version>${spring.security31.version}</spring.security31.version>
                         
<spring.security42.version>${spring.security42.version}</spring.security42.version>
                         
<spring.security53.version>${spring.security53.version}</spring.security53.version>
@@ -324,6 +326,7 @@
                         
<spring.security55.version>${spring.security55.version}</spring.security55.version>
                         
<spring.security56.version>${spring.security56.version}</spring.security56.version>
                         
<spring.security57.version>${spring.security57.version}</spring.security57.version>
+                        
<spring.security62.version>${spring.security62.version}</spring.security62.version>
                         
<activemq.version>${activemq.version}</activemq.version>
                         <karaf.version>${project.version}</karaf.version>
                         
<pax.exam.configuration>file:src/test/resources/controlled-exam.properties</pax.exam.configuration>
@@ -381,6 +384,8 @@
                                 
<spring43.version>${spring43.version}</spring43.version>
                                 
<spring52.version>${spring52.version}</spring52.version>
                                 
<spring53.version>${spring53.version}</spring53.version>
+                                
<spring60.version>${spring60.version}</spring60.version>
+                                
<spring61.version>${spring61.version}</spring61.version>
                                 
<spring.security31.version>${spring.security31.version}</spring.security31.version>
                                 
<spring.security42.version>${spring.security42.version}</spring.security42.version>
                                 
<spring.security53.version>${spring.security53.version}</spring.security53.version>
@@ -388,6 +393,7 @@
                                 
<spring.security55.version>${spring.security55.version}</spring.security55.version>
                                 
<spring.security56.version>${spring.security56.version}</spring.security56.version>
                                 
<spring.security57.version>${spring.security57.version}</spring.security57.version>
+                                
<spring.security62.version>${spring.security62.version}</spring.security62.version>
                                 
<activemq.version>${activemq.version}</activemq.version>
                                </systemPropertyVariables>
                         </configuration>
diff --git a/itests/test/src/test/java/org/apache/karaf/itests/BaseTest.java 
b/itests/test/src/test/java/org/apache/karaf/itests/BaseTest.java
index bae38913de..fde688fb2e 100644
--- a/itests/test/src/test/java/org/apache/karaf/itests/BaseTest.java
+++ b/itests/test/src/test/java/org/apache/karaf/itests/BaseTest.java
@@ -29,6 +29,8 @@ public class BaseTest extends KarafTestSupport {
                 
KarafDistributionOption.editConfigurationFilePut("etc/system.properties", 
"spring43.version", System.getProperty("spring43.version")),
                 
KarafDistributionOption.editConfigurationFilePut("etc/system.properties", 
"spring52.version", System.getProperty("spring52.version")),
                 
KarafDistributionOption.editConfigurationFilePut("etc/system.properties", 
"spring53.version", System.getProperty("spring53.version")),
+                
KarafDistributionOption.editConfigurationFilePut("etc/system.properties", 
"spring60.version", System.getProperty("spring60.version")),
+                
KarafDistributionOption.editConfigurationFilePut("etc/system.properties", 
"spring61.version", System.getProperty("spring61.version")),
                 
KarafDistributionOption.editConfigurationFilePut("etc/system.properties", 
"spring.security31.version", System.getProperty("spring.security31.version")),
                 
KarafDistributionOption.editConfigurationFilePut("etc/system.properties", 
"spring.security42.version", System.getProperty("spring.security42.version")),
                 
KarafDistributionOption.editConfigurationFilePut("etc/system.properties", 
"spring.security53.version", System.getProperty("spring.security53.version")),
@@ -36,6 +38,7 @@ public class BaseTest extends KarafTestSupport {
                 
KarafDistributionOption.editConfigurationFilePut("etc/system.properties", 
"spring.security55.version", System.getProperty("spring.security55.version")),
                 
KarafDistributionOption.editConfigurationFilePut("etc/system.properties", 
"spring.security56.version", System.getProperty("spring.security56.version")),
                 
KarafDistributionOption.editConfigurationFilePut("etc/system.properties", 
"spring.security57.version", System.getProperty("spring.security57.version")),
+                
KarafDistributionOption.editConfigurationFilePut("etc/system.properties", 
"spring.security62.version", System.getProperty("spring.security62.version")),
                 
KarafDistributionOption.editConfigurationFilePut("etc/system.properties", 
"activemq.version", System.getProperty("activemq.version"))
         };
         return Stream.of(super.config(), 
options).flatMap(Stream::of).toArray(Option[]::new);
diff --git 
a/itests/test/src/test/java/org/apache/karaf/itests/features/Spring53FeaturesTest.java
 
b/itests/test/src/test/java/org/apache/karaf/itests/features/Spring53FeaturesTest.java
index 2d1c4f2199..866f932d47 100644
--- 
a/itests/test/src/test/java/org/apache/karaf/itests/features/Spring53FeaturesTest.java
+++ 
b/itests/test/src/test/java/org/apache/karaf/itests/features/Spring53FeaturesTest.java
@@ -16,14 +16,36 @@ package org.apache.karaf.itests.features;
 import org.apache.karaf.itests.BaseTest;
 import org.junit.Test;
 import org.junit.runner.RunWith;
+import org.ops4j.pax.exam.Configuration;
+import org.ops4j.pax.exam.MavenUtils;
+import org.ops4j.pax.exam.Option;
 import org.ops4j.pax.exam.junit.PaxExam;
 import org.ops4j.pax.exam.spi.reactors.ExamReactorStrategy;
 import org.ops4j.pax.exam.spi.reactors.PerClass;
 
+import java.util.Arrays;
+import java.util.LinkedList;
+import java.util.List;
+
+import static 
org.ops4j.pax.exam.karaf.options.KarafDistributionOption.editConfigurationFilePut;
+
 @RunWith(PaxExam.class)
 @ExamReactorStrategy(PerClass.class)
 public class Spring53FeaturesTest extends BaseTest {
 
+    @Configuration
+    public Option[] config() {
+        String version = MavenUtils.getArtifactVersion("org.apache.karaf", 
"apache-karaf");
+        List<Option> result = new LinkedList<>(Arrays.asList(super.config()));
+        
result.add(editConfigurationFilePut("etc/org.apache.karaf.features.cfg", 
"featuresRepositories",
+                "mvn:org.apache.karaf.features/framework/" + version + 
"/xml/features, " +
+                        "mvn:org.apache.karaf.features/spring/" + version + 
"/xml/features, " +
+                        "mvn:org.apache.karaf.features/spring-legacy/" + 
version + "/xml/features, " +
+                        "mvn:org.apache.karaf.features/enterprise/" + version 
+ "/xml/features, " +
+                        "mvn:org.apache.karaf.features/standard/" + version + 
"/xml/features"));
+        return result.toArray(new Option[result.size()]);
+    }
+
     @Test
     public void installSpringFeature() throws Exception {
         installAssertAndUninstallFeature("spring", 
System.getProperty("spring53.version"));
diff --git 
a/itests/test/src/test/java/org/apache/karaf/itests/features/Spring53FeaturesTest.java
 
b/itests/test/src/test/java/org/apache/karaf/itests/features/Spring60FeaturesTest.java
similarity index 56%
copy from 
itests/test/src/test/java/org/apache/karaf/itests/features/Spring53FeaturesTest.java
copy to 
itests/test/src/test/java/org/apache/karaf/itests/features/Spring60FeaturesTest.java
index 2d1c4f2199..813c44d747 100644
--- 
a/itests/test/src/test/java/org/apache/karaf/itests/features/Spring53FeaturesTest.java
+++ 
b/itests/test/src/test/java/org/apache/karaf/itests/features/Spring60FeaturesTest.java
@@ -14,87 +14,90 @@
 package org.apache.karaf.itests.features;
 
 import org.apache.karaf.itests.BaseTest;
+import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
+import org.ops4j.pax.exam.Configuration;
+import org.ops4j.pax.exam.MavenUtils;
+import org.ops4j.pax.exam.Option;
 import org.ops4j.pax.exam.junit.PaxExam;
 import org.ops4j.pax.exam.spi.reactors.ExamReactorStrategy;
 import org.ops4j.pax.exam.spi.reactors.PerClass;
 
+import java.util.Arrays;
+import java.util.LinkedList;
+import java.util.List;
+
+import static 
org.ops4j.pax.exam.karaf.options.KarafDistributionOption.editConfigurationFilePut;
+
 @RunWith(PaxExam.class)
 @ExamReactorStrategy(PerClass.class)
-public class Spring53FeaturesTest extends BaseTest {
+@Ignore("Spring 6.x needs Java17, Jenkins is still using Java11 for test for 
now")
+public class Spring60FeaturesTest extends BaseTest {
+
+    @Configuration
+    public Option[] config() {
+        String version = MavenUtils.getArtifactVersion("org.apache.karaf", 
"apache-karaf");
+        List<Option> result = new LinkedList<>(Arrays.asList(super.config()));
+        
result.add(editConfigurationFilePut("etc/org.apache.karaf.features.cfg", 
"featuresRepositories",
+                "mvn:org.apache.karaf.features/framework/" + version + 
"/xml/features, " +
+                        "mvn:org.apache.karaf.features/spring/" + version + 
"/xml/features, " +
+                        "mvn:org.apache.karaf.features/spring-legacy/" + 
version + "/xml/features, " +
+                        "mvn:org.apache.karaf.features/enterprise/" + version 
+ "/xml/features, " +
+                        "mvn:org.apache.karaf.features/standard/" + version + 
"/xml/features"));
+        return result.toArray(new Option[result.size()]);
+    }
 
     @Test
     public void installSpringFeature() throws Exception {
-        installAssertAndUninstallFeature("spring", 
System.getProperty("spring53.version"));
+        installAssertAndUninstallFeature("spring", 
System.getProperty("spring60.version"));
     }
 
     @Test
     public void installSpringAspectsFeature() throws Exception {
-        installAssertAndUninstallFeature("spring-aspects", 
System.getProperty("spring53.version"));
+        installAssertAndUninstallFeature("spring-aspects", 
System.getProperty("spring60.version"));
     }
 
     @Test
     public void installSpringInstrumentFeature() throws Exception {
-        installAssertAndUninstallFeature("spring-instrument", 
System.getProperty("spring53.version"));
+        installAssertAndUninstallFeature("spring-instrument", 
System.getProperty("spring60.version"));
     }
 
     @Test
     public void installSpringJdbcFeature() throws Exception {
-        installAssertAndUninstallFeature("spring-jdbc", 
System.getProperty("spring53.version"));
+        installAssertAndUninstallFeature("spring-jdbc", 
System.getProperty("spring60.version"));
     }
 
     @Test
     public void installSpringJmsFeature() throws Exception {
-        installAssertAndUninstallFeature("spring-jms", 
System.getProperty("spring53.version"));
+        installAssertAndUninstallFeature("spring-jms", 
System.getProperty("spring60.version"));
     }
 
     @Test
     public void installSpringMessagingFeature() throws Exception {
-        installAssertAndUninstallFeature("spring-messaging", 
System.getProperty("spring53.version"));
+        installAssertAndUninstallFeature("spring-messaging", 
System.getProperty("spring60.version"));
     }
 
     @Test
+    @Ignore("Waiting https://issues.apache.org/jira/browse/SM-5703 fix")
     public void installSpringTestFeature() throws Exception {
-        installAssertAndUninstallFeature("spring-test", 
System.getProperty("spring53.version"));
+        installAssertAndUninstallFeature("spring-test", 
System.getProperty("spring60.version"));
     }
 
     @Test
     public void installSpringOrmFeature() throws Exception {
-        installAssertAndUninstallFeature("spring-orm", 
System.getProperty("spring53.version"));
+        installAssertAndUninstallFeature("spring-orm", 
System.getProperty("spring60.version"));
     }
 
     @Test
+    @Ignore("Waiting https://issues.apache.org/jira/browse/SM-5703 fix")
     public void installSpringOxmFeature() throws Exception {
-        installAssertAndUninstallFeature("spring-oxm", 
System.getProperty("spring53.version"));
+        installAssertAndUninstallFeature("spring-oxm", 
System.getProperty("spring60.version"));
     }
 
     @Test
     public void installSpringTxFeature() throws Exception {
-        installAssertAndUninstallFeature("spring-tx", 
System.getProperty("spring53.version"));
-    }
-
-    @Test
-    public void installSpringWebFeature() throws Exception {
-        installAssertAndUninstallFeatures("pax-web-http", "spring-web/" + 
System.getProperty("spring53.version"));
-    }
-
-    @Test
-    public void installSpringWebSocketFeature() throws Exception {
-        installAndAssertFeature("pax-web-http");
-        installAssertAndUninstallFeatures("pax-web-http", "spring-websocket/" 
+ System.getProperty("spring53.version"));
-    }
-
-    // Spring Security
-
-    @Test
-    public void installSpringSecurity56Feature() throws Exception {
-        installAssertAndUninstallFeature("spring-security", 
System.getProperty("spring.security56.version"));
-    }
-
-    @Test
-    public void installSpringSecurity57Feature() throws Exception {
-        installAssertAndUninstallFeature("spring-security", 
System.getProperty("spring.security57.version"));
+        installAssertAndUninstallFeature("spring-tx", 
System.getProperty("spring60.version"));
     }
 
 }
diff --git 
a/itests/test/src/test/java/org/apache/karaf/itests/features/Spring53FeaturesTest.java
 
b/itests/test/src/test/java/org/apache/karaf/itests/features/Spring61FeaturesTest.java
similarity index 65%
copy from 
itests/test/src/test/java/org/apache/karaf/itests/features/Spring53FeaturesTest.java
copy to 
itests/test/src/test/java/org/apache/karaf/itests/features/Spring61FeaturesTest.java
index 2d1c4f2199..972716c19e 100644
--- 
a/itests/test/src/test/java/org/apache/karaf/itests/features/Spring53FeaturesTest.java
+++ 
b/itests/test/src/test/java/org/apache/karaf/itests/features/Spring61FeaturesTest.java
@@ -14,6 +14,7 @@
 package org.apache.karaf.itests.features;
 
 import org.apache.karaf.itests.BaseTest;
+import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.ops4j.pax.exam.junit.PaxExam;
@@ -22,79 +23,59 @@ import org.ops4j.pax.exam.spi.reactors.PerClass;
 
 @RunWith(PaxExam.class)
 @ExamReactorStrategy(PerClass.class)
-public class Spring53FeaturesTest extends BaseTest {
+@Ignore("Spring 6.x needs Java17, Jenkins is still using Java11 for test for 
now")
+public class Spring61FeaturesTest extends BaseTest {
 
     @Test
     public void installSpringFeature() throws Exception {
-        installAssertAndUninstallFeature("spring", 
System.getProperty("spring53.version"));
+        installAssertAndUninstallFeature("spring", 
System.getProperty("spring61.version"));
     }
 
     @Test
     public void installSpringAspectsFeature() throws Exception {
-        installAssertAndUninstallFeature("spring-aspects", 
System.getProperty("spring53.version"));
+        installAssertAndUninstallFeature("spring-aspects", 
System.getProperty("spring61.version"));
     }
 
     @Test
     public void installSpringInstrumentFeature() throws Exception {
-        installAssertAndUninstallFeature("spring-instrument", 
System.getProperty("spring53.version"));
+        installAssertAndUninstallFeature("spring-instrument", 
System.getProperty("spring61.version"));
     }
 
     @Test
     public void installSpringJdbcFeature() throws Exception {
-        installAssertAndUninstallFeature("spring-jdbc", 
System.getProperty("spring53.version"));
+        installAssertAndUninstallFeature("spring-jdbc", 
System.getProperty("spring61.version"));
     }
 
     @Test
     public void installSpringJmsFeature() throws Exception {
-        installAssertAndUninstallFeature("spring-jms", 
System.getProperty("spring53.version"));
+        installAssertAndUninstallFeature("spring-jms", 
System.getProperty("spring61.version"));
     }
 
     @Test
     public void installSpringMessagingFeature() throws Exception {
-        installAssertAndUninstallFeature("spring-messaging", 
System.getProperty("spring53.version"));
+        installAssertAndUninstallFeature("spring-messaging", 
System.getProperty("spring61.version"));
     }
 
     @Test
+    @Ignore("Waiting https://issues.apache.org/jira/browse/SM-5703 fix")
     public void installSpringTestFeature() throws Exception {
-        installAssertAndUninstallFeature("spring-test", 
System.getProperty("spring53.version"));
+        installAssertAndUninstallFeature("spring-test", 
System.getProperty("spring61.version"));
     }
 
     @Test
     public void installSpringOrmFeature() throws Exception {
-        installAssertAndUninstallFeature("spring-orm", 
System.getProperty("spring53.version"));
+        installAssertAndUninstallFeature("spring-orm", 
System.getProperty("spring61.version"));
     }
 
     @Test
+    @Ignore("Waiting https://issues.apache.org/jira/browse/SM-5703 fix")
     public void installSpringOxmFeature() throws Exception {
-        installAssertAndUninstallFeature("spring-oxm", 
System.getProperty("spring53.version"));
+        installAssertAndUninstallFeature("spring-oxm", 
System.getProperty("spring61.version"));
     }
 
     @Test
     public void installSpringTxFeature() throws Exception {
-        installAssertAndUninstallFeature("spring-tx", 
System.getProperty("spring53.version"));
-    }
-
-    @Test
-    public void installSpringWebFeature() throws Exception {
-        installAssertAndUninstallFeatures("pax-web-http", "spring-web/" + 
System.getProperty("spring53.version"));
-    }
-
-    @Test
-    public void installSpringWebSocketFeature() throws Exception {
-        installAndAssertFeature("pax-web-http");
-        installAssertAndUninstallFeatures("pax-web-http", "spring-websocket/" 
+ System.getProperty("spring53.version"));
-    }
-
-    // Spring Security
-
-    @Test
-    public void installSpringSecurity56Feature() throws Exception {
-        installAssertAndUninstallFeature("spring-security", 
System.getProperty("spring.security56.version"));
-    }
-
-    @Test
-    public void installSpringSecurity57Feature() throws Exception {
-        installAssertAndUninstallFeature("spring-security", 
System.getProperty("spring.security57.version"));
+        installAssertAndUninstallFeature("spring-tx", 
System.getProperty("spring61.version"));
     }
 
 }
diff --git a/pom.xml b/pom.xml
index 022a4c8efc..3b9bbd7ff0 100644
--- a/pom.xml
+++ b/pom.xml
@@ -336,6 +336,8 @@
         <spring43.version>4.3.30.RELEASE_1</spring43.version>
         <spring52.version>5.2.25.RELEASE_1</spring52.version>
         <spring53.version>5.3.33_1</spring53.version>
+        <spring60.version>6.0.18_1</spring60.version>
+        <spring61.version>6.1.5_1</spring61.version>
         <spring.security31.version>3.1.4.RELEASE</spring.security31.version>
         <spring.security42.version>4.2.4.RELEASE_1</spring.security42.version>
         <spring.security51.version>5.1.6.RELEASE_1</spring.security51.version>
@@ -344,6 +346,7 @@
         <spring.security55.version>5.5.3_1</spring.security55.version>
         <spring.security56.version>5.6.3_1</spring.security56.version>
         <spring.security57.version>5.7.12_1</spring.security57.version>
+        <spring.security62.version>6.2.1_1</spring.security62.version>
 
         <sling.commons.johnzon.version>1.2.16</sling.commons.johnzon.version>
         <sshd.version>2.12.1</sshd.version>

Reply via email to