diff --git a/build.gradle b/build.gradle index 0071654..1db1d0c 100644 --- a/build.gradle +++ b/build.gradle @@ -1,5 +1,5 @@ plugins { - id 'org.springframework.boot' version '2.7.18' + id 'org.springframework.boot' version '3.5.7' id 'java' id 'maven-publish' } @@ -7,8 +7,8 @@ plugins { apply plugin: 'io.spring.dependency-management' java { - sourceCompatibility = JavaVersion.VERSION_11 - targetCompatibility = JavaVersion.VERSION_11 + sourceCompatibility = JavaVersion.VERSION_17 + targetCompatibility = JavaVersion.VERSION_17 } repositories { @@ -18,10 +18,10 @@ repositories { dependencies { implementation 'org.springframework.boot:spring-boot-starter' implementation 'org.springframework.boot:spring-boot-starter-web' - implementation 'org.apache.activemq:activemq-client:5.19.1' + implementation 'org.apache.activemq:activemq-client:6.1.8' testImplementation 'org.springframework.boot:spring-boot-starter-test' - testImplementation 'org.apache.activemq:activemq-broker:5.19.1' + testImplementation 'org.apache.activemq:activemq-broker:6.1.8' testImplementation 'junit:junit' } diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index 1b33c55..f8e1ee3 100644 Binary files a/gradle/wrapper/gradle-wrapper.jar and b/gradle/wrapper/gradle-wrapper.jar differ diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index d4081da..bad7c24 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.3-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-9.2.0-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/gradlew b/gradlew index 23d15a9..adff685 100755 --- a/gradlew +++ b/gradlew @@ -1,7 +1,7 @@ #!/bin/sh # -# Copyright © 2015-2021 the original authors. +# Copyright © 2015 the original authors. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -114,7 +114,6 @@ case "$( uname )" in #( NONSTOP* ) nonstop=true ;; esac -CLASSPATH="\\\"\\\"" # Determine the Java command to use to start the JVM. @@ -172,7 +171,6 @@ fi # For Cygwin or MSYS, switch paths to Windows format before running java if "$cygwin" || "$msys" ; then APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) - CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" ) JAVACMD=$( cygpath --unix "$JAVACMD" ) @@ -212,7 +210,6 @@ DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' set -- \ "-Dorg.gradle.appname=$APP_BASE_NAME" \ - -classpath "$CLASSPATH" \ -jar "$APP_HOME/gradle/wrapper/gradle-wrapper.jar" \ "$@" diff --git a/gradlew.bat b/gradlew.bat index 5eed7ee..e509b2d 100644 --- a/gradlew.bat +++ b/gradlew.bat @@ -70,11 +70,10 @@ goto fail :execute @rem Setup the command line -set CLASSPATH= @rem Execute Gradle -"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" -jar "%APP_HOME%\gradle\wrapper\gradle-wrapper.jar" %* +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -jar "%APP_HOME%\gradle\wrapper\gradle-wrapper.jar" %* :end @rem End local scope for the variables with windows NT shell diff --git a/src/main/java/org/netresearch/amqblobspring/BlobController.java b/src/main/java/org/netresearch/amqblobspring/BlobController.java index da69b80..9380c5f 100644 --- a/src/main/java/org/netresearch/amqblobspring/BlobController.java +++ b/src/main/java/org/netresearch/amqblobspring/BlobController.java @@ -8,7 +8,7 @@ import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RestController; -import javax.servlet.http.HttpServletResponse; +import jakarta.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; diff --git a/src/main/java/org/netresearch/amqblobspring/BlobRegistry.java b/src/main/java/org/netresearch/amqblobspring/BlobRegistry.java index b4184b8..283bab2 100644 --- a/src/main/java/org/netresearch/amqblobspring/BlobRegistry.java +++ b/src/main/java/org/netresearch/amqblobspring/BlobRegistry.java @@ -8,9 +8,9 @@ import org.springframework.stereotype.Service; import org.springframework.util.StreamUtils; -import javax.jms.BytesMessage; -import javax.jms.JMSException; -import javax.jms.Message; +import jakarta.jms.BytesMessage; +import jakarta.jms.JMSException; +import jakarta.jms.Message; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.File; diff --git a/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports new file mode 100644 index 0000000..f303ed8 --- /dev/null +++ b/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports @@ -0,0 +1 @@ +org.netresearch.amqblobspring.BlobAutoConfiguration \ No newline at end of file diff --git a/src/test/java/org/netresearch/amqblobspring/BlobControllerTest.java b/src/test/java/org/netresearch/amqblobspring/BlobControllerTest.java index 7e25da5..6481ff1 100644 --- a/src/test/java/org/netresearch/amqblobspring/BlobControllerTest.java +++ b/src/test/java/org/netresearch/amqblobspring/BlobControllerTest.java @@ -15,13 +15,13 @@ import org.springframework.util.StreamUtils; import org.springframework.web.servlet.config.annotation.EnableWebMvc; -import javax.jms.BytesMessage; -import javax.jms.Connection; -import javax.jms.Message; -import javax.jms.MessageProducer; -import javax.jms.Queue; -import javax.jms.QueueReceiver; -import javax.jms.Session; +import jakarta.jms.BytesMessage; +import jakarta.jms.Connection; +import jakarta.jms.Message; +import jakarta.jms.MessageProducer; +import jakarta.jms.Queue; +import jakarta.jms.QueueReceiver; +import jakarta.jms.Session; import java.io.ByteArrayInputStream; import java.io.IOException; import java.nio.charset.Charset; diff --git a/src/test/java/org/netresearch/amqblobspring/BlobDisabledTest.java b/src/test/java/org/netresearch/amqblobspring/BlobDisabledTest.java index b5e3f84..ae5c827 100644 --- a/src/test/java/org/netresearch/amqblobspring/BlobDisabledTest.java +++ b/src/test/java/org/netresearch/amqblobspring/BlobDisabledTest.java @@ -12,13 +12,13 @@ import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringRunner; -import javax.jms.BytesMessage; -import javax.jms.Connection; -import javax.jms.JMSException; -import javax.jms.Message; -import javax.jms.Queue; -import javax.jms.QueueReceiver; -import javax.jms.Session; +import jakarta.jms.BytesMessage; +import jakarta.jms.Connection; +import jakarta.jms.JMSException; +import jakarta.jms.Message; +import jakarta.jms.Queue; +import jakarta.jms.QueueReceiver; +import jakarta.jms.Session; import java.io.ByteArrayInputStream; import java.nio.file.Files; import java.nio.file.Path; diff --git a/src/test/java/org/netresearch/amqblobspring/BlobTestConfiguration.java b/src/test/java/org/netresearch/amqblobspring/BlobTestConfiguration.java index 92948e1..720c5b2 100644 --- a/src/test/java/org/netresearch/amqblobspring/BlobTestConfiguration.java +++ b/src/test/java/org/netresearch/amqblobspring/BlobTestConfiguration.java @@ -6,8 +6,9 @@ import org.springframework.context.ApplicationContextInitializer; import org.springframework.context.ConfigurableApplicationContext; import org.springframework.core.env.MapPropertySource; -import org.springframework.util.SocketUtils; +import java.io.IOException; +import java.net.ServerSocket; import java.util.HashMap; import java.util.Map; import java.util.UUID; @@ -20,8 +21,8 @@ public static class Initializer implements ApplicationContextInitializer props = new HashMap<>(); - props.put("server.port", SocketUtils.findAvailableTcpPort()); - props.put("jmsPort", SocketUtils.findAvailableTcpPort()); + props.put("server.port", findAvailableTcpPort()); + props.put("jmsPort", findAvailableTcpPort()); props.put("uuid", UUID.randomUUID().toString()); MapPropertySource propertySource = new MapPropertySource("agent", props); applicationContext.getEnvironment().getPropertySources().addFirst(propertySource); @@ -37,5 +38,13 @@ public void initialize(ConfigurableApplicationContext applicationContext) { throw new RuntimeException(e); } } + + private static int findAvailableTcpPort() { + try (ServerSocket socket = new ServerSocket(0)) { + return socket.getLocalPort(); + } catch (IOException e) { + throw new RuntimeException("Failed to find available TCP port", e); + } + } } }