This is an automated email from the ASF dual-hosted git repository.
jbonofre pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/activemq.git
The following commit(s) were added to refs/heads/main by this push:
new 76b878a6b2 build(deps): bump spring-version from 6.2.19 to 7.0.8
(#2102)
76b878a6b2 is described below
commit 76b878a6b2378971639f39870d5527c291318d76
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
AuthorDate: Fri Jul 24 06:15:52 2026 +0200
build(deps): bump spring-version from 6.2.19 to 7.0.8 (#2102)
* build(deps): bump spring-version from 6.2.19 to 7.0.8
Bumps `spring-version` from 6.2.19 to 7.0.8.
Updates `org.springframework:spring-aop` from 6.2.19 to 7.0.8
- [Release
notes](https://github.com/spring-projects/spring-framework/releases)
-
[Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.19...v7.0.8)
Updates `org.springframework:spring-beans` from 6.2.19 to 7.0.8
- [Release
notes](https://github.com/spring-projects/spring-framework/releases)
-
[Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.19...v7.0.8)
Updates `org.springframework:spring-context` from 6.2.19 to 7.0.8
- [Release
notes](https://github.com/spring-projects/spring-framework/releases)
-
[Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.19...v7.0.8)
Updates `org.springframework:spring-core` from 6.2.19 to 7.0.8
- [Release
notes](https://github.com/spring-projects/spring-framework/releases)
-
[Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.19...v7.0.8)
Updates `org.springframework:spring-expression` from 6.2.19 to 7.0.8
- [Release
notes](https://github.com/spring-projects/spring-framework/releases)
-
[Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.19...v7.0.8)
Updates `org.springframework:spring-jms` from 6.2.19 to 7.0.8
- [Release
notes](https://github.com/spring-projects/spring-framework/releases)
-
[Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.19...v7.0.8)
Updates `org.springframework:spring-tx` from 6.2.19 to 7.0.8
- [Release
notes](https://github.com/spring-projects/spring-framework/releases)
-
[Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.19...v7.0.8)
Updates `org.springframework:spring-webmvc` from 6.2.19 to 7.0.8
- [Release
notes](https://github.com/spring-projects/spring-framework/releases)
-
[Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.19...v7.0.8)
Updates `org.springframework:spring-web` from 6.2.19 to 7.0.8
- [Release
notes](https://github.com/spring-projects/spring-framework/releases)
-
[Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.19...v7.0.8)
Updates `org.springframework:spring-test` from 6.2.19 to 7.0.8
- [Release
notes](https://github.com/spring-projects/spring-framework/releases)
-
[Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.19...v7.0.8)
Updates `org.springframework:spring-oxm` from 6.2.19 to 7.0.8
- [Release
notes](https://github.com/spring-projects/spring-framework/releases)
-
[Commits](https://github.com/spring-projects/spring-framework/compare/v6.2.19...v7.0.8)
---
updated-dependencies:
- dependency-name: org.springframework:spring-aop
dependency-version: 7.0.8
dependency-type: direct:production
update-type: version-update:semver-major
- dependency-name: org.springframework:spring-beans
dependency-version: 7.0.8
dependency-type: direct:production
update-type: version-update:semver-major
- dependency-name: org.springframework:spring-context
dependency-version: 7.0.8
dependency-type: direct:production
update-type: version-update:semver-major
- dependency-name: org.springframework:spring-core
dependency-version: 7.0.8
dependency-type: direct:production
update-type: version-update:semver-major
- dependency-name: org.springframework:spring-expression
dependency-version: 7.0.8
dependency-type: direct:production
update-type: version-update:semver-major
- dependency-name: org.springframework:spring-jms
dependency-version: 7.0.8
dependency-type: direct:production
update-type: version-update:semver-major
- dependency-name: org.springframework:spring-oxm
dependency-version: 7.0.8
dependency-type: direct:production
update-type: version-update:semver-major
- dependency-name: org.springframework:spring-test
dependency-version: 7.0.8
dependency-type: direct:production
update-type: version-update:semver-major
- dependency-name: org.springframework:spring-tx
dependency-version: 7.0.8
dependency-type: direct:production
update-type: version-update:semver-major
- dependency-name: org.springframework:spring-web
dependency-version: 7.0.8
dependency-type: direct:production
update-type: version-update:semver-major
- dependency-name: org.springframework:spring-webmvc
dependency-version: 7.0.8
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <[email protected]>
* Add Karaf features verification and Spring 7 support
Add the karaf-maven-plugin verify goal to activemq-karaf to statically
validate the ActiveMQ features against the Karaf 4.4 framework, standard,
spring and enterprise descriptors on every build.
Verification surfaced several pre-existing feature resolution problems,
now fixed:
- activemq-blueprint: correct the Fragment-Host header, which targeted
org.apache.activemq.activemq-osgi while the host bundle's symbolic name
is org.apache.activemq.osgi, so the fragment could never attach.
- activemq-amqp-client: add the netty-codec-base and netty-codec-compression
bundles (packages relocated in Netty 4.2) and the jakarta.jms-api bundle
required by qpid-jms-client.
- activemq-shell: pull the activemq-client feature so the
org.apache.activemq.console
package is available.
- activemq-web-console: provide the Jakarta EE 9 servlet/JSP/EL API bundles
the migrated WAR imports.
Spring 7: Karaf only ships Spring 6.1 features and there are no ServiceMix
OSGi wrappers for Spring 7, so add spring and spring-web features that wrap
the plain Spring 7 jars via the pax-url wrap protocol, and point
activemq-client and activemq-web-console at them ([7,8)). Also align
spring-version-range with the 7.x import range.
* Run Karaf features verification in activemq-karaf-itest
The karaf-maven-plugin verify goal resolves the feature bundles through
pax-url from the local repository. When bound to the activemq-karaf module
it fails in a clean reactor build because sibling SNAPSHOTs referenced by
the features (activemq-osgi, activemq-blueprint, activemq-http and the
activemq-karaf bundle itself) are not installed yet at that point in the
reactor.
Move the verification to activemq-karaf-itest, which is built last (after
all referenced modules are installed) and already sets up the local
repository for pax-url. The feature descriptors are now referenced as
attached mvn: artifacts of activemq-karaf instead of local files.
* Use filtered properties for Jakarta versions and align to Jakarta EE 11
Reference the parent pom Jakarta versions from the Karaf features through
filtered properties instead of hardcoded versions, as requested in review.
Make the activemq-web-console bundle imports deterministic so feature
verification is stable regardless of the transitively resolved API versions:
pin jakarta.servlet to [5,7) and jakarta.servlet.jsp to [3,5), and widen the
org.objectweb.asm import range to [6,10) to match the asm 9.x now used by
the
Jetty 12 based web console. Provide the org.objectweb.asm package (used in
provided scope by the web console) through an asm bundle in the
activemq-web-console feature.
* Address review comments: use spring-version-range and narrow servlet
import to [6,7)
---------
Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot]
<49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: JB Onofré <[email protected]>
---
activemq-blueprint/pom.xml | 2 +-
activemq-karaf-itest/pom.xml | 38 ++++++++++++++++++++++
.../src/main/resources/features-core.xml | 29 ++++++++++++++---
activemq-karaf/src/main/resources/features.xml | 9 +++++
activemq-web-console/pom.xml | 14 ++++----
pom.xml | 24 ++++++++++----
6 files changed, 97 insertions(+), 19 deletions(-)
diff --git a/activemq-blueprint/pom.xml b/activemq-blueprint/pom.xml
index a5b08eefdc..c69489fcd6 100644
--- a/activemq-blueprint/pom.xml
+++ b/activemq-blueprint/pom.xml
@@ -58,7 +58,7 @@
org.apache.aries.blueprint.*;version="[1.0,2)",
*
</Import-Package>
-
<Fragment-Host>org.apache.activemq.activemq-osgi</Fragment-Host>
+ <Fragment-Host>org.apache.activemq.osgi</Fragment-Host>
<_noee>true</_noee>
</instructions>
</configuration>
diff --git a/activemq-karaf-itest/pom.xml b/activemq-karaf-itest/pom.xml
index 076dba00fd..5ca9c93792 100644
--- a/activemq-karaf-itest/pom.xml
+++ b/activemq-karaf-itest/pom.xml
@@ -201,6 +201,44 @@
</systemPropertyVariables>
</configuration>
</plugin>
+ <!--
+ Statically verify that the ActiveMQ Karaf features resolve against the
Karaf
+ distribution. This runs here (last in the reactor) so all referenced
ActiveMQ
+ artifacts (activemq-osgi, activemq-blueprint, activemq-karaf, ...) are
already
+ installed in the local repository.
+ -->
+ <plugin>
+ <groupId>org.apache.karaf.tooling</groupId>
+ <artifactId>karaf-maven-plugin</artifactId>
+ <version>${karaf-version}</version>
+ <executions>
+ <execution>
+ <id>verify-features</id>
+ <phase>verify</phase>
+ <goals>
+ <goal>verify</goal>
+ </goals>
+ <configuration>
+ <descriptors>
+
<descriptor>mvn:org.apache.karaf.features/framework/${karaf-version}/xml/features</descriptor>
+
<descriptor>mvn:org.apache.karaf.features/standard/${karaf-version}/xml/features</descriptor>
+
<descriptor>mvn:org.apache.karaf.features/spring/${karaf-version}/xml/features</descriptor>
+
<descriptor>mvn:org.apache.karaf.features/enterprise/${karaf-version}/xml/features</descriptor>
+
<descriptor>mvn:org.apache.activemq/activemq-karaf/${project.version}/xml/features-core</descriptor>
+
<descriptor>mvn:org.apache.activemq/activemq-karaf/${project.version}/xml/features</descriptor>
+ </descriptors>
+
<distribution>org.apache.karaf:apache-karaf:zip::${karaf-version}</distribution>
+ <javase>17</javase>
+ <framework>
+ <feature>framework</feature>
+ </framework>
+ <features>
+ <feature>activemq*</feature>
+ </features>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
</plugins>
<pluginManagement>
<plugins>
diff --git a/activemq-karaf/src/main/resources/features-core.xml
b/activemq-karaf/src/main/resources/features-core.xml
index 5a1748a99c..1061ee3047 100644
--- a/activemq-karaf/src/main/resources/features-core.xml
+++ b/activemq-karaf/src/main/resources/features-core.xml
@@ -20,18 +20,39 @@
<features name="activemq-core-${project.version}"
xmlns="http://karaf.apache.org/xmlns/features/v1.4.0">
+ <!--
+ Spring 7.x support. Apache Karaf only provides Spring up to 6.1.x and
there are no
+ ServiceMix OSGi wrappers for Spring 7 yet, so the plain Spring
Framework jars (which
+ no longer ship OSGi metadata) are wrapped on the fly with the pax-url
wrap: protocol.
+ -->
+ <feature name="spring" description="Spring 7.x support"
version="${spring-version}">
+ <bundle
start-level="30">wrap:mvn:org.springframework/spring-core/${spring-version}$Bundle-SymbolicName=org.springframework.spring-core&Bundle-Version=${spring-version}&Export-Package=org.springframework.*;version=${spring-version}&Import-Package=*;resolution:=optional</bundle>
+ <bundle
start-level="30">wrap:mvn:org.springframework/spring-expression/${spring-version}$Bundle-SymbolicName=org.springframework.spring-expression&Bundle-Version=${spring-version}&Export-Package=org.springframework.*;version=${spring-version}&Import-Package=*;resolution:=optional</bundle>
+ <bundle
start-level="30">wrap:mvn:org.springframework/spring-beans/${spring-version}$Bundle-SymbolicName=org.springframework.spring-beans&Bundle-Version=${spring-version}&Export-Package=org.springframework.*;version=${spring-version}&Import-Package=*;resolution:=optional</bundle>
+ <bundle
start-level="30">wrap:mvn:org.springframework/spring-aop/${spring-version}$Bundle-SymbolicName=org.springframework.spring-aop&Bundle-Version=${spring-version}&Export-Package=org.springframework.*,org.aopalliance.*;version=${spring-version}&Import-Package=*;resolution:=optional</bundle>
+ <bundle
start-level="30">wrap:mvn:org.springframework/spring-context/${spring-version}$Bundle-SymbolicName=org.springframework.spring-context&Bundle-Version=${spring-version}&Export-Package=org.springframework.*;version=${spring-version}&Import-Package=*;resolution:=optional</bundle>
+ <bundle
start-level="30">wrap:mvn:org.springframework/spring-context-support/${spring-version}$Bundle-SymbolicName=org.springframework.spring-context-support&Bundle-Version=${spring-version}&Export-Package=org.springframework.*;version=${spring-version}&Import-Package=*;resolution:=optional</bundle>
+ </feature>
+
+ <feature name="spring-web" description="Spring 7.x Web support"
version="${spring-version}">
+ <feature version="${spring-version-range}">spring</feature>
+ <bundle
dependency="true">mvn:jakarta.servlet/jakarta.servlet-api/${jakarta-servlet-api-version}</bundle>
+ <bundle
start-level="30">wrap:mvn:org.springframework/spring-web/${spring-version}$Bundle-SymbolicName=org.springframework.spring-web&Bundle-Version=${spring-version}&Export-Package=org.springframework.*;version=${spring-version}&Import-Package=*;resolution:=optional</bundle>
+ <bundle
start-level="30">wrap:mvn:org.springframework/spring-webmvc/${spring-version}$Bundle-SymbolicName=org.springframework.spring-webmvc&Bundle-Version=${spring-version}&Export-Package=org.springframework.*;version=${spring-version}&Import-Package=*;resolution:=optional</bundle>
+ </feature>
+
<!-- Bundles needed if only client will be deployed in the container -->
<feature name="activemq-client" description="ActiveMQ client libraries"
version="${project.version}">
- <feature version="[5,7)">spring</feature>
+ <feature version="${spring-version-range}">spring</feature>
<feature>aries-blueprint</feature>
<feature>activemq-combined-jms-spec</feature>
<bundle>mvn:jakarta.activation/jakarta.activation-api/2.1.2</bundle>
<bundle>mvn:jakarta.xml.bind/jakarta.xml.bind-api/4.0.0</bundle>
- <bundle>mvn:jakarta.jms/jakarta.jms-api/3.1.0</bundle>
+
<bundle>mvn:jakarta.jms/jakarta.jms-api/${jakarta-jms-api-version}</bundle>
<bundle>mvn:jakarta.activation/jakarta.activation-api/2.1.2</bundle>
- <bundle>mvn:jakarta.annotation/jakarta.annotation-api/2.1.1</bundle>
+
<bundle>mvn:jakarta.annotation/jakarta.annotation-api/${jakarta-annotation-api-version}</bundle>
<bundle>mvn:jakarta.enterprise/jakarta.enterprise.lang-model/4.0.1</bundle>
- <bundle>mvn:jakarta.el/jakarta.el-api/5.0.1</bundle>
+
<bundle>mvn:jakarta.el/jakarta.el-api/${jakarta-el-api-version}</bundle>
<bundle>mvn:jakarta.inject/jakarta.inject-api/2.0.1</bundle>
<bundle>mvn:jakarta.interceptor/jakarta.interceptor-api/2.1.0</bundle>
<bundle>mvn:jakarta.enterprise/jakarta.enterprise.cdi-api/4.0.1</bundle>
diff --git a/activemq-karaf/src/main/resources/features.xml
b/activemq-karaf/src/main/resources/features.xml
index cd7eec644c..22a311d951 100644
--- a/activemq-karaf/src/main/resources/features.xml
+++ b/activemq-karaf/src/main/resources/features.xml
@@ -39,6 +39,7 @@
<feature name="activemq-shell" version="${project.version}">
<feature>shell-compat</feature>
+ <feature version="${project.version}">activemq-client</feature>
<bundle>mvn:org.apache.activemq/activemq-karaf/${project.version}</bundle>
</feature>
@@ -49,6 +50,11 @@
<feature name="activemq-web-console" version="${project.version}">
<feature>war</feature>
<feature>eventadmin</feature>
+ <feature version="${spring-version-range}">spring-web</feature>
+ <bundle dependency="true">mvn:org.ow2.asm/asm/${asm-version}</bundle>
+ <bundle
dependency="true">mvn:jakarta.servlet/jakarta.servlet-api/${jakarta-servlet-api-version}</bundle>
+ <bundle
dependency="true">mvn:jakarta.el/jakarta.el-api/${jakarta-el-api-version}</bundle>
+ <bundle
dependency="true">mvn:jakarta.servlet.jsp/jakarta.servlet.jsp-api/${jakarta-servlet-jsp-api-version}</bundle>
<configfile
finalname="${karaf.etc}/org.apache.activemq.webconsole.cfg">mvn:org.apache.activemq/activemq-karaf/${project.version}/cfg/activemq-webconsole</configfile>
<bundle>mvn:org.apache.activemq/activemq-web-console/${project.version}/war</bundle>
</feature>
@@ -62,12 +68,15 @@
</feature>
<feature name="activemq-amqp-client" version="${pom.version}"
description="ActiveMQ AMQP protocol client libraries">
+ <bundle
dependency="true">mvn:jakarta.jms/jakarta.jms-api/${jakarta-jms-api-version}</bundle>
<bundle>mvn:io.netty/netty-common/${netty-version}</bundle>
<bundle>mvn:io.netty/netty-transport/${netty-version}</bundle>
<bundle>mvn:io.netty/netty-transport-native-epoll/${netty-version}</bundle>
<bundle>mvn:io.netty/netty-transport-native-kqueue/${netty-version}</bundle>
<bundle>mvn:io.netty/netty-transport-native-unix-common/${netty-version}</bundle>
<bundle>mvn:io.netty/netty-buffer/${netty-version}</bundle>
+ <bundle>mvn:io.netty/netty-codec-base/${netty-version}</bundle>
+ <bundle>mvn:io.netty/netty-codec-compression/${netty-version}</bundle>
<bundle>mvn:io.netty/netty-codec/${netty-version}</bundle>
<bundle>mvn:io.netty/netty-codec-http/${netty-version}</bundle>
<bundle>mvn:io.netty/netty-handler/${netty-version}</bundle>
diff --git a/activemq-web-console/pom.xml b/activemq-web-console/pom.xml
index 65f2e6f7ec..5edeb39c9f 100644
--- a/activemq-web-console/pom.xml
+++ b/activemq-web-console/pom.xml
@@ -139,12 +139,12 @@
javax.management.remote,
javax.naming,
org.w3c.dom,
- jakarta.servlet;version="[5,6)",
- jakarta.servlet.annotation;version="[5,6)",
- jakarta.servlet.http;version="[5,6)",
- jakarta.servlet.jsp,
- jakarta.servlet.jsp.tagext,
- jakarta.servlet.jsp.el,
+ jakarta.servlet;version="[6,7)",
+ jakarta.servlet.annotation;version="[6,7)",
+ jakarta.servlet.http;version="[6,7)",
+ jakarta.servlet.jsp;version="[3,5)",
+ jakarta.servlet.jsp.tagext;version="[3,5)",
+ jakarta.servlet.jsp.el;version="[3,5)",
javax.management,
javax.management.openmbean,
javax.net,
@@ -158,7 +158,7 @@
org.apache.log4j;version="[2,3)";resolution:=optional,
org.apache.log4j.spi;version="[2,3)";resolution:=optional,
org.eclipse.jetty*;resolution:=optional;version="${jetty-version-range}",
- org.objectweb.asm*;version="[6,8)"
+ org.objectweb.asm*;version="[6,10)"
</Import-Package>
<_contract>!*</_contract>
<_noee>true</_noee>
diff --git a/pom.xml b/pom.xml
index 680727dfc7..fed7d07b28 100644
--- a/pom.xml
+++ b/pom.xml
@@ -69,6 +69,11 @@
<jackson-version>2.22.1</jackson-version>
<jackson-annotations-version>2.22</jackson-annotations-version>
<jakarta-jms-api-version>3.1.0</jakarta-jms-api-version>
+ <jakarta-annotation-api-version>3.0.0</jakarta-annotation-api-version>
+ <jakarta-servlet-api-version>6.1.0</jakarta-servlet-api-version>
+ <jakarta-servlet-jsp-api-version>4.0.0</jakarta-servlet-jsp-api-version>
+ <jakarta-el-api-version>6.0.0</jakarta-el-api-version>
+ <asm-version>9.10.1</asm-version>
<jasypt-version>1.9.3</jasypt-version>
<jaxb-version>4.0.9</jaxb-version>
<jetty-version>12.1.11</jetty-version>
@@ -94,8 +99,8 @@
<rome-version>2.1.0</rome-version>
<shiro-version>2.2.1</shiro-version>
<slf4j-version>2.0.18</slf4j-version>
- <spring-version>6.2.19</spring-version>
- <spring-version-range>[6,7)</spring-version-range>
+ <spring-version>7.0.8</spring-version>
+ <spring-version-range>[7,8)</spring-version-range>
<taglibs-version>1.2.5</taglibs-version>
<xpp3-version>1.1.4c</xpp3-version>
<xstream-version>1.4.21</xstream-version>
@@ -448,19 +453,24 @@
<dependency>
<groupId>org.ow2.asm</groupId>
<artifactId>asm</artifactId>
- <version>9.10.1</version>
+ <version>${asm-version}</version>
</dependency>
- <!-- Servlet 6.1 and JSP (Jakarta EE 11) -->
+ <!-- Servlet and JSP (Jakarta EE 11, required by Spring 7) -->
<dependency>
<groupId>jakarta.servlet.jsp</groupId>
<artifactId>jakarta.servlet.jsp-api</artifactId>
- <version>4.0.0</version>
+ <version>${jakarta-servlet-jsp-api-version}</version>
</dependency>
<dependency>
<groupId>jakarta.servlet</groupId>
<artifactId>jakarta.servlet-api</artifactId>
- <version>6.1.0</version>
+ <version>${jakarta-servlet-api-version}</version>
+ </dependency>
+ <dependency>
+ <groupId>jakarta.el</groupId>
+ <artifactId>jakarta.el-api</artifactId>
+ <version>${jakarta-el-api-version}</version>
</dependency>
<dependency>
<groupId>jakarta.websocket</groupId>
@@ -940,7 +950,7 @@
<dependency>
<groupId>jakarta.annotation</groupId>
<artifactId>jakarta.annotation-api</artifactId>
- <version>3.0.0</version>
+ <version>${jakarta-annotation-api-version}</version>
</dependency>
<!-- JMH for micro-benchmarks -->
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
For further information, visit: https://activemq.apache.org/contact