From f405527dd7d972b5c5dc936327e54446b5c6852f Mon Sep 17 00:00:00 2001 From: Oleg Zhurakousky Date: Wed, 23 Jan 2019 20:03:22 +0100 Subject: [PATCH] GH-251 Initial attempt to fix Java 11 issues polishing polishing --- pom.xml | 6 +++++- spring-cloud-function-deployer/pom.xml | 8 +++++++- .../deployer/FunctionCreatorConfiguration.java | 5 ++++- .../FunctionCreatorConfigurationTests.java | 18 ------------------ 4 files changed, 16 insertions(+), 21 deletions(-) diff --git a/pom.xml b/pom.xml index 34e2f6735..631db95b3 100644 --- a/pom.xml +++ b/pom.xml @@ -1,5 +1,7 @@ - + 4.0.0 spring-cloud-function-parent @@ -16,6 +18,8 @@ 1.8 + ${java.version} + ${java.version} 2.0.0.RELEASE 1.0.15.RELEASE spring-cloud-function diff --git a/spring-cloud-function-deployer/pom.xml b/spring-cloud-function-deployer/pom.xml index cd29eb80f..048cdc641 100644 --- a/spring-cloud-function-deployer/pom.xml +++ b/spring-cloud-function-deployer/pom.xml @@ -1,5 +1,6 @@ - 4.0.0 @@ -54,6 +55,11 @@ spring-boot-starter-logging test + + + javax.annotation + javax.annotation-api + diff --git a/spring-cloud-function-deployer/src/main/java/org/springframework/cloud/function/deployer/FunctionCreatorConfiguration.java b/spring-cloud-function-deployer/src/main/java/org/springframework/cloud/function/deployer/FunctionCreatorConfiguration.java index 9a872c500..4dfd16b24 100644 --- a/spring-cloud-function-deployer/src/main/java/org/springframework/cloud/function/deployer/FunctionCreatorConfiguration.java +++ b/spring-cloud-function-deployer/src/main/java/org/springframework/cloud/function/deployer/FunctionCreatorConfiguration.java @@ -42,7 +42,6 @@ import javax.annotation.PreDestroy; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; - import org.springframework.beans.BeansException; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.config.AutowireCapableBeanFactory; @@ -52,6 +51,7 @@ import org.springframework.boot.loader.JarLauncher; import org.springframework.boot.loader.archive.Archive; import org.springframework.boot.loader.archive.ExplodedArchive; import org.springframework.boot.loader.archive.JarFileArchive; +import org.springframework.boot.system.JavaVersion; import org.springframework.cloud.deployer.resource.support.DelegatingResourceLoader; import org.springframework.cloud.function.context.FunctionCatalog; import org.springframework.cloud.function.context.FunctionRegistration; @@ -557,6 +557,9 @@ class FunctionCreatorConfiguration { protected Class loadClass(String name, boolean resolve) throws ClassNotFoundException { try { + if (name.startsWith("javax.annotation") && JavaVersion.getJavaVersion().isEqualOrNewerThan(JavaVersion.NINE)) { + return getClass().getClassLoader().loadClass(name); + } return super.loadClass(name, resolve); } catch (ClassNotFoundException e) { diff --git a/spring-cloud-function-deployer/src/test/java/org/springframework/cloud/function/deployer/FunctionCreatorConfigurationTests.java b/spring-cloud-function-deployer/src/test/java/org/springframework/cloud/function/deployer/FunctionCreatorConfigurationTests.java index 20a1c6f90..c95745475 100644 --- a/spring-cloud-function-deployer/src/test/java/org/springframework/cloud/function/deployer/FunctionCreatorConfigurationTests.java +++ b/spring-cloud-function-deployer/src/test/java/org/springframework/cloud/function/deployer/FunctionCreatorConfigurationTests.java @@ -163,12 +163,6 @@ public abstract class FunctionCreatorConfigurationTests { public static class SupplierCompositionTests extends FunctionCreatorConfigurationTests { - @BeforeClass - public static void init() { - Assume.assumeTrue("Java > 8", - JavaVersion.getJavaVersion().isOlderThan(JavaVersion.NINE)); - } - @Test public void testSupplier() { Supplier function = catalog.lookup(Supplier.class, "function0"); @@ -191,12 +185,6 @@ public abstract class FunctionCreatorConfigurationTests { public static class FunctionCompositionTests extends FunctionCreatorConfigurationTests { - @BeforeClass - public static void init() { - Assume.assumeTrue("Java > 8", - JavaVersion.getJavaVersion().isOlderThan(JavaVersion.NINE)); - } - @Test public void testFunction() { Function, Flux> function = catalog @@ -219,12 +207,6 @@ public abstract class FunctionCreatorConfigurationTests { public static class ConsumerCompositionTests extends FunctionCreatorConfigurationTests { - @BeforeClass - public static void init() { - Assume.assumeTrue("Java > 8", - JavaVersion.getJavaVersion().isOlderThan(JavaVersion.NINE)); - } - @Rule public OutputCapture capture = new OutputCapture();