Skip to content

Commit 86fc4de

Browse files
committed
Merge branch '2.2.x' into 2.3.x
See gh-23203
2 parents 116b247 + 5f00d91 commit 86fc4de

File tree

1 file changed

+15
-3
lines changed

1 file changed

+15
-3
lines changed

spring-boot-project/spring-boot/src/main/java/org/springframework/boot/jdbc/EmbeddedDatabaseConnection.java

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -59,17 +59,25 @@ public enum EmbeddedDatabaseConnection {
5959
/**
6060
* HSQL Database Connection.
6161
*/
62-
HSQL(EmbeddedDatabaseType.HSQL, DatabaseDriver.HSQLDB.getDriverClassName(), "jdbc:hsqldb:mem:%s");
62+
HSQL(EmbeddedDatabaseType.HSQL, DatabaseDriver.HSQLDB.getDriverClassName(), "org.hsqldb.jdbcDriver",
63+
"jdbc:hsqldb:mem:%s");
6364

6465
private final EmbeddedDatabaseType type;
6566

6667
private final String driverClass;
6768

69+
private final String alternativeDriverClass;
70+
6871
private final String url;
6972

7073
EmbeddedDatabaseConnection(EmbeddedDatabaseType type, String driverClass, String url) {
74+
this(type, driverClass, null, url);
75+
}
76+
77+
EmbeddedDatabaseConnection(EmbeddedDatabaseType type, String driverClass, String fallbackDriverClass, String url) {
7178
this.type = type;
7279
this.driverClass = driverClass;
80+
this.alternativeDriverClass = fallbackDriverClass;
7381
this.url = url;
7482
}
7583

@@ -106,8 +114,12 @@ public String getUrl(String databaseName) {
106114
* @return true if the driver class is one of the embedded types
107115
*/
108116
public static boolean isEmbedded(String driverClass) {
109-
return driverClass != null && (driverClass.equals(HSQL.driverClass) || driverClass.equals(H2.driverClass)
110-
|| driverClass.equals(DERBY.driverClass));
117+
return driverClass != null
118+
&& (matches(HSQL, driverClass) || matches(H2, driverClass) || matches(DERBY, driverClass));
119+
}
120+
121+
private static boolean matches(EmbeddedDatabaseConnection candidate, String driverClass) {
122+
return driverClass.equals(candidate.driverClass) || driverClass.equals(candidate.alternativeDriverClass);
111123
}
112124

113125
/**

0 commit comments

Comments
 (0)