From d9eaa5f3ac8a2f7151b067cf4db027319c2c958a Mon Sep 17 00:00:00 2001 From: Sam Brannen Date: Thu, 1 Sep 2016 13:38:42 +0200 Subject: [PATCH] Use Map.computeIfAbsent() in SpringClassRule Replace manual synchronization block in SpringClassRule with Java 8's Map.computeIfAbsent(). Issue: SPR-12421 --- .../test/context/junit4/rules/SpringClassRule.java | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/spring-test/src/main/java/org/springframework/test/context/junit4/rules/SpringClassRule.java b/spring-test/src/main/java/org/springframework/test/context/junit4/rules/SpringClassRule.java index 6b3b0ac197..2ea287c611 100644 --- a/spring-test/src/main/java/org/springframework/test/context/junit4/rules/SpringClassRule.java +++ b/spring-test/src/main/java/org/springframework/test/context/junit4/rules/SpringClassRule.java @@ -210,14 +210,7 @@ public class SpringClassRule implements TestRule { */ static TestContextManager getTestContextManager(Class testClass) { Assert.notNull(testClass, "testClass must not be null"); - synchronized (testContextManagerCache) { - TestContextManager testContextManager = testContextManagerCache.get(testClass); - if (testContextManager == null) { - testContextManager = new TestContextManager(testClass); - testContextManagerCache.put(testClass, testContextManager); - } - return testContextManager; - } + return testContextManagerCache.computeIfAbsent(testClass, TestContextManager::new); }