From eb1883bdc4e2f11eab3ac1baac1abe9c3ee2a965 Mon Sep 17 00:00:00 2001 From: Juergen Hoeller Date: Wed, 15 Nov 2023 13:29:13 +0100 Subject: [PATCH 1/2] Upgrade to Reactor 2022.0.13 and Netty 4.1.101 Includes RxJava 3.1.8, Apache HttpComponents Core Reactive 5.2.3, POI 5.2.4, Commons IO 2.15, WebJars Locator 0.55, OpenPDF 1.3.33, JRuby 9.4.5, H2 2.2.224, ActiveMQ 5.17.6, Checkstyle 10.12.5 Closes gh-31585 --- build.gradle | 2 +- framework-platform/framework-platform.gradle | 30 +++++++++----------- 2 files changed, 15 insertions(+), 17 deletions(-) diff --git a/build.gradle b/build.gradle index 5d8584284b..6ffc617a46 100644 --- a/build.gradle +++ b/build.gradle @@ -75,7 +75,7 @@ configure([rootProject] + javaProjects) { project -> } checkstyle { - toolVersion = "10.12.4" + toolVersion = "10.12.5" configDirectory.set(rootProject.file("src/checkstyle")) } diff --git a/framework-platform/framework-platform.gradle b/framework-platform/framework-platform.gradle index b7eec59058..8d0ce081ac 100644 --- a/framework-platform/framework-platform.gradle +++ b/framework-platform/framework-platform.gradle @@ -9,9 +9,9 @@ javaPlatform { dependencies { api(platform("com.fasterxml.jackson:jackson-bom:2.14.3")) api(platform("io.micrometer:micrometer-bom:1.10.13")) - api(platform("io.netty:netty-bom:4.1.100.Final")) + api(platform("io.netty:netty-bom:4.1.101.Final")) api(platform("io.netty:netty5-bom:5.0.0.Alpha5")) - api(platform("io.projectreactor:reactor-bom:2022.0.12")) + api(platform("io.projectreactor:reactor-bom:2022.0.13")) api(platform("io.rsocket:rsocket-bom:1.1.3")) api(platform("org.apache.groovy:groovy-bom:4.0.15")) api(platform("org.apache.logging.log4j:log4j-bom:2.21.1")) @@ -25,13 +25,13 @@ dependencies { api("com.fasterxml:aalto-xml:1.3.2") api("com.fasterxml.woodstox:woodstox-core:6.5.1") api("com.github.ben-manes.caffeine:caffeine:3.1.8") - api("com.github.librepdf:openpdf:1.3.30") + api("com.github.librepdf:openpdf:1.3.33") api("com.google.code.findbugs:findbugs:3.0.1") api("com.google.code.findbugs:jsr305:3.0.2") api("com.google.code.gson:gson:2.10.1") api("com.google.protobuf:protobuf-java-util:3.23.2") api("com.googlecode.protobuf-java-format:protobuf-java-format:1.4") - api("com.h2database:h2:2.2.220") + api("com.h2database:h2:2.2.224") api("com.jayway.jsonpath:json-path:2.8.0") api("com.rometools:rome:1.19.0") api("com.squareup.okhttp3:mockwebserver:3.14.9") @@ -43,7 +43,7 @@ dependencies { api("com.sun.xml.bind:jaxb-xjc:3.0.2") api("com.thoughtworks.qdox:qdox:2.0.3") api("com.thoughtworks.xstream:xstream:1.4.20") - api("commons-io:commons-io:2.11.0") + api("commons-io:commons-io:2.15.0") api("de.bechte.junit:junit-hierarchicalcontextrunner:4.12.2") api("io.micrometer:context-propagation:1.0.6") api("io.mockk:mockk:1.13.4") @@ -52,7 +52,7 @@ dependencies { api("io.r2dbc:r2dbc-h2:1.0.0.RELEASE") api("io.r2dbc:r2dbc-spi-test:1.0.0.RELEASE") api("io.r2dbc:r2dbc-spi:1.0.0.RELEASE") - api("io.reactivex.rxjava3:rxjava:3.1.6") + api("io.reactivex.rxjava3:rxjava:3.1.8") api("io.smallrye.reactive:mutiny:1.9.0") api("io.undertow:undertow-core:2.3.10.Final") api("io.undertow:undertow-servlet:2.3.10.Final") @@ -89,16 +89,16 @@ dependencies { api("net.sf.jopt-simple:jopt-simple:5.0.4") api("net.sourceforge.htmlunit:htmlunit:2.70.0") api("org.apache-extras.beanshell:bsh:2.0b6") - api("org.apache.activemq:activemq-broker:5.17.4") - api("org.apache.activemq:activemq-kahadb-store:5.17.4") - api("org.apache.activemq:activemq-stomp:5.17.4") + api("org.apache.activemq:activemq-broker:5.17.6") + api("org.apache.activemq:activemq-kahadb-store:5.17.6") + api("org.apache.activemq:activemq-stomp:5.17.6") api("org.apache.commons:commons-pool2:2.9.0") api("org.apache.derby:derby:10.16.1.1") api("org.apache.derby:derbyclient:10.16.1.1") api("org.apache.derby:derbytools:10.16.1.1") api("org.apache.httpcomponents.client5:httpclient5:5.2.1") - api("org.apache.httpcomponents.core5:httpcore5-reactive:5.2.2") - api("org.apache.poi:poi-ooxml:5.2.3") + api("org.apache.httpcomponents.core5:httpcore5-reactive:5.2.3") + api("org.apache.poi:poi-ooxml:5.2.4") api("org.apache.tomcat.embed:tomcat-embed-core:10.1.15") api("org.apache.tomcat.embed:tomcat-embed-websocket:10.1.15") api("org.apache.tomcat:tomcat-util:10.1.15") @@ -117,18 +117,16 @@ dependencies { api("org.ehcache:ehcache:3.10.8") api("org.ehcache:jcache:1.0.1") api("org.freemarker:freemarker:2.3.32") - // Substitute for "javax.management:jmxremote_optional:1.0.1_04" which - // is not available on Maven Central api("org.glassfish.external:opendmk_jmxremote_optional_jar:1.0-b01-ea") - api("org.glassfish.tyrus:tyrus-container-servlet:2.1.3") api("org.glassfish:jakarta.el:4.0.2") + api("org.glassfish.tyrus:tyrus-container-servlet:2.1.3") api("org.graalvm.sdk:graal-sdk:22.3.1") api("org.hamcrest:hamcrest:2.2") api("org.hibernate:hibernate-core-jakarta:5.6.15.Final") api("org.hibernate:hibernate-validator:7.0.5.Final") api("org.hsqldb:hsqldb:2.7.2") api("org.javamoney:moneta:1.4.2") - api("org.jruby:jruby:9.4.3.0") + api("org.jruby:jruby:9.4.5.0") api("org.junit.support:testng-engine:1.0.4") api("org.mozilla:rhino:1.7.14") api("org.ogce:xpp3:1.1.6") @@ -140,7 +138,7 @@ dependencies { api("org.slf4j:slf4j-api:2.0.9") api("org.testng:testng:7.8.0") api("org.webjars:underscorejs:1.8.3") - api("org.webjars:webjars-locator-core:0.53") + api("org.webjars:webjars-locator-core:0.55") api("org.xmlunit:xmlunit-assertj:2.9.1") api("org.xmlunit:xmlunit-matchers:2.9.1") api("org.yaml:snakeyaml:1.33") From c373f496f303688c7a68e3911da7ddeb76a28646 Mon Sep 17 00:00:00 2001 From: Juergen Hoeller Date: Wed, 15 Nov 2023 13:29:35 +0100 Subject: [PATCH 2/2] Consistent ordering of overloaded operations --- .../namedparam/NamedParameterJdbcOperations.java | 16 ++++++++-------- .../namedparam/NamedParameterJdbcTemplate.java | 10 +++++----- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/spring-jdbc/src/main/java/org/springframework/jdbc/core/namedparam/NamedParameterJdbcOperations.java b/spring-jdbc/src/main/java/org/springframework/jdbc/core/namedparam/NamedParameterJdbcOperations.java index b308e06f73..f56df5617d 100644 --- a/spring-jdbc/src/main/java/org/springframework/jdbc/core/namedparam/NamedParameterJdbcOperations.java +++ b/spring-jdbc/src/main/java/org/springframework/jdbc/core/namedparam/NamedParameterJdbcOperations.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2021 the original author or authors. + * Copyright 2002-2023 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. @@ -527,26 +527,26 @@ public interface NamedParameterJdbcOperations { throws DataAccessException; /** - * Executes a batch using the supplied SQL statement with the batch of supplied arguments. + * Execute a batch using the supplied SQL statement with the batch of supplied arguments. * @param sql the SQL statement to execute - * @param batchValues the array of Maps containing the batch of arguments for the query + * @param batchArgs the array of {@link SqlParameterSource} containing the batch of + * arguments for the query * @return an array containing the numbers of rows affected by each update in the batch * (may also contain special JDBC-defined negative values for affected rows such as * {@link java.sql.Statement#SUCCESS_NO_INFO}/{@link java.sql.Statement#EXECUTE_FAILED}) * @throws DataAccessException if there is any problem issuing the update */ - int[] batchUpdate(String sql, Map[] batchValues); + int[] batchUpdate(String sql, SqlParameterSource[] batchArgs); /** - * Execute a batch using the supplied SQL statement with the batch of supplied arguments. + * Executes a batch using the supplied SQL statement with the batch of supplied arguments. * @param sql the SQL statement to execute - * @param batchArgs the array of {@link SqlParameterSource} containing the batch of - * arguments for the query + * @param batchValues the array of Maps containing the batch of arguments for the query * @return an array containing the numbers of rows affected by each update in the batch * (may also contain special JDBC-defined negative values for affected rows such as * {@link java.sql.Statement#SUCCESS_NO_INFO}/{@link java.sql.Statement#EXECUTE_FAILED}) * @throws DataAccessException if there is any problem issuing the update */ - int[] batchUpdate(String sql, SqlParameterSource[] batchArgs); + int[] batchUpdate(String sql, Map[] batchValues); } diff --git a/spring-jdbc/src/main/java/org/springframework/jdbc/core/namedparam/NamedParameterJdbcTemplate.java b/spring-jdbc/src/main/java/org/springframework/jdbc/core/namedparam/NamedParameterJdbcTemplate.java index 8a36d20923..db60467761 100644 --- a/spring-jdbc/src/main/java/org/springframework/jdbc/core/namedparam/NamedParameterJdbcTemplate.java +++ b/spring-jdbc/src/main/java/org/springframework/jdbc/core/namedparam/NamedParameterJdbcTemplate.java @@ -359,11 +359,6 @@ public class NamedParameterJdbcTemplate implements NamedParameterJdbcOperations return getJdbcOperations().update(psc, generatedKeyHolder); } - @Override - public int[] batchUpdate(String sql, Map[] batchValues) { - return batchUpdate(sql, SqlParameterSourceUtils.createBatch(batchValues)); - } - @Override public int[] batchUpdate(String sql, SqlParameterSource[] batchArgs) { if (batchArgs.length == 0) { @@ -388,6 +383,11 @@ public class NamedParameterJdbcTemplate implements NamedParameterJdbcOperations }); } + @Override + public int[] batchUpdate(String sql, Map[] batchValues) { + return batchUpdate(sql, SqlParameterSourceUtils.createBatch(batchValues)); + } + /** * Build a {@link PreparedStatementCreator} based on the given SQL and named parameters.