activemq-artemis/tests/db-tests
Clebert Suconic 5a1c9bf3d1 [maven-release-plugin] prepare release 2.31.1 2023-10-25 14:45:41 -04:00
..
jdbc-drivers/oracle NO-JIRA removing library added by mistake 2023-09-15 12:41:20 -04:00
scripts ARTEMIS-4401 improving JDBC Performance with Paging by a significant factor 2023-09-12 08:34:09 -04:00
src/test/java/org/apache/activemq/artemis/tests/db ARTEMIS-4401 improving JDBC Performance with Paging by a significant factor 2023-09-12 08:34:09 -04:00
README.md ARTEMIS-4401 improving JDBC Performance with Paging by a significant factor 2023-09-12 08:34:09 -04:00
pom.xml [maven-release-plugin] prepare release 2.31.1 2023-10-25 14:45:41 -04:00

README.md

Database Tests

This module runs tests against selected Databases.

There is one profile for each supported Database:

  • DB-derby-tests
  • DB-postgres-tests
  • DB-mysql-tests
  • DB-mssql-tests
  • DB-db2-tests
  • DB-oracle-tests

To enable the testsuite to run against any of these databases, simply enable the corresponding profiles.

Providing Databases

When enabling a Database profile, you must download and provide the running database for that profile. You can also configure the JDBC URI.

You can refer to the examples provided under ./scripts. Please note that you are responsible for complying with the licensing requirements of each database you provide.

Configuring the JDBC URI

You can pass the JDBC URI as a parameter using the following supported parameters:

  • derby.uri
  • postgres.uri
  • mysql.uri
  • mssql.uri
  • oracle.uri
  • db2.uri

Example:

mvn -Pdb2.uri='jdbc:db2://MyDB2Server:50000/artemis:user=db2inst1;password=artemis;'

#Security Authorization Tests on this module will perform several drop table and create table operations. So the user used to connecto these databases must have such security grants. Also It is recommended to the database schema allocated exclusively to this testsuite.

Servers

One Artemis server is created for each supported database. After building, they will be available under ./target/${DATABASE}:

  • ./target/derby
  • ./target/postgres
  • ./target/mysql
  • ./target/mssql
  • ./target/db2

Some of the tests on this module are connecting to the database directly, and these tests will use the JDBC jar directly from the lib folder from each of these servers.

Oracle JDBC Driver

All the JDBC drivers using in this module are available as maven central repository and are being downloaded by the artemis-maven-plugin during the compilation phase of the tests.

The exception to this rule is Oracle database, for which you must provide the JAR under this location:

  • jdbc-drivers/oracle