Browse Source

Merge branch '5.1.x'

pull/22881/head
Juergen Hoeller 6 years ago
parent
commit
eaa9a78d5d
  1. 4
      build.gradle
  2. 6
      spring-core/src/main/java/org/springframework/core/type/filter/AbstractTypeHierarchyTraversingFilter.java
  3. 8
      spring-core/src/main/java/org/springframework/util/SerializationUtils.java
  4. 14
      spring-core/src/test/java/org/springframework/util/SerializationTestUtils.java
  5. 7
      spring-jdbc/src/main/java/org/springframework/jdbc/datasource/embedded/AbstractEmbeddedDatabaseConfigurer.java
  6. 4
      spring-jdbc/src/main/java/org/springframework/jdbc/support/CustomSQLExceptionTranslatorRegistry.java
  7. 10
      spring-jms/src/main/java/org/springframework/jms/listener/endpoint/DefaultJmsActivationSpecFactory.java
  8. 6
      spring-web/src/main/java/org/springframework/http/MediaTypeFactory.java
  9. 6
      spring-web/src/main/java/org/springframework/web/method/annotation/AbstractWebArgumentResolverAdapter.java
  10. 4
      spring-webflux/src/main/java/org/springframework/web/reactive/resource/CachingResourceTransformer.java
  11. 4
      spring-webmvc/src/main/java/org/springframework/web/servlet/i18n/LocaleChangeInterceptor.java
  12. 4
      spring-webmvc/src/main/java/org/springframework/web/servlet/resource/CachingResourceTransformer.java

4
build.gradle

@ -34,11 +34,11 @@ ext { @@ -34,11 +34,11 @@ ext {
groovyVersion = "2.5.6"
hsqldbVersion = "2.4.1"
jackson2Version = "2.9.8"
jettyVersion = "9.4.17.v20190418"
jettyVersion = "9.4.18.v20190429"
junit5Version = "5.4.2"
kotlinVersion = "1.3.31"
log4jVersion = "2.11.2"
nettyVersion = "4.1.35.Final"
nettyVersion = "4.1.36.Final"
reactorVersion = "Dysprosium-BUILD-SNAPSHOT"
rxjavaVersion = "1.3.8"
rxjavaAdapterVersion = "1.2.1"

6
spring-core/src/main/java/org/springframework/core/type/filter/AbstractTypeHierarchyTraversingFilter.java

@ -1,5 +1,5 @@ @@ -1,5 +1,5 @@
/*
* Copyright 2002-2018 the original author or authors.
* Copyright 2002-2019 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -85,12 +85,14 @@ public abstract class AbstractTypeHierarchyTraversingFilter implements TypeFilte @@ -85,12 +85,14 @@ public abstract class AbstractTypeHierarchyTraversingFilter implements TypeFilte
}
}
catch (IOException ex) {
if (logger.isDebugEnabled()) {
logger.debug("Could not read super class [" + metadata.getSuperClassName() +
"] of type-filtered class [" + metadata.getClassName() + "]");
}
}
}
}
}
if (this.considerInterfaces) {
for (String ifc : metadata.getInterfaceNames()) {
@ -109,12 +111,14 @@ public abstract class AbstractTypeHierarchyTraversingFilter implements TypeFilte @@ -109,12 +111,14 @@ public abstract class AbstractTypeHierarchyTraversingFilter implements TypeFilte
}
}
catch (IOException ex) {
if (logger.isDebugEnabled()) {
logger.debug("Could not read interface [" + ifc + "] for type-filtered class [" +
metadata.getClassName() + "]");
}
}
}
}
}
return false;
}

8
spring-core/src/main/java/org/springframework/util/SerializationUtils.java

@ -1,5 +1,5 @@ @@ -1,5 +1,5 @@
/*
* Copyright 2002-2017 the original author or authors.
* Copyright 2002-2019 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -43,8 +43,7 @@ public abstract class SerializationUtils { @@ -43,8 +43,7 @@ public abstract class SerializationUtils {
return null;
}
ByteArrayOutputStream baos = new ByteArrayOutputStream(1024);
try {
ObjectOutputStream oos = new ObjectOutputStream(baos);
try (ObjectOutputStream oos = new ObjectOutputStream(baos)) {
oos.writeObject(object);
oos.flush();
}
@ -64,8 +63,7 @@ public abstract class SerializationUtils { @@ -64,8 +63,7 @@ public abstract class SerializationUtils {
if (bytes == null) {
return null;
}
try {
ObjectInputStream ois = new ObjectInputStream(new ByteArrayInputStream(bytes));
try (ObjectInputStream ois = new ObjectInputStream(new ByteArrayInputStream(bytes))) {
return ois.readObject();
}
catch (IOException ex) {

14
spring-core/src/test/java/org/springframework/util/SerializationTestUtils.java

@ -1,5 +1,5 @@ @@ -1,5 +1,5 @@
/*
* Copyright 2002-2013 the original author or authors.
* Copyright 2002-2019 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -34,9 +34,10 @@ public class SerializationTestUtils { @@ -34,9 +34,10 @@ public class SerializationTestUtils {
public static void testSerialization(Object o) throws IOException {
OutputStream baos = new ByteArrayOutputStream();
ObjectOutputStream oos = new ObjectOutputStream(baos);
try (ObjectOutputStream oos = new ObjectOutputStream(baos)) {
oos.writeObject(o);
}
}
public static boolean isSerializable(Object o) throws IOException {
try {
@ -50,16 +51,17 @@ public class SerializationTestUtils { @@ -50,16 +51,17 @@ public class SerializationTestUtils {
public static Object serializeAndDeserialize(Object o) throws IOException, ClassNotFoundException {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ObjectOutputStream oos = new ObjectOutputStream(baos);
try (ObjectOutputStream oos = new ObjectOutputStream(baos)) {
oos.writeObject(o);
oos.flush();
}
baos.flush();
byte[] bytes = baos.toByteArray();
ByteArrayInputStream is = new ByteArrayInputStream(bytes);
ObjectInputStream ois = new ObjectInputStream(is);
Object o2 = ois.readObject();
return o2;
try (ObjectInputStream ois = new ObjectInputStream(is)) {
return ois.readObject();
}
}
}

7
spring-jdbc/src/main/java/org/springframework/jdbc/datasource/embedded/AbstractEmbeddedDatabaseConfigurer.java

@ -1,5 +1,5 @@ @@ -1,5 +1,5 @@
/*
* Copyright 2002-2018 the original author or authors.
* Copyright 2002-2019 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -18,6 +18,7 @@ package org.springframework.jdbc.datasource.embedded; @@ -18,6 +18,7 @@ package org.springframework.jdbc.datasource.embedded;
import java.sql.Connection;
import java.sql.SQLException;
import java.sql.Statement;
import javax.sql.DataSource;
import org.apache.commons.logging.Log;
@ -42,7 +43,9 @@ abstract class AbstractEmbeddedDatabaseConfigurer implements EmbeddedDatabaseCon @@ -42,7 +43,9 @@ abstract class AbstractEmbeddedDatabaseConfigurer implements EmbeddedDatabaseCon
try {
con = dataSource.getConnection();
if (con != null) {
con.createStatement().execute("SHUTDOWN");
try (Statement stmt = con.createStatement()) {
stmt.execute("SHUTDOWN");
}
}
}
catch (SQLException ex) {

4
spring-jdbc/src/main/java/org/springframework/jdbc/support/CustomSQLExceptionTranslatorRegistry.java

@ -1,5 +1,5 @@ @@ -1,5 +1,5 @@
/*
* Copyright 2002-2018 the original author or authors.
* Copyright 2002-2019 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -74,6 +74,7 @@ public final class CustomSQLExceptionTranslatorRegistry { @@ -74,6 +74,7 @@ public final class CustomSQLExceptionTranslatorRegistry {
*/
public void registerTranslator(String dbName, SQLExceptionTranslator translator) {
SQLExceptionTranslator replaced = this.translatorMap.put(dbName, translator);
if (logger.isDebugEnabled()) {
if (replaced != null) {
logger.debug("Replacing custom translator [" + replaced + "] for database '" + dbName +
"' with [" + translator + "]");
@ -83,6 +84,7 @@ public final class CustomSQLExceptionTranslatorRegistry { @@ -83,6 +84,7 @@ public final class CustomSQLExceptionTranslatorRegistry {
"] for database '" + dbName + "'");
}
}
}
/**
* Find a custom translator for the specified database.

10
spring-jms/src/main/java/org/springframework/jms/listener/endpoint/DefaultJmsActivationSpecFactory.java

@ -1,5 +1,5 @@ @@ -1,5 +1,5 @@
/*
* Copyright 2002-2018 the original author or authors.
* Copyright 2002-2019 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -85,9 +85,11 @@ public class DefaultJmsActivationSpecFactory extends StandardJmsActivationSpecFa @@ -85,9 +85,11 @@ public class DefaultJmsActivationSpecFactory extends StandardJmsActivationSpecFa
return adapter.getClass().getClassLoader().loadClass(specClassName);
}
catch (ClassNotFoundException ex) {
if (logger.isDebugEnabled()) {
logger.debug("No default <Provider>ActivationSpec class found: " + specClassName);
}
}
}
else if (adapterClassName.endsWith(RESOURCE_ADAPTER_IMPL_SUFFIX)){
//e.g. WebSphere
@ -98,9 +100,11 @@ public class DefaultJmsActivationSpecFactory extends StandardJmsActivationSpecFa @@ -98,9 +100,11 @@ public class DefaultJmsActivationSpecFactory extends StandardJmsActivationSpecFa
return adapter.getClass().getClassLoader().loadClass(specClassName);
}
catch (ClassNotFoundException ex) {
if (logger.isDebugEnabled()) {
logger.debug("No default <Provider>ActivationSpecImpl class found: " + specClassName);
}
}
}
// e.g. JORAM
String providerPackage = adapterClassName.substring(0, adapterClassName.lastIndexOf('.') + 1);
@ -109,8 +113,10 @@ public class DefaultJmsActivationSpecFactory extends StandardJmsActivationSpecFa @@ -109,8 +113,10 @@ public class DefaultJmsActivationSpecFactory extends StandardJmsActivationSpecFa
return adapter.getClass().getClassLoader().loadClass(specClassName);
}
catch (ClassNotFoundException ex) {
if (logger.isDebugEnabled()) {
logger.debug("No default ActivationSpecImpl class found in provider package: " + specClassName);
}
}
// ActivationSpecImpl class in "inbound" subpackage (WebSphere MQ 6.0.2.1)
specClassName = providerPackage + "inbound." + ACTIVATION_SPEC_IMPL_SUFFIX;
@ -118,8 +124,10 @@ public class DefaultJmsActivationSpecFactory extends StandardJmsActivationSpecFa @@ -118,8 +124,10 @@ public class DefaultJmsActivationSpecFactory extends StandardJmsActivationSpecFa
return adapter.getClass().getClassLoader().loadClass(specClassName);
}
catch (ClassNotFoundException ex) {
if (logger.isDebugEnabled()) {
logger.debug("No default ActivationSpecImpl class found in inbound subpackage: " + specClassName);
}
}
throw new IllegalStateException("No ActivationSpec class defined - " +
"specify the 'activationSpecClass' property or override the 'determineActivationSpecClass' method");

6
spring-web/src/main/java/org/springframework/http/MediaTypeFactory.java

@ -1,5 +1,5 @@ @@ -1,5 +1,5 @@
/*
* Copyright 2002-2018 the original author or authors.
* Copyright 2002-2019 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -64,8 +64,8 @@ public final class MediaTypeFactory { @@ -64,8 +64,8 @@ public final class MediaTypeFactory {
* @return a multi-value map, mapping media types to file extensions.
*/
private static MultiValueMap<String, MediaType> parseMimeTypes() {
try (InputStream is = MediaTypeFactory.class.getResourceAsStream(MIME_TYPES_FILE_NAME)) {
BufferedReader reader = new BufferedReader(new InputStreamReader(is, StandardCharsets.US_ASCII));
InputStream is = MediaTypeFactory.class.getResourceAsStream(MIME_TYPES_FILE_NAME);
try (BufferedReader reader = new BufferedReader(new InputStreamReader(is, StandardCharsets.US_ASCII))) {
MultiValueMap<String, MediaType> result = new LinkedMultiValueMap<>();
String line;
while ((line = reader.readLine()) != null) {

6
spring-web/src/main/java/org/springframework/web/method/annotation/AbstractWebArgumentResolverAdapter.java

@ -1,5 +1,5 @@ @@ -1,5 +1,5 @@
/*
* Copyright 2002-2018 the original author or authors.
* Copyright 2002-2019 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -81,7 +81,9 @@ public abstract class AbstractWebArgumentResolverAdapter implements HandlerMetho @@ -81,7 +81,9 @@ public abstract class AbstractWebArgumentResolverAdapter implements HandlerMetho
}
catch (Exception ex) {
// ignore (see class-level doc)
logger.debug("Error in checking support for parameter [" + parameter + "], message: " + ex.getMessage());
if (logger.isDebugEnabled()) {
logger.debug("Error in checking support for parameter [" + parameter + "]: " + ex.getMessage());
}
return false;
}
}

4
spring-webflux/src/main/java/org/springframework/web/reactive/resource/CachingResourceTransformer.java

@ -1,5 +1,5 @@ @@ -1,5 +1,5 @@
/*
* Copyright 2002-2017 the original author or authors.
* Copyright 2002-2019 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -69,7 +69,9 @@ public class CachingResourceTransformer implements ResourceTransformer { @@ -69,7 +69,9 @@ public class CachingResourceTransformer implements ResourceTransformer {
Resource cachedResource = this.cache.get(resource, Resource.class);
if (cachedResource != null) {
if (logger.isTraceEnabled()) {
logger.trace(exchange.getLogPrefix() + "Resource resolved from cache");
}
return Mono.just(cachedResource);
}

4
spring-webmvc/src/main/java/org/springframework/web/servlet/i18n/LocaleChangeInterceptor.java

@ -1,5 +1,5 @@ @@ -1,5 +1,5 @@
/*
* Copyright 2002-2018 the original author or authors.
* Copyright 2002-2019 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -154,8 +154,10 @@ public class LocaleChangeInterceptor extends HandlerInterceptorAdapter { @@ -154,8 +154,10 @@ public class LocaleChangeInterceptor extends HandlerInterceptorAdapter {
}
catch (IllegalArgumentException ex) {
if (isIgnoreInvalidLocale()) {
if (logger.isDebugEnabled()) {
logger.debug("Ignoring invalid locale value [" + newLocale + "]: " + ex.getMessage());
}
}
else {
throw ex;
}

4
spring-webmvc/src/main/java/org/springframework/web/servlet/resource/CachingResourceTransformer.java

@ -1,5 +1,5 @@ @@ -1,5 +1,5 @@
/*
* Copyright 2002-2017 the original author or authors.
* Copyright 2002-2019 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -71,9 +71,7 @@ public class CachingResourceTransformer implements ResourceTransformer { @@ -71,9 +71,7 @@ public class CachingResourceTransformer implements ResourceTransformer {
Resource transformed = this.cache.get(resource, Resource.class);
if (transformed != null) {
if (logger.isTraceEnabled()) {
logger.trace("Resource resolved from cache");
}
return transformed;
}

Loading…
Cancel
Save