Deprecate Derby support

Deprecate Derby support since Apache Derby is retired since 2023.

Signed-off-by: Philippe Marschall <philippe.marschall@gmail.com>
This commit is contained in:
Philippe Marschall
2026-08-27 16:50:58 +02:00
committed by Brian Clozel
parent 7daf1013aa
commit 1b354f2705
9 changed files with 23 additions and 3 deletions
@@ -118,6 +118,7 @@ public final class CallMetaDataProviderFactory {
}
}
@SuppressWarnings("removal")
CallMetaDataProvider provider = switch (databaseProductName) {
case ORACLE -> new OracleCallMetaDataProvider(databaseMetaData);
case POSTGRES -> new PostgresCallMetaDataProvider(databaseMetaData);
@@ -29,7 +29,9 @@ import org.jspecify.annotations.Nullable;
* @author Thomas Risberg
* @author Juergen Hoeller
* @since 2.5
* @deprecated Apache Derby is retired, switch to H2 or HSQLDB
*/
@Deprecated(forRemoval = true, since = "7.1")
public class DerbyCallMetaDataProvider extends GenericCallMetaDataProvider {
public DerbyCallMetaDataProvider(DatabaseMetaData databaseMetaData) throws SQLException {
@@ -25,7 +25,9 @@ import java.sql.SQLException;
*
* @author Thomas Risberg
* @since 3.0
* @deprecated Apache Derby is retired, switch to HSQLDB or H2
*/
@Deprecated(forRemoval = true, since = "7.1")
public class DerbyTableMetaDataProvider extends GenericTableMetaDataProvider {
private boolean supportsGeneratedKeysOverride = false;
@@ -47,6 +47,7 @@ public final class TableMetaDataProviderFactory {
* @param context the class that holds configuration and meta-data
* @return instance of the TableMetaDataProvider implementation to be used
*/
@SuppressWarnings("removal")
public static TableMetaDataProvider createMetaDataProvider(DataSource dataSource, TableMetaDataContext context) {
try {
return JdbcUtils.extractDatabaseMetaData(dataSource, databaseMetaData -> {
@@ -16,6 +16,7 @@
package org.springframework.jdbc.datasource.embedded;
import java.io.OutputStream;
import java.sql.SQLException;
import java.util.Properties;
@@ -33,7 +34,9 @@ import org.jspecify.annotations.Nullable;
* @author Oliver Gierke
* @author Juergen Hoeller
* @since 3.0
* @deprecated Apache Derby is retired, switch to H2 or HSQLDB
*/
@Deprecated(forRemoval = true, since = "7.1")
final class DerbyEmbeddedDatabaseConfigurer implements EmbeddedDatabaseConfigurer {
private static final String URL_TEMPLATE = "jdbc:derby:memory:%s;%s";
@@ -49,7 +52,7 @@ final class DerbyEmbeddedDatabaseConfigurer implements EmbeddedDatabaseConfigure
if (instance == null) {
// disable log file
System.setProperty("derby.stream.error.method",
OutputStreamFactory.class.getName() + ".getNoopOutputStream");
OutputStream.class.getName() + ".nullOutputStream");
instance = new DerbyEmbeddedDatabaseConfigurer();
}
return instance;
@@ -38,6 +38,7 @@ public abstract class EmbeddedDatabaseConfigurers {
* @return the configurer instance
* @throws IllegalStateException if the driver for the specified database type is not available
*/
@SuppressWarnings("removal")
public static EmbeddedDatabaseConfigurer getConfigurer(EmbeddedDatabaseType type) {
Assert.notNull(type, "EmbeddedDatabaseType is required");
try {
@@ -31,7 +31,12 @@ public enum EmbeddedDatabaseType {
/** The <a href="https://h2database.com">H2</a> Embedded Java SQL Database Engine. */
H2,
/** The <a href="https://db.apache.org/derby">Apache Derby</a> Embedded SQL Database. */
/**
* The <a href="https://db.apache.org/derby">Apache Derby</a> Embedded SQL Database.
*
* @deprecated Apache Derby is retired, switch to HSQLDB or H2
*/
@Deprecated(forRemoval = true, since = "7.1")
DERBY
}
@@ -51,8 +51,9 @@ import javax.sql.DataSource;
*
* @author Thomas Risberg
* @author Juergen Hoeller
* @since 2.5
* @deprecated Apache Derby is retired, switch to HSQLDB or H2
*/
@Deprecated(forRemoval = true, since = "7.1")
public class DerbyMaxValueIncrementer extends AbstractIdentityColumnMaxValueIncrementer {
/** The default for dummy name. */
@@ -37,6 +37,10 @@ public enum Database {
DB2,
/**
* @deprecated Apache Derby is retired, switch to HSQLDB or H2
*/
@Deprecated(forRemoval = true, since = "7.1")
DERBY,
/** @since 2.5.5 */