From 206858a7dd57326a35e87028be5a468eed1d4071 Mon Sep 17 00:00:00 2001 From: George Gastaldi Date: Fri, 24 Oct 2025 15:51:13 -0300 Subject: [PATCH] Remove Apache Derby Apache Derby is being retired (see https://issues.apache.org/jira/browse/DERBY-7177) --- .github/dependabot.yml | 1 - .github/native-tests.json | 2 +- bom/application/pom.xml | 67 ---------- .../java/io/quarkus/deployment/Feature.java | 1 - devtools/bom-descriptor-json/pom.xml | 39 ------ .../src/main/resources/catalog-overrides.json | 1 - docs/pom.xml | 39 ------ docs/src/main/asciidoc/cli-tooling.adoc | 1 - .../main/asciidoc/databases-dev-services.adoc | 7 +- docs/src/main/asciidoc/datasource.adoc | 39 +----- docs/src/main/asciidoc/dev-services.adoc | 2 +- docs/src/main/asciidoc/flyway.adoc | 8 -- docs/src/main/asciidoc/hibernate-orm.adoc | 1 - .../resources/dev-ui/qwc-agroal-datasource.js | 14 -- .../runtime/dev/ui/DatabaseInspector.java | 3 +- .../common/runtime/DatabaseKind.java | 6 - .../common/test/DatabaseKindTest.java | 4 - extensions/devservices/derby/pom.xml | 59 --------- .../deployment/DerbyDevServicesProcessor.java | 104 --------------- extensions/devservices/pom.xml | 1 - extensions/flyway-derby/deployment/pom.xml | 50 ------- extensions/flyway-derby/pom.xml | 24 ---- extensions/flyway-derby/runtime/pom.xml | 73 ----------- .../resources/META-INF/quarkus-extension.yaml | 5 - .../hibernate-orm-derby/deployment/pom.xml | 60 --------- .../main/java/HibernateOrmDerbyProcessor.java | 22 ---- extensions/hibernate-orm-derby/pom.xml | 21 --- .../hibernate-orm-derby/runtime/pom.xml | 68 ---------- .../resources/META-INF/quarkus-extension.yaml | 6 - extensions/hibernate-orm/deployment/pom.xml | 5 - extensions/hibernate-orm/runtime/pom.xml | 5 - extensions/jdbc/jdbc-derby/deployment/pom.xml | 107 --------------- .../derby/deployment/JDBCDerbyProcessor.java | 66 ---------- .../DevServicesDerbyDatasourceTestCase.java | 57 -------- extensions/jdbc/jdbc-derby/pom.xml | 20 --- extensions/jdbc/jdbc-derby/runtime/pom.xml | 77 ----------- .../DerbyAgroalConnectionConfigurer.java | 17 --- .../resources/META-INF/quarkus-extension.yaml | 12 -- extensions/jdbc/pom.xml | 1 - extensions/pom.xml | 2 - integration-tests/jpa-derby/pom.xml | 124 ------------------ .../derby/JPAFunctionalityTestEndpoint.java | 101 -------------- .../java/io/quarkus/it/jpa/derby/Person.java | 65 --------- .../it/jpa/derby/SequencedAddress.java | 42 ------ .../src/main/resources/application.properties | 4 - .../jpa/derby/HibernateOrmNoWarningsTest.java | 39 ------ .../derby/JPAFunctionalityInGraalITCase.java | 11 -- .../it/jpa/derby/JPAFunctionalityTest.java | 21 --- .../quarkus/it/jpa/derby/TestResources.java | 8 -- integration-tests/pom.xml | 1 - test-framework/derby/pom.xml | 30 ----- .../test/derby/DerbyDatabaseTestResource.java | 55 -------- test-framework/pom.xml | 1 - 53 files changed, 10 insertions(+), 1589 deletions(-) delete mode 100644 extensions/devservices/derby/pom.xml delete mode 100644 extensions/devservices/derby/src/main/java/io/quarkus/devservices/derby/deployment/DerbyDevServicesProcessor.java delete mode 100644 extensions/flyway-derby/deployment/pom.xml delete mode 100644 extensions/flyway-derby/pom.xml delete mode 100644 extensions/flyway-derby/runtime/pom.xml delete mode 100644 extensions/flyway-derby/runtime/src/main/resources/META-INF/quarkus-extension.yaml delete mode 100644 extensions/hibernate-orm-derby/deployment/pom.xml delete mode 100644 extensions/hibernate-orm-derby/deployment/src/main/java/HibernateOrmDerbyProcessor.java delete mode 100644 extensions/hibernate-orm-derby/pom.xml delete mode 100644 extensions/hibernate-orm-derby/runtime/pom.xml delete mode 100644 extensions/hibernate-orm-derby/runtime/src/main/resources/META-INF/quarkus-extension.yaml delete mode 100644 extensions/jdbc/jdbc-derby/deployment/pom.xml delete mode 100644 extensions/jdbc/jdbc-derby/deployment/src/main/java/io/quarkus/jdbc/derby/deployment/JDBCDerbyProcessor.java delete mode 100644 extensions/jdbc/jdbc-derby/deployment/src/test/java/io/quarkus/jdbc/derby/deployment/DevServicesDerbyDatasourceTestCase.java delete mode 100644 extensions/jdbc/jdbc-derby/pom.xml delete mode 100644 extensions/jdbc/jdbc-derby/runtime/pom.xml delete mode 100644 extensions/jdbc/jdbc-derby/runtime/src/main/java/io/quarkus/jdbc/derby/runtime/DerbyAgroalConnectionConfigurer.java delete mode 100644 extensions/jdbc/jdbc-derby/runtime/src/main/resources/META-INF/quarkus-extension.yaml delete mode 100644 integration-tests/jpa-derby/pom.xml delete mode 100644 integration-tests/jpa-derby/src/main/java/io/quarkus/it/jpa/derby/JPAFunctionalityTestEndpoint.java delete mode 100644 integration-tests/jpa-derby/src/main/java/io/quarkus/it/jpa/derby/Person.java delete mode 100644 integration-tests/jpa-derby/src/main/java/io/quarkus/it/jpa/derby/SequencedAddress.java delete mode 100644 integration-tests/jpa-derby/src/main/resources/application.properties delete mode 100644 integration-tests/jpa-derby/src/test/java/io/quarkus/it/jpa/derby/HibernateOrmNoWarningsTest.java delete mode 100644 integration-tests/jpa-derby/src/test/java/io/quarkus/it/jpa/derby/JPAFunctionalityInGraalITCase.java delete mode 100644 integration-tests/jpa-derby/src/test/java/io/quarkus/it/jpa/derby/JPAFunctionalityTest.java delete mode 100644 integration-tests/jpa-derby/src/test/java/io/quarkus/it/jpa/derby/TestResources.java delete mode 100644 test-framework/derby/pom.xml delete mode 100644 test-framework/derby/src/main/java/io/quarkus/test/derby/DerbyDatabaseTestResource.java diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 09ff5680a6a8a..01ea8d6d244b7 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -48,7 +48,6 @@ updates: - dependency-name: org.postgresql:postgresql - dependency-name: org.mariadb.jdbc:mariadb-java-client - dependency-name: com.mysql:mysql-connector-j - - dependency-name: org.apache.derby:* - dependency-name: com.ibm.db2:jcc # Kafka - dependency-name: org.apache.kafka:* diff --git a/.github/native-tests.json b/.github/native-tests.json index 0e16827f26747..0de3081f26524 100644 --- a/.github/native-tests.json +++ b/.github/native-tests.json @@ -9,7 +9,7 @@ { "category": "Data1", "timeout": 95, - "test-modules": "jpa-h2, jpa-h2-embedded, jpa-mariadb, jpa-mssql, jpa-derby, jpa-without-entity, hibernate-orm-tenancy/datasource, hibernate-orm-tenancy/connection-resolver, hibernate-orm-tenancy/connection-resolver-legacy-qualifiers", + "test-modules": "jpa-h2, jpa-h2-embedded, jpa-mariadb, jpa-mssql, jpa-without-entity, hibernate-orm-tenancy/datasource, hibernate-orm-tenancy/connection-resolver, hibernate-orm-tenancy/connection-resolver-legacy-qualifiers", "os-name": "ubuntu-latest" }, { diff --git a/bom/application/pom.xml b/bom/application/pom.xml index 323c7525b72ac..77cbf151dc0f5 100644 --- a/bom/application/pom.xml +++ b/bom/application/pom.xml @@ -126,7 +126,6 @@ 13.2.1.jre11 1.6.7 23.6.0.24.10 - 10.16.1.1 12.1.0.0 1.2.6 2.2 @@ -924,11 +923,6 @@ quarkus-devservices-mariadb ${project.version} - - io.quarkus - quarkus-devservices-derby - ${project.version} - io.quarkus quarkus-devservices-db2 @@ -1299,16 +1293,6 @@ quarkus-flyway-mssql-deployment ${project.version} - - io.quarkus - quarkus-flyway-derby - ${project.version} - - - io.quarkus - quarkus-flyway-derby-deployment - ${project.version} - io.quarkus quarkus-flyway-db2 @@ -1369,16 +1353,6 @@ quarkus-hibernate-orm-deployment ${project.version} - - io.quarkus - quarkus-hibernate-orm-derby - ${project.version} - - - io.quarkus - quarkus-hibernate-orm-derby-deployment - ${project.version} - io.quarkus quarkus-hibernate-envers @@ -1719,16 +1693,6 @@ quarkus-jdbc-oracle-deployment ${project.version} - - io.quarkus - quarkus-jdbc-derby - ${project.version} - - - io.quarkus - quarkus-jdbc-derby-deployment - ${project.version} - io.quarkus quarkus-jms-spi-deployment @@ -3613,11 +3577,6 @@ quarkus-test-ldap ${project.version} - - io.quarkus - quarkus-test-derby - ${project.version} - io.quarkus quarkus-test-kubernetes-client @@ -5672,27 +5631,6 @@ - - - org.apache.derby - derbyshared - ${derby-jdbc.version} - - - org.apache.derby - derbyclient - ${derby-jdbc.version} - - - org.apache.derby - derbynet - ${derby-jdbc.version} - - - org.apache.derby - derbytools - ${derby-jdbc.version} - com.ibm.db2 jcc @@ -6159,11 +6097,6 @@ flyway-database-db2 ${flyway.version} - - org.flywaydb - flyway-database-derby - ${flyway.version} - org.flywaydb flyway-database-mongodb diff --git a/core/deployment/src/main/java/io/quarkus/deployment/Feature.java b/core/deployment/src/main/java/io/quarkus/deployment/Feature.java index 24ac4701ee8e5..6de4a261a9fc9 100644 --- a/core/deployment/src/main/java/io/quarkus/deployment/Feature.java +++ b/core/deployment/src/main/java/io/quarkus/deployment/Feature.java @@ -43,7 +43,6 @@ public enum Feature { INFINISPAN_CLIENT, INFINISPAN_EMBEDDED, JDBC_DB2, - JDBC_DERBY, JDBC_H2, JDBC_POSTGRESQL, JDBC_MARIADB, diff --git a/devtools/bom-descriptor-json/pom.xml b/devtools/bom-descriptor-json/pom.xml index ea454f643dc07..fdfb0896cacf8 100644 --- a/devtools/bom-descriptor-json/pom.xml +++ b/devtools/bom-descriptor-json/pom.xml @@ -700,19 +700,6 @@ - - io.quarkus - quarkus-flyway-derby - ${project.version} - pom - test - - - * - * - - - io.quarkus quarkus-flyway-mssql @@ -921,19 +908,6 @@ - - io.quarkus - quarkus-hibernate-orm-derby - ${project.version} - pom - test - - - * - * - - - io.quarkus quarkus-hibernate-orm-panache @@ -1220,19 +1194,6 @@ - - io.quarkus - quarkus-jdbc-derby - ${project.version} - pom - test - - - * - * - - - io.quarkus quarkus-jdbc-h2 diff --git a/devtools/bom-descriptor-json/src/main/resources/catalog-overrides.json b/devtools/bom-descriptor-json/src/main/resources/catalog-overrides.json index 8f61aa36b44a3..ae53c369b98a1 100644 --- a/devtools/bom-descriptor-json/src/main/resources/catalog-overrides.json +++ b/devtools/bom-descriptor-json/src/main/resources/catalog-overrides.json @@ -46,7 +46,6 @@ "io.quarkus:quarkus-jdbc-h2", "io.quarkus:quarkus-jdbc-mssql", "io.quarkus:quarkus-jdbc-db2", - "io.quarkus:quarkus-jdbc-derby", "io.quarkus:quarkus-jdbc-oracle" ] } diff --git a/docs/pom.xml b/docs/pom.xml index 57ed700052209..784c3c2c5028f 100644 --- a/docs/pom.xml +++ b/docs/pom.xml @@ -664,19 +664,6 @@ - - io.quarkus - quarkus-flyway-derby-deployment - ${project.version} - pom - test - - - * - * - - - io.quarkus quarkus-flyway-mssql-deployment @@ -885,19 +872,6 @@ - - io.quarkus - quarkus-hibernate-orm-derby-deployment - ${project.version} - pom - test - - - * - * - - - io.quarkus quarkus-hibernate-orm-panache-deployment @@ -1184,19 +1158,6 @@ - - io.quarkus - quarkus-jdbc-derby-deployment - ${project.version} - pom - test - - - * - * - - - io.quarkus quarkus-jdbc-h2-deployment diff --git a/docs/src/main/asciidoc/cli-tooling.adoc b/docs/src/main/asciidoc/cli-tooling.adoc index 479b5e5e69118..3409fc10536af 100644 --- a/docs/src/main/asciidoc/cli-tooling.adoc +++ b/docs/src/main/asciidoc/cli-tooling.adoc @@ -461,7 +461,6 @@ JDBC Driver - MariaDB quarkus-jdbc-mariadb JDBC Driver - Microsoft SQL Server quarkus-jdbc-mssql JDBC Driver - MySQL quarkus-jdbc-mysql JDBC Driver - Oracle quarkus-jdbc-oracle -JDBC Driver - Derby quarkus-jdbc-derby Elytron Security JDBC quarkus-elytron-security-jdbc Agroal - Database connection pool quarkus-agroal ---- diff --git a/docs/src/main/asciidoc/databases-dev-services.adoc b/docs/src/main/asciidoc/databases-dev-services.adoc index 0d21d9eb9799b..f46e11c103169 100644 --- a/docs/src/main/asciidoc/databases-dev-services.adoc +++ b/docs/src/main/asciidoc/databases-dev-services.adoc @@ -7,14 +7,13 @@ https://github.com/quarkusio/quarkus/tree/main/docs/src/main/asciidoc :categories: data, tooling include::_attributes.adoc[] :topics: dev-services,data,database,datasource,dev-mode,testing -:extensions: io.quarkus:quarkus-agroal,io.quarkus:quarkus-reactive-mysql-client,io.quarkus:quarkus-reactive-oracle-client,io.quarkus:quarkus-reactive-pg-client,io.quarkus:quarkus-jdbc-db2,io.quarkus:quarkus-jdbc-derby,io.quarkus:quarkus-jdbc-h2,io.quarkus:quarkus-jdbc-mariadb,io.quarkus:quarkus-jdbc-mssql,io.quarkus:quarkus-jdbc-mysql,io.quarkus:quarkus-jdbc-oracle,io.quarkus:quarkus-jdbc-postgresql +:extensions: io.quarkus:quarkus-agroal,io.quarkus:quarkus-reactive-mysql-client,io.quarkus:quarkus-reactive-oracle-client,io.quarkus:quarkus-reactive-pg-client,io.quarkus:quarkus-jdbc-db2,io.quarkus:quarkus-jdbc-h2,io.quarkus:quarkus-jdbc-mariadb,io.quarkus:quarkus-jdbc-mssql,io.quarkus:quarkus-jdbc-mysql,io.quarkus:quarkus-jdbc-oracle,io.quarkus:quarkus-jdbc-postgresql When testing or running in dev mode Quarkus can provide you with a zero-config database out of the box, a feature we refer to as Dev Services. Depending on your database type you may need Docker installed in order to use this feature. Dev Services is supported for the following databases: * DB2 (container) (requires <<#license_acceptance,license acceptance>>) -* Derby (in-process) * H2 (in-process) * MariaDB (container) * Microsoft SQL Server (container) (requires <<#license_acceptance,license acceptance>>) @@ -43,7 +42,7 @@ quarkus.devservices.enabled=false quarkus.datasource.devservices.enabled=false ---- -Dev Services for databases relies on Docker to start the server (except for H2 and Derby which are run in process). +Dev Services for databases relies on Docker to start the server (except for H2 which is run in process). If your environment does not support Docker, you will need to start the server manually, or connect to an already running server. [[license_acceptance]] @@ -90,7 +89,7 @@ Quarkus will (by default) stop all database Dev Services. [[reuse-across-executions]] === Reusing Dev Service containers across runs -Assuming you rely on Dev Services based on containers (unlike H2 or Derby), +Assuming you rely on Dev Services based on containers (unlike H2), if you want to keep Dev Service containers running *after a dev mode session or test suite execution* to reuse them in the next dev mode session or test suite execution, this is possible as well. diff --git a/docs/src/main/asciidoc/datasource.adoc b/docs/src/main/asciidoc/datasource.adoc index 4a9b34a385fe5..6093440e482dd 100644 --- a/docs/src/main/asciidoc/datasource.adoc +++ b/docs/src/main/asciidoc/datasource.adoc @@ -9,7 +9,7 @@ include::_attributes.adoc[] :diataxis-type: reference :categories: data,getting-started,reactive :topics: data,database,datasource,sql,jdbc,reactive -:extensions: io.quarkus:quarkus-agroal,io.quarkus:quarkus-reactive-mysql-client,io.quarkus:quarkus-reactive-oracle-client,io.quarkus:quarkus-reactive-pg-client,io.quarkus:quarkus-reactive-db2-client,io.quarkus:quarkus-reactive-pg-client,io.quarkus:quarkus-reactive-mssql-client,io.quarkus:quarkus-jdbc-db2,io.quarkus:quarkus-jdbc-derby,io.quarkus:quarkus-jdbc-h2,io.quarkus:quarkus-jdbc-mariadb,io.quarkus:quarkus-jdbc-mssql,io.quarkus:quarkus-jdbc-mysql,io.quarkus:quarkus-jdbc-oracle,io.quarkus:quarkus-jdbc-postgresql +:extensions: io.quarkus:quarkus-agroal,io.quarkus:quarkus-reactive-mysql-client,io.quarkus:quarkus-reactive-oracle-client,io.quarkus:quarkus-reactive-pg-client,io.quarkus:quarkus-reactive-db2-client,io.quarkus:quarkus-reactive-pg-client,io.quarkus:quarkus-reactive-mssql-client,io.quarkus:quarkus-jdbc-db2,io.quarkus:quarkus-jdbc-h2,io.quarkus:quarkus-jdbc-mariadb,io.quarkus:quarkus-jdbc-mssql,io.quarkus:quarkus-jdbc-mysql,io.quarkus:quarkus-jdbc-oracle,io.quarkus:quarkus-jdbc-postgresql Use a unified configuration model to define data sources for Java Database Connectivity (JDBC) and Reactive drivers. @@ -64,9 +64,6 @@ For more details and optional configurations, see xref:databases-dev-services.ad . Add the correct JDBC extension for the database of your choice. * `quarkus-jdbc-db2` -* `quarkus-jdbc-derby` -+ -include::_includes/snip-note-derby.adoc[] * `quarkus-jdbc-h2` * `quarkus-jdbc-mariadb` * `quarkus-jdbc-mssql` @@ -152,9 +149,6 @@ If the application operates with a single driver, this driver is detected automa Quarkus currently includes the following built-in database kinds: + * DB2: `db2` -* Derby: `derby` -+ -include::_includes/snip-note-derby.adoc[] * H2: `h2` * MariaDB: `mariadb` * Microsoft SQL Server: `mssql` @@ -194,14 +188,11 @@ JDBC is the most common database connection pattern, typically needed when used .. For use with a built-in JDBC driver, choose and add the Quarkus extension for your relational database driver from the list below: + -* Derby - `quarkus-jdbc-derby` -+ -include::_includes/snip-note-derby.adoc[] * H2 - `quarkus-jdbc-h2` + [NOTE] ==== -You can configure H2 and Derby databases to run in "embedded mode"; however, the Derby extension does not support compiling the embedded database engine into native executables. +You can configure H2 databases to run in "embedded mode" For suggestions regarding integration testing, see <> . ==== @@ -700,7 +691,7 @@ You will usually specify the `db-kind` property or explicitly enable Dev Service [[in-memory-databases]] === Testing with in-memory databases -Some databases like H2 and Derby are commonly used in the _embedded mode_ as a facility to run integration tests quickly. +Some databases like H2 are commonly used in the _embedded mode_ as a facility to run integration tests quickly. The recommended approach is to use the database intended for production to get results as close as possible to a production environment. This is made easier by xref:databases-dev-services.adoc[Dev Services] because they require no configuration and start relatively quickly. @@ -708,12 +699,9 @@ However, it is also possible to use JVM-powered databases for scenarios when the ==== Support and limitations -Embedded databases (H2 and Derby) work in JVM mode. +Embedded databases (H2) work in JVM mode. For native mode, the following limitations apply: -* Derby cannot be embedded into the application in native mode. -However, the Quarkus Derby extension allows native compilation of the Derby JDBC *client*, supporting *remote* connections. - * Embedding H2 within your native image is not recommended. Consider using an alternative approach, for example, using a remote connection to a separate database instead. @@ -723,14 +711,12 @@ ifndef::no-deprecated-test-resource[] . Add a dependency on the artifacts providing the additional tools that are under the following Maven coordinates: + * `io.quarkus:quarkus-test-h2` for H2 -* `io.quarkus:quarkus-test-derby` for Derby + This will allow you to test your application even when it is compiled into a native executable while the database will run as a JVM process. . Add the following specific annotation on any class in your integration tests for running integration tests in both JVM or native executables: + * `@QuarkusTestResource(H2DatabaseTestResource.class)` -* `@QuarkusTestResource(DerbyDatabaseTestResource.class)` + This ensures that the test suite starts and terminates the managed database in a separate process as required for test execution. + @@ -783,17 +769,6 @@ Example:: `jdbc:db2://localhost:50000/MYDB:user=dbadm;password=dbadm;` For more information on URL syntax and additional supported options, see the link:https://www.ibm.com/support/knowledgecenter/SSEPGG_11.5.0/com.ibm.db2.luw.apdv.java.doc/src/tpc/imjcc_r0052342.html[official documentation]. -==== Derby - -`jdbc:derby:[//serverName[:portNumber]/][memory:]databaseName[;property=value[;property=value]]` - -Example:: `jdbc:derby://localhost:1527/myDB`, `jdbc:derby:memory:myDB;create=true` - -Derby is an embedded database that can run as a server, based on a file, or can run completely in memory. -All of these options are available as listed above. - -For more information, see the link:https://db.apache.org/derby/docs/10.8/devguide/cdevdvlp17453.html#cdevdvlp17453[official documentation]. - ==== H2 `jdbc:h2:{ {.|mem:}[name] | [file:]fileName | {tcp|ssl}:[//]server[:port][,server2[:port]]/name }[;key=value...]` @@ -882,12 +857,6 @@ a|* JDBC: `com.ibm.db2.jcc.DB2Driver` * XA: `com.ibm.db2.jcc.DB2XADataSource` -|`derby` -|`quarkus-jdbc-derby` -a|* JDBC: `org.apache.derby.jdbc.ClientDriver` - -* XA: `org.apache.derby.jdbc.ClientXADataSource` - |`h2` |`quarkus-jdbc-h2` a|* JDBC: `org.h2.Driver` diff --git a/docs/src/main/asciidoc/dev-services.adoc b/docs/src/main/asciidoc/dev-services.adoc index 91110e4619f43..bff27a7090f81 100644 --- a/docs/src/main/asciidoc/dev-services.adoc +++ b/docs/src/main/asciidoc/dev-services.adoc @@ -80,7 +80,7 @@ and the database URL has not been configured. More information can be found in t xref:databases-dev-services.adoc[Databases Dev Services Guide]. Quarkus provides Dev Services for all databases it supports. Most of these are run in a container, except -H2 and Derby which are run in-process. Dev Services are supported for both JDBC and reactive drivers. +H2 which is run in-process. Dev Services are supported for both JDBC and reactive drivers. Those relational databases that are running in a container are started using Testcontainers and support "reusable instances"; this implies that if you add the property `testcontainers.reuse.enable=true` in your Testcontainers configuration file, diff --git a/docs/src/main/asciidoc/flyway.adoc b/docs/src/main/asciidoc/flyway.adoc index da08d77ddaec7..2ae4bce2319c1 100644 --- a/docs/src/main/asciidoc/flyway.adoc +++ b/docs/src/main/asciidoc/flyway.adoc @@ -75,12 +75,6 @@ In your build file, add the following dependencies: flyway-database-db2 - - - org.flywaydb - flyway-database-derby - - org.flywaydb @@ -160,8 +154,6 @@ implementation("org.flywaydb:flyway-database-oracle") implementation("org.flywaydb:flyway-database-postgresql") // Flyway DB2 specific dependencies implementation("org.flywaydb:flyway-database-db2") -// Flyway Derby specific dependencies -implementation("org.flywaydb:flyway-database-derby") // HSQLDB specific dependencies implementation("org.flywaydb:flyway-database-hsqldb") // Informix specific dependencies diff --git a/docs/src/main/asciidoc/hibernate-orm.adoc b/docs/src/main/asciidoc/hibernate-orm.adoc index 6f596c84a7f81..f77813b84ae6a 100644 --- a/docs/src/main/asciidoc/hibernate-orm.adoc +++ b/docs/src/main/asciidoc/hibernate-orm.adoc @@ -42,7 +42,6 @@ Add the following dependencies to your project: * the Hibernate ORM extension: `io.quarkus:quarkus-hibernate-orm` * your JDBC driver extension; the following options are available: - `quarkus-jdbc-db2` for link:https://www.ibm.com/products/db2-database[IBM DB2] - - `quarkus-jdbc-derby` for link:https://db.apache.org/derby/[Apache Derby] - `quarkus-jdbc-h2` for link:https://www.h2database.com/html/main.html[H2] - `quarkus-jdbc-mariadb` for link:https://mariadb.com/[MariaDB] - `quarkus-jdbc-mssql` for link:https://www.microsoft.com/en-gb/sql-server/[Microsoft SQL Server] diff --git a/extensions/agroal/deployment/src/main/resources/dev-ui/qwc-agroal-datasource.js b/extensions/agroal/deployment/src/main/resources/dev-ui/qwc-agroal-datasource.js index 1efd8b218394b..75833e49db18e 100644 --- a/extensions/agroal/deployment/src/main/resources/dev-ui/qwc-agroal-datasource.js +++ b/extensions/agroal/deployment/src/main/resources/dev-ui/qwc-agroal-datasource.js @@ -1024,20 +1024,6 @@ export class QwcAgroalDatasource extends observeState(QwcHotReloadElement) { return true; } - if (jdbcUrl.startsWith("jdbc:derby:memory:")) { - return true; - } - - if (jdbcUrl.startsWith("jdbc:derby:")) { - const derbyUri = jdbcUrl.replace("jdbc:", ""); - if (derbyUri.startsWith("localhost") || derbyUri.startsWith("127.0.0.1")) { - return true; - } - if(this._allowedHost && this._allowedHost!=="" && derbyUri.startsWith(this._allowedHost)){ - return true; - } - } - const urlPattern = /\/\/([^:/?#]+)|@([^:/?#]+)/; const match = jdbcUrl.match(urlPattern); diff --git a/extensions/agroal/runtime-dev/src/main/java/io/quarkus/agroal/runtime/dev/ui/DatabaseInspector.java b/extensions/agroal/runtime-dev/src/main/java/io/quarkus/agroal/runtime/dev/ui/DatabaseInspector.java index 992ed81d80f97..f6d028c23dc40 100644 --- a/extensions/agroal/runtime-dev/src/main/java/io/quarkus/agroal/runtime/dev/ui/DatabaseInspector.java +++ b/extensions/agroal/runtime-dev/src/main/java/io/quarkus/agroal/runtime/dev/ui/DatabaseInspector.java @@ -469,8 +469,7 @@ private boolean isAllowedDatabase(AgroalDataSource ads) { if (jdbcUrl.startsWith("jdbc:h2:mem:") || jdbcUrl.startsWith("jdbc:h2:file:") || jdbcUrl.startsWith("jdbc:h2:tcp://localhost") || (allowedHost != null && !allowedHost.isBlank() - && jdbcUrl.startsWith("jdbc:h2:tcp://" + allowedHost)) - || jdbcUrl.startsWith("jdbc:derby:memory:")) { + && jdbcUrl.startsWith("jdbc:h2:tcp://" + allowedHost))) { return true; } diff --git a/extensions/datasource/common/src/main/java/io/quarkus/datasource/common/runtime/DatabaseKind.java b/extensions/datasource/common/src/main/java/io/quarkus/datasource/common/runtime/DatabaseKind.java index 4b7cf0f6d3e21..e5e9f1ce70319 100644 --- a/extensions/datasource/common/src/main/java/io/quarkus/datasource/common/runtime/DatabaseKind.java +++ b/extensions/datasource/common/src/main/java/io/quarkus/datasource/common/runtime/DatabaseKind.java @@ -15,7 +15,6 @@ public final class DatabaseKind { public static final String DB2 = "db2"; - public static final String DERBY = "derby"; public static final String H2 = "h2"; public static final String MARIADB = "mariadb"; public static final String MSSQL = "mssql"; @@ -57,10 +56,6 @@ public static boolean isDB2(String value) { return is(value, DB2); } - public static boolean isDerby(String value) { - return is(value, DERBY); - } - public static boolean isH2(String value) { return is(value, H2); } @@ -100,7 +95,6 @@ private DatabaseKind() { public enum SupportedDatabaseKind { DB2(DatabaseKind.DB2), - DERBY(DatabaseKind.DERBY), H2(DatabaseKind.H2), MARIADB(DatabaseKind.MARIADB), MSSQL(DatabaseKind.MSSQL), diff --git a/extensions/datasource/common/src/test/java/io/quarkus/datasource/common/test/DatabaseKindTest.java b/extensions/datasource/common/src/test/java/io/quarkus/datasource/common/test/DatabaseKindTest.java index ef899ab2a3f9d..c66d6c8560961 100644 --- a/extensions/datasource/common/src/test/java/io/quarkus/datasource/common/test/DatabaseKindTest.java +++ b/extensions/datasource/common/src/test/java/io/quarkus/datasource/common/test/DatabaseKindTest.java @@ -14,7 +14,6 @@ public class DatabaseKindTest { @Test public void testNormalize() { assertEquals(DatabaseKind.DB2, DatabaseKind.normalize("db2")); - assertEquals(DatabaseKind.DERBY, DatabaseKind.normalize("derby")); assertEquals(DatabaseKind.H2, DatabaseKind.normalize("h2")); assertEquals(DatabaseKind.MARIADB, DatabaseKind.normalize("mariadb")); assertEquals(DatabaseKind.MSSQL, DatabaseKind.normalize("mssql")); @@ -32,9 +31,6 @@ public void testIs() { assertTrue(DatabaseKind.isDB2("db2")); assertFalse(DatabaseKind.isDB2("mariadb")); - assertTrue(DatabaseKind.isDerby("derby")); - assertFalse(DatabaseKind.isDerby("mariadb")); - assertTrue(DatabaseKind.isH2("h2")); assertFalse(DatabaseKind.isH2("mariadb")); diff --git a/extensions/devservices/derby/pom.xml b/extensions/devservices/derby/pom.xml deleted file mode 100644 index 203c6f0fa0206..0000000000000 --- a/extensions/devservices/derby/pom.xml +++ /dev/null @@ -1,59 +0,0 @@ - - - - quarkus-devservices-parent - io.quarkus - 999-SNAPSHOT - - 4.0.0 - - quarkus-devservices-derby - Quarkus - DevServices - Derby - - - io.quarkus - quarkus-datasource-deployment-spi - - - org.apache.derby - derbynet - - - org.apache.derby - derbytools - - - org.junit.jupiter - junit-jupiter - test - - - org.jboss.logmanager - jboss-logmanager - test - - - - - - maven-compiler-plugin - - - default-compile - - - - io.quarkus - quarkus-extension-processor - ${project.version} - - - - - - - - - diff --git a/extensions/devservices/derby/src/main/java/io/quarkus/devservices/derby/deployment/DerbyDevServicesProcessor.java b/extensions/devservices/derby/src/main/java/io/quarkus/devservices/derby/deployment/DerbyDevServicesProcessor.java deleted file mode 100644 index 2405dbfbc7430..0000000000000 --- a/extensions/devservices/derby/src/main/java/io/quarkus/devservices/derby/deployment/DerbyDevServicesProcessor.java +++ /dev/null @@ -1,104 +0,0 @@ -package io.quarkus.devservices.derby.deployment; - -import static io.quarkus.datasource.deployment.spi.DatabaseDefaultSetupConfig.DEFAULT_DATABASE_NAME; - -import java.io.Closeable; -import java.io.IOException; -import java.io.PrintWriter; -import java.net.InetAddress; -import java.time.Duration; -import java.util.Map; -import java.util.Optional; - -import org.apache.derby.drda.NetworkServerControl; -import org.jboss.logging.Logger; - -import io.quarkus.datasource.common.runtime.DataSourceUtil; -import io.quarkus.datasource.common.runtime.DatabaseKind; -import io.quarkus.datasource.deployment.spi.DevServicesDatasourceContainerConfig; -import io.quarkus.datasource.deployment.spi.DevServicesDatasourceProvider; -import io.quarkus.datasource.deployment.spi.DevServicesDatasourceProviderBuildItem; -import io.quarkus.deployment.annotations.BuildStep; -import io.quarkus.runtime.LaunchMode; - -public class DerbyDevServicesProcessor { - - private static final Logger LOG = Logger.getLogger(DerbyDevServicesProcessor.class); - - static final int NUMBER_OF_PINGS = 10; - static final int SLEEP_BETWEEN_PINGS = 500; - - @BuildStep - DevServicesDatasourceProviderBuildItem setupDerby() { - return new DevServicesDatasourceProviderBuildItem(DatabaseKind.DERBY, new DevServicesDatasourceProvider() { - @Override - public RunningDevServicesDatasource startDatabase(Optional username, Optional password, - String datasourceName, DevServicesDatasourceContainerConfig containerConfig, - LaunchMode launchMode, Optional startupTimeout) { - try { - int port = containerConfig.getFixedExposedPort().isPresent() - ? containerConfig.getFixedExposedPort().getAsInt() - : 1527 + (launchMode == LaunchMode.TEST ? 0 : 1); - - String effectiveDbName = containerConfig.getDbName().orElse( - DataSourceUtil.isDefault(datasourceName) ? DEFAULT_DATABASE_NAME : datasourceName); - - NetworkServerControl server = new NetworkServerControl(InetAddress.getByName("localhost"), port); - server.start(new PrintWriter(System.out)); - for (int i = 1; i <= NUMBER_OF_PINGS; i++) { - try { - LOG.info("Attempt " + i + " to see if Dev Services for Derby started"); - server.ping(); - break; - } catch (Exception ex) { - if (i == NUMBER_OF_PINGS) { - LOG.error("Dev Services for Derby failed to start", ex); - throw ex; - } - try { - Thread.sleep(SLEEP_BETWEEN_PINGS); - } catch (InterruptedException ignore) { - } - } - } - - LOG.info("Dev Services for Derby started."); - - StringBuilder additionalArgs = new StringBuilder(); - for (Map.Entry i : containerConfig.getAdditionalJdbcUrlProperties().entrySet()) { - additionalArgs.append(";"); - additionalArgs.append(i.getKey()); - additionalArgs.append("="); - additionalArgs.append(i.getValue()); - } - return new RunningDevServicesDatasource(null, - "jdbc:derby://localhost:" + port + "/memory:" + effectiveDbName + ";create=true" - + additionalArgs.toString(), - null, - null, - null, - new Closeable() { - @Override - public void close() throws IOException { - try { - NetworkServerControl server = new NetworkServerControl( - InetAddress.getByName("localhost"), port); - server.shutdown(); - LOG.info("Dev Services for Derby shut down"); - } catch (Exception e) { - throw new RuntimeException(e); - } - } - }); - } catch (Exception throwable) { - throw new RuntimeException(throwable); - } - } - - @Override - public boolean isDockerRequired() { - return false; - } - }); - } -} diff --git a/extensions/devservices/pom.xml b/extensions/devservices/pom.xml index 53608f49bc997..de04107f88e24 100644 --- a/extensions/devservices/pom.xml +++ b/extensions/devservices/pom.xml @@ -22,7 +22,6 @@ mysql mariadb h2 - derby mssql db2 oracle diff --git a/extensions/flyway-derby/deployment/pom.xml b/extensions/flyway-derby/deployment/pom.xml deleted file mode 100644 index d59e36f249676..0000000000000 --- a/extensions/flyway-derby/deployment/pom.xml +++ /dev/null @@ -1,50 +0,0 @@ - - - - - io.quarkus - quarkus-flyway-derby-parent - 999-SNAPSHOT - - - 4.0.0 - - quarkus-flyway-derby-deployment - Quarkus - Flyway - Derby - Deployment - This extension is added by Quarkus automatically when quarkus-flyway and quarkus-jdbc-derby are on the classpath - - - - io.quarkus - quarkus-core-deployment - - - io.quarkus - quarkus-flyway-derby - - - - - - - maven-compiler-plugin - - - default-compile - - - - io.quarkus - quarkus-extension-processor - ${project.version} - - - - - - - - - diff --git a/extensions/flyway-derby/pom.xml b/extensions/flyway-derby/pom.xml deleted file mode 100644 index b89aa047bfab0..0000000000000 --- a/extensions/flyway-derby/pom.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - - - io.quarkus - quarkus-extensions-parent - 999-SNAPSHOT - ../pom.xml - - - 4.0.0 - - quarkus-flyway-derby-parent - pom - Quarkus - Flyway - Derby - - - deployment - runtime - - - diff --git a/extensions/flyway-derby/runtime/pom.xml b/extensions/flyway-derby/runtime/pom.xml deleted file mode 100644 index ac4f148fa586e..0000000000000 --- a/extensions/flyway-derby/runtime/pom.xml +++ /dev/null @@ -1,73 +0,0 @@ - - - - - io.quarkus - quarkus-flyway-derby-parent - 999-SNAPSHOT - - - 4.0.0 - - quarkus-flyway-derby - Quarkus - Flyway - Derby - Runtime - This extension is added by Quarkus automatically when quarkus-flyway and quarkus-jdbc-derby are on the classpath - - - - io.quarkus - quarkus-core - - - io.quarkus - quarkus-flyway - provided - - - org.flywaydb - flyway-database-derby - - - - - - - io.quarkus - quarkus-extension-maven-plugin - - - compile - - extension-descriptor - - - ${project.groupId}:${project.artifactId}-deployment:${project.version} - - io.quarkus:quarkus-flyway - - - - - - - maven-compiler-plugin - - - default-compile - - - - io.quarkus - quarkus-extension-processor - ${project.version} - - - - - - - - - diff --git a/extensions/flyway-derby/runtime/src/main/resources/META-INF/quarkus-extension.yaml b/extensions/flyway-derby/runtime/src/main/resources/META-INF/quarkus-extension.yaml deleted file mode 100644 index 4fa38923b0fd8..0000000000000 --- a/extensions/flyway-derby/runtime/src/main/resources/META-INF/quarkus-extension.yaml +++ /dev/null @@ -1,5 +0,0 @@ -name: Quarkus Flyway Derby -artifact: ${project.groupId}:${project.artifactId}:${project.version} -description: Conditional extension added when Flyway and Derby extensions are present -metadata: - unlisted: true diff --git a/extensions/hibernate-orm-derby/deployment/pom.xml b/extensions/hibernate-orm-derby/deployment/pom.xml deleted file mode 100644 index 348387d604fc0..0000000000000 --- a/extensions/hibernate-orm-derby/deployment/pom.xml +++ /dev/null @@ -1,60 +0,0 @@ - - - - quarkus-hibernate-orm-derby-parent - io.quarkus - 999-SNAPSHOT - - 4.0.0 - - quarkus-hibernate-orm-derby-deployment - Quarkus - Hibernate ORM - Derby - Deployment - This extensions is added by Quarkus automatically when quarkus-hibernate-orm and quarkus-jdbc-derby are on the classpath - - - - io.quarkus - quarkus-core-deployment - - - - io.quarkus - quarkus-hibernate-orm-deployment-spi - - - io.quarkus - quarkus-datasource-common - - - - io.quarkus - quarkus-hibernate-orm-derby - - - - - - - maven-compiler-plugin - - - default-compile - - - - io.quarkus - quarkus-extension-processor - ${project.version} - - - - - - - - - - - diff --git a/extensions/hibernate-orm-derby/deployment/src/main/java/HibernateOrmDerbyProcessor.java b/extensions/hibernate-orm-derby/deployment/src/main/java/HibernateOrmDerbyProcessor.java deleted file mode 100644 index c2e9cccb5e0dc..0000000000000 --- a/extensions/hibernate-orm-derby/deployment/src/main/java/HibernateOrmDerbyProcessor.java +++ /dev/null @@ -1,22 +0,0 @@ -import java.util.Set; - -import org.hibernate.community.dialect.CommunityDialectResolver; -import org.hibernate.engine.jdbc.dialect.spi.DialectResolver; - -import io.quarkus.datasource.common.runtime.DatabaseKind; -import io.quarkus.deployment.annotations.BuildStep; -import io.quarkus.deployment.builditem.nativeimage.ServiceProviderBuildItem; -import io.quarkus.hibernate.orm.deployment.spi.DatabaseKindDialectBuildItem; - -public final class HibernateOrmDerbyProcessor { - @BuildStep - public DatabaseKindDialectBuildItem registerHibernateOrmMetadataForDerbyDialect() { - return DatabaseKindDialectBuildItem.forCoreDialect(DatabaseKind.DERBY, "Apache Derby", - Set.of("org.hibernate.community.dialect.DerbyDialect")); - } - - @BuildStep - public ServiceProviderBuildItem registerCommunityDialectResolver() { - return new ServiceProviderBuildItem(DialectResolver.class.getName(), CommunityDialectResolver.class.getName()); - } -} diff --git a/extensions/hibernate-orm-derby/pom.xml b/extensions/hibernate-orm-derby/pom.xml deleted file mode 100644 index dc8436445329b..0000000000000 --- a/extensions/hibernate-orm-derby/pom.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - - - quarkus-extensions-parent - io.quarkus - 999-SNAPSHOT - ../pom.xml - - 4.0.0 - - quarkus-hibernate-orm-derby-parent - Quarkus - Hibernate ORM - Derby - pom - - runtime - deployment - - diff --git a/extensions/hibernate-orm-derby/runtime/pom.xml b/extensions/hibernate-orm-derby/runtime/pom.xml deleted file mode 100644 index 83141b3c9a152..0000000000000 --- a/extensions/hibernate-orm-derby/runtime/pom.xml +++ /dev/null @@ -1,68 +0,0 @@ - - - - quarkus-hibernate-orm-derby-parent - io.quarkus - 999-SNAPSHOT - - 4.0.0 - - quarkus-hibernate-orm-derby - Quarkus - Hibernate ORM - Derby - Runtime - This extensions is added by Quarkus automatically when quarkus-hibernate-orm and quarkus-jdbc-derby are on the classpath - - - - io.quarkus - quarkus-core - - - org.hibernate.orm - hibernate-community-dialects - - - - - - - io.quarkus - quarkus-extension-maven-plugin - - - compile - - extension-descriptor - - - ${project.groupId}:${project.artifactId}-deployment:${project.version} - - io.quarkus:quarkus-jdbc-derby - - - - - - - maven-compiler-plugin - - - default-compile - - - - io.quarkus - quarkus-extension-processor - ${project.version} - - - - - - - - - - - diff --git a/extensions/hibernate-orm-derby/runtime/src/main/resources/META-INF/quarkus-extension.yaml b/extensions/hibernate-orm-derby/runtime/src/main/resources/META-INF/quarkus-extension.yaml deleted file mode 100644 index 0ae1a6c04092e..0000000000000 --- a/extensions/hibernate-orm-derby/runtime/src/main/resources/META-INF/quarkus-extension.yaml +++ /dev/null @@ -1,6 +0,0 @@ -name: Quarkus Hibernate ORM Derby -artifact: ${project.groupId}:${project.artifactId}:${project.version} -description: Conditional extension added when Hibernate ORM and the Derby JDBC driver are present -metadata: - unlisted: true - diff --git a/extensions/hibernate-orm/deployment/pom.xml b/extensions/hibernate-orm/deployment/pom.xml index da7cd31bf9fe1..17eb1dc3d4b53 100644 --- a/extensions/hibernate-orm/deployment/pom.xml +++ b/extensions/hibernate-orm/deployment/pom.xml @@ -61,11 +61,6 @@ io.quarkus quarkus-hibernate-validator-spi - - io.quarkus - quarkus-hibernate-orm-derby-deployment - true - io.quarkus diff --git a/extensions/hibernate-orm/runtime/pom.xml b/extensions/hibernate-orm/runtime/pom.xml index d07c52503417a..c7344c3b9cdf8 100644 --- a/extensions/hibernate-orm/runtime/pom.xml +++ b/extensions/hibernate-orm/runtime/pom.xml @@ -127,11 +127,6 @@ quarkus-jaxb true - - io.quarkus - quarkus-hibernate-orm-derby - true - diff --git a/extensions/jdbc/jdbc-derby/deployment/pom.xml b/extensions/jdbc/jdbc-derby/deployment/pom.xml deleted file mode 100644 index ea9d585fc756d..0000000000000 --- a/extensions/jdbc/jdbc-derby/deployment/pom.xml +++ /dev/null @@ -1,107 +0,0 @@ - - - - quarkus-jdbc-derby-parent - io.quarkus - 999-SNAPSHOT - - 4.0.0 - - quarkus-jdbc-derby-deployment - Quarkus - JDBC - Derby - Deployment - - - - io.quarkus - quarkus-datasource-deployment-spi - - - io.quarkus - quarkus-arc-deployment - - - io.quarkus - quarkus-agroal-spi - - - io.quarkus - quarkus-jdbc-derby - - - io.quarkus - quarkus-flyway-derby-deployment - true - - - io.quarkus - quarkus-devservices-derby - - - io.quarkus - quarkus-agroal-deployment - - - io.quarkus - quarkus-junit5-internal - test - - - org.assertj - assertj-core - test - - - - - - - maven-compiler-plugin - - - default-compile - - - - io.quarkus - quarkus-extension-processor - ${project.version} - - - - - - - - org.apache.maven.plugins - maven-surefire-plugin - - true - - - - - - - - test-devservices - - - test-containers - - - - - - org.apache.maven.plugins - maven-surefire-plugin - - false - - - - - - - diff --git a/extensions/jdbc/jdbc-derby/deployment/src/main/java/io/quarkus/jdbc/derby/deployment/JDBCDerbyProcessor.java b/extensions/jdbc/jdbc-derby/deployment/src/main/java/io/quarkus/jdbc/derby/deployment/JDBCDerbyProcessor.java deleted file mode 100644 index 77903fe9a1796..0000000000000 --- a/extensions/jdbc/jdbc-derby/deployment/src/main/java/io/quarkus/jdbc/derby/deployment/JDBCDerbyProcessor.java +++ /dev/null @@ -1,66 +0,0 @@ -package io.quarkus.jdbc.derby.deployment; - -import io.quarkus.agroal.spi.JdbcDriverBuildItem; -import io.quarkus.arc.deployment.AdditionalBeanBuildItem; -import io.quarkus.arc.processor.BuiltinScope; -import io.quarkus.datasource.common.runtime.DatabaseKind; -import io.quarkus.datasource.deployment.spi.DefaultDataSourceDbKindBuildItem; -import io.quarkus.datasource.deployment.spi.DevServicesDatasourceConfigurationHandlerBuildItem; -import io.quarkus.deployment.Capabilities; -import io.quarkus.deployment.Capability; -import io.quarkus.deployment.Feature; -import io.quarkus.deployment.annotations.BuildProducer; -import io.quarkus.deployment.annotations.BuildStep; -import io.quarkus.deployment.builditem.FeatureBuildItem; -import io.quarkus.deployment.builditem.SslNativeConfigBuildItem; -import io.quarkus.deployment.builditem.nativeimage.NativeImageResourceBundleBuildItem; -import io.quarkus.deployment.builditem.nativeimage.ReflectiveClassBuildItem; -import io.quarkus.jdbc.derby.runtime.DerbyAgroalConnectionConfigurer; - -public class JDBCDerbyProcessor { - - @BuildStep - FeatureBuildItem feature() { - return new FeatureBuildItem(Feature.JDBC_DERBY); - } - - @BuildStep - void registerDriver(BuildProducer jdbcDriver, - SslNativeConfigBuildItem sslNativeConfigBuildItem) { - jdbcDriver.produce(new JdbcDriverBuildItem(DatabaseKind.DERBY, "org.apache.derby.jdbc.ClientDriver", - "org.apache.derby.jdbc.ClientXADataSource")); - } - - @BuildStep - DevServicesDatasourceConfigurationHandlerBuildItem devDbHandler() { - return DevServicesDatasourceConfigurationHandlerBuildItem.jdbc(DatabaseKind.DERBY); - } - - @BuildStep - void configureAgroalConnection(BuildProducer additionalBeans, - Capabilities capabilities) { - if (capabilities.isPresent(Capability.AGROAL)) { - additionalBeans.produce(new AdditionalBeanBuildItem.Builder().addBeanClass(DerbyAgroalConnectionConfigurer.class) - .setDefaultScope(BuiltinScope.APPLICATION.getName()) - .setUnremovable() - .build()); - } - } - - @BuildStep - void registerDriverForReflection(BuildProducer reflectiveClass, - BuildProducer nativeImageResourceBundles) { - //Not strictly necessary when using Agroal, as it also registers - //any JDBC driver being configured explicitly through its configuration. - //We register it for the sake of people not using Agroal. - reflectiveClass.produce(ReflectiveClassBuildItem.builder(org.apache.derby.jdbc.ClientDriver.class.getName()) - .build()); - - nativeImageResourceBundles.produce(new NativeImageResourceBundleBuildItem("org/apache/derby/loc/clientmessages")); - } - - @BuildStep - void registerDefaultDbType(BuildProducer dbKind) { - dbKind.produce(new DefaultDataSourceDbKindBuildItem(DatabaseKind.DERBY)); - } -} diff --git a/extensions/jdbc/jdbc-derby/deployment/src/test/java/io/quarkus/jdbc/derby/deployment/DevServicesDerbyDatasourceTestCase.java b/extensions/jdbc/jdbc-derby/deployment/src/test/java/io/quarkus/jdbc/derby/deployment/DevServicesDerbyDatasourceTestCase.java deleted file mode 100644 index fb7bf3cba779e..0000000000000 --- a/extensions/jdbc/jdbc-derby/deployment/src/test/java/io/quarkus/jdbc/derby/deployment/DevServicesDerbyDatasourceTestCase.java +++ /dev/null @@ -1,57 +0,0 @@ -package io.quarkus.jdbc.derby.deployment; - -import static org.assertj.core.api.Assertions.assertThat; -import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.assertTrue; -import static org.junit.jupiter.api.Assertions.fail; - -import java.sql.Connection; -import java.util.logging.Level; -import java.util.logging.LogRecord; - -import jakarta.inject.Inject; - -import org.junit.jupiter.api.Test; -import org.junit.jupiter.api.extension.RegisterExtension; - -import io.agroal.api.AgroalDataSource; -import io.agroal.api.configuration.AgroalConnectionPoolConfiguration; -import io.agroal.api.configuration.AgroalConnectionPoolConfiguration.ExceptionSorter; -import io.quarkus.test.QuarkusUnitTest; - -public class DevServicesDerbyDatasourceTestCase { - - @RegisterExtension - static QuarkusUnitTest test = new QuarkusUnitTest() - .withEmptyApplication() - // Expect no warnings (in particular from Agroal) - .setLogRecordPredicate(record -> record.getLevel().intValue() >= Level.WARNING.intValue() - // There are other warnings: JDK8, TestContainers, drivers, ... - // Ignore them: we're only interested in Agroal here. - && record.getMessage().contains("Agroal")) - .assertLogRecords(records -> assertThat(records) - // This is just to get meaningful error messages, as LogRecord doesn't have a toString() - .extracting(LogRecord::getMessage) - .isEmpty());; - - @Inject - AgroalDataSource dataSource; - - @Test - public void testDatasource() throws Exception { - AgroalConnectionPoolConfiguration configuration = null; - - try { - configuration = dataSource.getConfiguration().connectionPoolConfiguration(); - } catch (NullPointerException e) { - // we catch the NPE here as we have a proxycd and we can't test dataSource directly - fail("Datasource should not be null"); - } - assertTrue(configuration.connectionFactoryConfiguration().jdbcUrl().contains("jdbc:derby:")); - assertEquals(20, configuration.maxSize()); - assertThat(configuration.exceptionSorter()).isInstanceOf(ExceptionSorter.emptyExceptionSorter().getClass()); - - try (Connection connection = dataSource.getConnection()) { - } - } -} diff --git a/extensions/jdbc/jdbc-derby/pom.xml b/extensions/jdbc/jdbc-derby/pom.xml deleted file mode 100644 index 946212a7a3be7..0000000000000 --- a/extensions/jdbc/jdbc-derby/pom.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - quarkus-jdbc-parent - io.quarkus - 999-SNAPSHOT - - 4.0.0 - - quarkus-jdbc-derby-parent - Quarkus - JDBC - Derby - pom - - deployment - runtime - - - diff --git a/extensions/jdbc/jdbc-derby/runtime/pom.xml b/extensions/jdbc/jdbc-derby/runtime/pom.xml deleted file mode 100644 index 96f410f41bd02..0000000000000 --- a/extensions/jdbc/jdbc-derby/runtime/pom.xml +++ /dev/null @@ -1,77 +0,0 @@ - - - - quarkus-jdbc-derby-parent - io.quarkus - 999-SNAPSHOT - - 4.0.0 - - quarkus-jdbc-derby - Quarkus - JDBC - Derby - Runtime - Connect to the Derby database via JDBC - - - io.quarkus - quarkus-arc - - - io.quarkus - quarkus-agroal - - - org.apache.derby - derbyclient - - - io.quarkus - quarkus-flyway-derby - true - - - - org.apache.derby - derbytools - - - - - - - io.quarkus - quarkus-extension-maven-plugin - - - org.apache.derby:derbyclient - - org.apache.derby:derby - org.apache.derby:derbynet - org.apache.derby:derbytools - - - - - maven-compiler-plugin - - - default-compile - - - - io.quarkus - quarkus-extension-processor - ${project.version} - - - - - - - - - - diff --git a/extensions/jdbc/jdbc-derby/runtime/src/main/java/io/quarkus/jdbc/derby/runtime/DerbyAgroalConnectionConfigurer.java b/extensions/jdbc/jdbc-derby/runtime/src/main/java/io/quarkus/jdbc/derby/runtime/DerbyAgroalConnectionConfigurer.java deleted file mode 100644 index 30a92fa9c1480..0000000000000 --- a/extensions/jdbc/jdbc-derby/runtime/src/main/java/io/quarkus/jdbc/derby/runtime/DerbyAgroalConnectionConfigurer.java +++ /dev/null @@ -1,17 +0,0 @@ -package io.quarkus.jdbc.derby.runtime; - -import io.agroal.api.configuration.supplier.AgroalDataSourceConfigurationSupplier; -import io.quarkus.agroal.runtime.AgroalConnectionConfigurer; -import io.quarkus.agroal.runtime.JdbcDriver; -import io.quarkus.datasource.common.runtime.DatabaseKind; - -@JdbcDriver(DatabaseKind.DERBY) -public class DerbyAgroalConnectionConfigurer implements AgroalConnectionConfigurer { - - @Override - public void setExceptionSorter(String databaseKind, AgroalDataSourceConfigurationSupplier dataSourceConfiguration) { - // Do not log a warning: we don't have an exception sorter for Derby, - // but there is nothing the user can do about it. - } - -} diff --git a/extensions/jdbc/jdbc-derby/runtime/src/main/resources/META-INF/quarkus-extension.yaml b/extensions/jdbc/jdbc-derby/runtime/src/main/resources/META-INF/quarkus-extension.yaml deleted file mode 100644 index 42f73595a33b4..0000000000000 --- a/extensions/jdbc/jdbc-derby/runtime/src/main/resources/META-INF/quarkus-extension.yaml +++ /dev/null @@ -1,12 +0,0 @@ ---- -artifact: ${project.groupId}:${project.artifactId}:${project.version} -name: "JDBC Driver - Derby" -metadata: - keywords: - - "jdbc-derby" - - "jdbc" - - "derby" - guide: "https://quarkus.io/guides/datasource" - categories: - - "data" - status: "stable" \ No newline at end of file diff --git a/extensions/jdbc/pom.xml b/extensions/jdbc/pom.xml index d6b59a169d7a1..0f85bd87d8228 100644 --- a/extensions/jdbc/pom.xml +++ b/extensions/jdbc/pom.xml @@ -16,7 +16,6 @@ jdbc-postgresql jdbc-db2 - jdbc-derby jdbc-h2 jdbc-mariadb jdbc-mssql diff --git a/extensions/pom.xml b/extensions/pom.xml index 81883feb794da..e60257421be29 100644 --- a/extensions/pom.xml +++ b/extensions/pom.xml @@ -97,7 +97,6 @@ agroal jdbc hibernate-orm - hibernate-orm-derby hibernate-envers hibernate-reactive hibernate-validator @@ -201,7 +200,6 @@ flyway-oracle flyway-mysql flyway-mssql - flyway-derby flyway-db2 liquibase diff --git a/integration-tests/jpa-derby/pom.xml b/integration-tests/jpa-derby/pom.xml deleted file mode 100644 index 65c1220c177ac..0000000000000 --- a/integration-tests/jpa-derby/pom.xml +++ /dev/null @@ -1,124 +0,0 @@ - - - - quarkus-integration-tests-parent - io.quarkus - 999-SNAPSHOT - - 4.0.0 - - quarkus-integration-test-jpa-derby - Quarkus - Integration Tests - JPA - Derby - Module that contains JPA related tests running with the Derby database - - - - io.quarkus - quarkus-hibernate-orm - - - - io.quarkus - quarkus-jdbc-derby - - - - io.quarkus - quarkus-rest - - - - - io.quarkus - quarkus-test-derby - test - - - io.quarkus - quarkus-junit5 - test - - - io.quarkus - quarkus-junit5-internal - test - - - io.rest-assured - rest-assured - test - - - org.assertj - assertj-core - test - - - - - io.quarkus - quarkus-hibernate-orm-deployment - ${project.version} - pom - test - - - * - * - - - - - io.quarkus - quarkus-jdbc-derby-deployment - ${project.version} - pom - test - - - * - * - - - - - io.quarkus - quarkus-rest-deployment - ${project.version} - pom - test - - - * - * - - - - - - - - - src/main/resources - true - - - - - io.quarkus - quarkus-maven-plugin - - - - build - - - - - - - - - diff --git a/integration-tests/jpa-derby/src/main/java/io/quarkus/it/jpa/derby/JPAFunctionalityTestEndpoint.java b/integration-tests/jpa-derby/src/main/java/io/quarkus/it/jpa/derby/JPAFunctionalityTestEndpoint.java deleted file mode 100644 index e996e51eb641b..0000000000000 --- a/integration-tests/jpa-derby/src/main/java/io/quarkus/it/jpa/derby/JPAFunctionalityTestEndpoint.java +++ /dev/null @@ -1,101 +0,0 @@ -package io.quarkus.it.jpa.derby; - -import java.util.List; -import java.util.UUID; - -import jakarta.inject.Inject; -import jakarta.persistence.EntityManager; -import jakarta.persistence.TypedQuery; -import jakarta.persistence.criteria.CriteriaBuilder; -import jakarta.persistence.criteria.CriteriaQuery; -import jakarta.persistence.criteria.Root; -import jakarta.ws.rs.GET; -import jakarta.ws.rs.Path; -import jakarta.ws.rs.Produces; -import jakarta.ws.rs.core.MediaType; - -import io.quarkus.narayana.jta.QuarkusTransaction; - -/** - * Basic test running JPA with the Derby database. - * The application can work in either standard JVM or in native mode, while we run Derby as a separate JVM process. - */ -@Path("/jpa-derby/testfunctionality") -@Produces(MediaType.TEXT_PLAIN) -public class JPAFunctionalityTestEndpoint { - - @Inject - EntityManager em; - - @GET - public String test() { - cleanUpData(); - - //Store some well known Person instances we can then test on: - QuarkusTransaction.requiringNew().run(() -> { - persistNewPerson("Gizmo"); - persistNewPerson("Quarkus"); - persistNewPerson("Hibernate ORM"); - }); - - //Load all persons and run some checks on the query results: - QuarkusTransaction.requiringNew().run(() -> { - CriteriaBuilder cb = em.getCriteriaBuilder(); - - CriteriaQuery cq = cb.createQuery(Person.class); - Root from = cq.from(Person.class); - cq.select(from).orderBy(cb.asc(from.get("name"))); - TypedQuery q = em.createQuery(cq); - List allpersons = q.getResultList(); - if (allpersons.size() != 3) { - throw new RuntimeException("Incorrect number of results"); - } - if (!allpersons.get(0).getName().equals("Gizmo")) { - throw new RuntimeException("Incorrect order of results"); - } - StringBuilder sb = new StringBuilder("list of stored Person names:\n\t"); - for (Person p : allpersons) { - p.describeFully(sb); - } - sb.append("\nList complete.\n"); - System.out.print(sb); - }); - - //Try a JPA named query: - QuarkusTransaction.requiringNew().run(() -> { - TypedQuery typedQuery = em.createNamedQuery( - "get_person_by_name", Person.class); - typedQuery.setParameter("name", "Quarkus"); - final Person singleResult = typedQuery.getSingleResult(); - - if (!singleResult.getName().equals("Quarkus")) { - throw new RuntimeException("Wrong result from named JPA query"); - } - }); - - //Check that HQL fetch does not fail - QuarkusTransaction.requiringNew() - .run(() -> em.createQuery("from Person p left join fetch p.address a").getResultList()); - - cleanUpData(); - - return "OK"; - } - - private void cleanUpData() { - QuarkusTransaction.requiringNew() - .run(() -> em.createNativeQuery("Delete from Person").executeUpdate()); - } - - private void persistNewPerson(String name) { - Person person = new Person(); - person.setName(name); - person.setAddress(new SequencedAddress("Street " + randomName())); - em.persist(person); - } - - private static String randomName() { - return UUID.randomUUID().toString(); - } - -} diff --git a/integration-tests/jpa-derby/src/main/java/io/quarkus/it/jpa/derby/Person.java b/integration-tests/jpa-derby/src/main/java/io/quarkus/it/jpa/derby/Person.java deleted file mode 100644 index 89b009ddee04b..0000000000000 --- a/integration-tests/jpa-derby/src/main/java/io/quarkus/it/jpa/derby/Person.java +++ /dev/null @@ -1,65 +0,0 @@ -package io.quarkus.it.jpa.derby; - -import java.util.UUID; - -import jakarta.persistence.CascadeType; -import jakarta.persistence.Entity; -import jakarta.persistence.FetchType; -import jakarta.persistence.GeneratedValue; -import jakarta.persistence.Id; -import jakarta.persistence.ManyToOne; -import jakarta.persistence.NamedQuery; - -import org.hibernate.annotations.GenericGenerator; - -@Entity -@NamedQuery(name = "get_person_by_name", query = "select p from Person p where name = :name") -public class Person { - - private UUID id; - private String name; - private SequencedAddress address; - - public Person() { - } - - public Person(UUID id, String name, SequencedAddress address) { - this.id = id; - this.name = name; - this.address = address; - } - - @Id - @GeneratedValue(generator = "UUID") - @GenericGenerator(name = "UUID", strategy = "org.hibernate.id.UUIDGenerator") - public UUID getId() { - return id; - } - - public void setId(UUID id) { - this.id = id; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - @ManyToOne(cascade = CascadeType.ALL, fetch = FetchType.LAZY) - public SequencedAddress getAddress() { - return address; - } - - public void setAddress(SequencedAddress address) { - this.address = address; - } - - public void describeFully(StringBuilder sb) { - sb.append("Person with id=").append(id).append(", name='").append(name).append("', address { "); - getAddress().describeFully(sb); - sb.append(" }"); - } -} diff --git a/integration-tests/jpa-derby/src/main/java/io/quarkus/it/jpa/derby/SequencedAddress.java b/integration-tests/jpa-derby/src/main/java/io/quarkus/it/jpa/derby/SequencedAddress.java deleted file mode 100644 index 739fffd256b69..0000000000000 --- a/integration-tests/jpa-derby/src/main/java/io/quarkus/it/jpa/derby/SequencedAddress.java +++ /dev/null @@ -1,42 +0,0 @@ -package io.quarkus.it.jpa.derby; - -import jakarta.persistence.Entity; -import jakarta.persistence.GeneratedValue; -import jakarta.persistence.GenerationType; -import jakarta.persistence.Id; - -@Entity -public class SequencedAddress { - - private long id; - private String street; - - public SequencedAddress() { - } - - public SequencedAddress(String street) { - this.street = street; - } - - @Id - @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "addressSeq") - public long getId() { - return id; - } - - public void setId(long id) { - this.id = id; - } - - public String getStreet() { - return street; - } - - public void setStreet(String name) { - this.street = name; - } - - public void describeFully(StringBuilder sb) { - sb.append("Address with id=").append(id).append(", street='").append(street).append("'"); - } -} diff --git a/integration-tests/jpa-derby/src/main/resources/application.properties b/integration-tests/jpa-derby/src/main/resources/application.properties deleted file mode 100644 index 7726a4c797e19..0000000000000 --- a/integration-tests/jpa-derby/src/main/resources/application.properties +++ /dev/null @@ -1,4 +0,0 @@ -quarkus.datasource.db-kind=derby -quarkus.datasource.jdbc.url=jdbc:derby://localhost:1527/memory:testDB;create=true -quarkus.datasource.jdbc.max-size=8 -quarkus.hibernate-orm.schema-management.strategy=drop-and-create diff --git a/integration-tests/jpa-derby/src/test/java/io/quarkus/it/jpa/derby/HibernateOrmNoWarningsTest.java b/integration-tests/jpa-derby/src/test/java/io/quarkus/it/jpa/derby/HibernateOrmNoWarningsTest.java deleted file mode 100644 index 4d61663dd21ee..0000000000000 --- a/integration-tests/jpa-derby/src/test/java/io/quarkus/it/jpa/derby/HibernateOrmNoWarningsTest.java +++ /dev/null @@ -1,39 +0,0 @@ -package io.quarkus.it.jpa.derby; - -import static org.assertj.core.api.Assertions.assertThat; - -import org.junit.jupiter.api.Test; - -import io.quarkus.test.LogCollectingTestResource; -import io.quarkus.test.common.QuarkusTestResource; -import io.quarkus.test.common.ResourceArg; -import io.quarkus.test.junit.QuarkusTest; - -/** - * Tests that Hibernate ORM does not log any warning on startup with this particular database. - *

- * In particular, this checks that there are no warnings related to the use of a deprecated dialect - * or a database version that is not supported by the dialect. - *

- * Note LogCollectingTestResource cannot be used in native mode, - * hence the lack of a corresponding native mode test. - */ -@QuarkusTest -@QuarkusTestResource(value = LogCollectingTestResource.class, restrictToAnnotatedClass = true, initArgs = { - @ResourceArg(name = LogCollectingTestResource.LEVEL, value = "WARNING"), - @ResourceArg(name = LogCollectingTestResource.INCLUDE, value = "org\\.hibernate\\..*"), - // Ignore logs about schema management: - // they are unfortunate (https://github.com/quarkusio/quarkus/issues/16204) - // but for now we have to live with them. - @ResourceArg(name = LogCollectingTestResource.EXCLUDE, value = "org\\.hibernate\\.tool\\.schema.*") -}) -public class HibernateOrmNoWarningsTest { - @Test - public void testNoWarningsOnStartup() { - assertThat(LogCollectingTestResource.current().getRecords()) - // There shouldn't be any warning or error - .as("Startup logs (warning or higher)") - .extracting(LogCollectingTestResource::format) - .isEmpty(); - } -} diff --git a/integration-tests/jpa-derby/src/test/java/io/quarkus/it/jpa/derby/JPAFunctionalityInGraalITCase.java b/integration-tests/jpa-derby/src/test/java/io/quarkus/it/jpa/derby/JPAFunctionalityInGraalITCase.java deleted file mode 100644 index cb8091e2fd275..0000000000000 --- a/integration-tests/jpa-derby/src/test/java/io/quarkus/it/jpa/derby/JPAFunctionalityInGraalITCase.java +++ /dev/null @@ -1,11 +0,0 @@ -package io.quarkus.it.jpa.derby; - -import io.quarkus.test.junit.QuarkusIntegrationTest; - -/** - * Test various JPA operations running in native mode - */ -@QuarkusIntegrationTest -public class JPAFunctionalityInGraalITCase extends JPAFunctionalityTest { - -} diff --git a/integration-tests/jpa-derby/src/test/java/io/quarkus/it/jpa/derby/JPAFunctionalityTest.java b/integration-tests/jpa-derby/src/test/java/io/quarkus/it/jpa/derby/JPAFunctionalityTest.java deleted file mode 100644 index 1feb4ce16be93..0000000000000 --- a/integration-tests/jpa-derby/src/test/java/io/quarkus/it/jpa/derby/JPAFunctionalityTest.java +++ /dev/null @@ -1,21 +0,0 @@ -package io.quarkus.it.jpa.derby; - -import static org.hamcrest.Matchers.is; - -import org.junit.jupiter.api.Test; - -import io.quarkus.test.junit.QuarkusTest; -import io.restassured.RestAssured; - -/** - * Test connecting Hibernate ORM to Derby. - */ -@QuarkusTest -public class JPAFunctionalityTest { - - @Test - public void testJPAFunctionalityFromServlet() throws Exception { - RestAssured.when().get("/jpa-derby/testfunctionality").then().body(is("OK")); - } - -} diff --git a/integration-tests/jpa-derby/src/test/java/io/quarkus/it/jpa/derby/TestResources.java b/integration-tests/jpa-derby/src/test/java/io/quarkus/it/jpa/derby/TestResources.java deleted file mode 100644 index dc9ff6d8de8fe..0000000000000 --- a/integration-tests/jpa-derby/src/test/java/io/quarkus/it/jpa/derby/TestResources.java +++ /dev/null @@ -1,8 +0,0 @@ -package io.quarkus.it.jpa.derby; - -import io.quarkus.test.common.QuarkusTestResource; -import io.quarkus.test.derby.DerbyDatabaseTestResource; - -@QuarkusTestResource(DerbyDatabaseTestResource.class) -public class TestResources { -} diff --git a/integration-tests/pom.xml b/integration-tests/pom.xml index dbf3eaeefc8d2..6e1920f2f8b0a 100644 --- a/integration-tests/pom.xml +++ b/integration-tests/pom.xml @@ -193,7 +193,6 @@ jpa jpa-mapping-xml jpa-db2 - jpa-derby jpa-postgresql jpa-postgresql-withxml jpa-mariadb diff --git a/test-framework/derby/pom.xml b/test-framework/derby/pom.xml deleted file mode 100644 index 566cfbdb19f8d..0000000000000 --- a/test-framework/derby/pom.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - 4.0.0 - - - io.quarkus - quarkus-test-framework - 999-SNAPSHOT - - - quarkus-test-derby - Quarkus - Test Framework - Derby Database Support - - - io.quarkus - quarkus-test-common - - - org.apache.derby - derbynet - - - org.apache.derby - derbytools - - - - diff --git a/test-framework/derby/src/main/java/io/quarkus/test/derby/DerbyDatabaseTestResource.java b/test-framework/derby/src/main/java/io/quarkus/test/derby/DerbyDatabaseTestResource.java deleted file mode 100644 index a522625a29183..0000000000000 --- a/test-framework/derby/src/main/java/io/quarkus/test/derby/DerbyDatabaseTestResource.java +++ /dev/null @@ -1,55 +0,0 @@ -package io.quarkus.test.derby; - -import java.io.PrintWriter; -import java.util.Collections; -import java.util.Map; - -import org.apache.derby.drda.NetworkServerControl; - -import io.quarkus.test.common.QuarkusTestResourceLifecycleManager; - -public class DerbyDatabaseTestResource implements QuarkusTestResourceLifecycleManager { - - static final int NUMBER_OF_PINGS = 10; - static final int SLEEP_BETWEEN_PINGS = 500; - - @Override - public Map start() { - try { - NetworkServerControl server = new NetworkServerControl(); - server.start(new PrintWriter(System.out)); - for (int i = 1; i <= NUMBER_OF_PINGS; i++) { - try { - System.out.println("[INFO] Attempt " + i + " to see if Derby Network server started"); - server.ping(); - break; - } catch (Exception ex) { - if (i == NUMBER_OF_PINGS) { - System.out.println("Derby Network server failed to start"); - ex.printStackTrace(); - throw ex; - } - try { - Thread.sleep(SLEEP_BETWEEN_PINGS); - } catch (InterruptedException ignore) { - } - } - } - System.out.println("[INFO] Derby database started in TCP server mode"); - } catch (Exception e) { - throw new RuntimeException(e); - } - return Collections.emptyMap(); - } - - @Override - public void stop() { - try { - NetworkServerControl server = new NetworkServerControl(); - server.shutdown(); - System.out.println("[INFO] Derby database was shut down"); - } catch (Exception e) { - throw new RuntimeException(e); - } - } -} diff --git a/test-framework/pom.xml b/test-framework/pom.xml index 15092a6c30d42..567cff9cfd3a6 100644 --- a/test-framework/pom.xml +++ b/test-framework/pom.xml @@ -18,7 +18,6 @@ common h2 grpc - derby kubernetes-client junit5-config junit5-internal