From 6964ed33bf7ce3b8eec3fa4d3beae92e3b44bec8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A1=D0=B5=D1=80=D0=B3=D0=B5=D0=B9=20=D0=A6=D1=8B=D0=BF?= =?UTF-8?q?=D0=B0=D0=BD=D0=BE=D0=B2?= Date: Mon, 27 May 2019 12:14:25 +0300 Subject: [PATCH] Allocate objects only when it's necessary Closes gh-23036 --- .../springframework/jdbc/core/simple/AbstractJdbcInsert.java | 2 +- .../test/context/support/AbstractContextLoader.java | 2 +- .../test/context/support/TestPropertySourceAttributes.java | 2 +- .../transaction/support/AbstractPlatformTransactionManager.java | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/spring-jdbc/src/main/java/org/springframework/jdbc/core/simple/AbstractJdbcInsert.java b/spring-jdbc/src/main/java/org/springframework/jdbc/core/simple/AbstractJdbcInsert.java index d4fb268867c..239a64cdf09 100644 --- a/spring-jdbc/src/main/java/org/springframework/jdbc/core/simple/AbstractJdbcInsert.java +++ b/spring-jdbc/src/main/java/org/springframework/jdbc/core/simple/AbstractJdbcInsert.java @@ -484,12 +484,12 @@ public abstract class AbstractJdbcInsert { //Get the key Statement keyStmt = null; ResultSet rs = null; - Map keys = new HashMap<>(2); try { keyStmt = con.createStatement(); rs = keyStmt.executeQuery(keyQuery); if (rs.next()) { long key = rs.getLong(1); + Map keys = new HashMap<>(2); keys.put(getGeneratedKeyNames()[0], key); keyHolder.getKeyList().add(keys); } diff --git a/spring-test/src/main/java/org/springframework/test/context/support/AbstractContextLoader.java b/spring-test/src/main/java/org/springframework/test/context/support/AbstractContextLoader.java index b4ee381a46f..e2378576a23 100644 --- a/spring-test/src/main/java/org/springframework/test/context/support/AbstractContextLoader.java +++ b/spring-test/src/main/java/org/springframework/test/context/support/AbstractContextLoader.java @@ -245,9 +245,9 @@ public abstract class AbstractContextLoader implements SmartContextLoader { for (String suffix : suffixes) { Assert.hasText(suffix, "Resource suffix must not be empty"); String resourcePath = ClassUtils.convertClassNameToResourcePath(clazz.getName()) + suffix; - String prefixedResourcePath = ResourceUtils.CLASSPATH_URL_PREFIX + resourcePath; ClassPathResource classPathResource = new ClassPathResource(resourcePath); if (classPathResource.exists()) { + String prefixedResourcePath = ResourceUtils.CLASSPATH_URL_PREFIX + resourcePath; if (logger.isInfoEnabled()) { logger.info(String.format("Detected default resource location \"%s\" for test class [%s]", prefixedResourcePath, clazz.getName())); diff --git a/spring-test/src/main/java/org/springframework/test/context/support/TestPropertySourceAttributes.java b/spring-test/src/main/java/org/springframework/test/context/support/TestPropertySourceAttributes.java index 39662eb5bc2..53d2fcb8e31 100644 --- a/spring-test/src/main/java/org/springframework/test/context/support/TestPropertySourceAttributes.java +++ b/spring-test/src/main/java/org/springframework/test/context/support/TestPropertySourceAttributes.java @@ -156,10 +156,10 @@ class TestPropertySourceAttributes { */ private static String detectDefaultPropertiesFile(Class testClass) { String resourcePath = ClassUtils.convertClassNameToResourcePath(testClass.getName()) + ".properties"; - String prefixedResourcePath = ResourceUtils.CLASSPATH_URL_PREFIX + resourcePath; ClassPathResource classPathResource = new ClassPathResource(resourcePath); if (classPathResource.exists()) { + String prefixedResourcePath = ResourceUtils.CLASSPATH_URL_PREFIX + resourcePath; if (logger.isInfoEnabled()) { logger.info(String.format("Detected default properties file \"%s\" for test class [%s]", prefixedResourcePath, testClass.getName())); diff --git a/spring-tx/src/main/java/org/springframework/transaction/support/AbstractPlatformTransactionManager.java b/spring-tx/src/main/java/org/springframework/transaction/support/AbstractPlatformTransactionManager.java index af8495c008b..5a11d8f2201 100644 --- a/spring-tx/src/main/java/org/springframework/transaction/support/AbstractPlatformTransactionManager.java +++ b/spring-tx/src/main/java/org/springframework/transaction/support/AbstractPlatformTransactionManager.java @@ -637,11 +637,11 @@ public abstract class AbstractPlatformTransactionManager implements PlatformTran private void resumeAfterBeginException( Object transaction, @Nullable SuspendedResourcesHolder suspendedResources, Throwable beginEx) { - String exMessage = "Inner transaction begin exception overridden by outer transaction resume exception"; try { resume(transaction, suspendedResources); } catch (RuntimeException | Error resumeEx) { + String exMessage = "Inner transaction begin exception overridden by outer transaction resume exception"; logger.error(exMessage, beginEx); throw resumeEx; }