failover-store-jdbc
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency>
<groupId>com.societegenerale.failover</groupId>
<artifactId>failover-store-jdbc</artifactId>
<version>3.0.0</version>
</dependency><?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<artifactId>failover-store-jdbc</artifactId>
<packaging>jar</packaging>
<name>failover-store-jdbc</name>
<description>JDBC failover store for H2, PostgreSQL, MySQL, MariaDB and Oracle</description>
<parent>
<artifactId>failover</artifactId>
<groupId>com.societegenerale.failover</groupId>
<version>3.0.0</version>
</parent>
<properties>
<automatic.module.name>com.societegenerale.failover.store.jdbc</automatic.module.name>
</properties>
<dependencies>
<dependency>
<groupId>com.societegenerale.failover</groupId>
<artifactId>failover-core</artifactId>
<version>${project.parent.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
</dependency>
<dependency>
<groupId>tools.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<scope>test</scope>
</dependency>
<!--
Dialect integration tests (*DialectIT) against real databases via Testcontainers.
Versions are managed by spring-boot-dependencies. These are test-scoped and only
compiled/executed in test; the ITs themselves run only under the 'dialect-its' profile
(they are excluded from the default failsafe run in the parent POM).
-->
<dependency>
<groupId>org.testcontainers</groupId>
<artifactId>testcontainers</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.testcontainers</groupId>
<artifactId>junit-jupiter</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.testcontainers</groupId>
<artifactId>postgresql</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.testcontainers</groupId>
<artifactId>mysql</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.testcontainers</groupId>
<artifactId>mariadb</artifactId>
<scope>test</scope>
</dependency>
<!--
JDBC drivers are NOT compile or runtime dependencies of this module —
the application that uses failover-store-jdbc provides its own driver.
Listed here as optional so the dialect ITs can reference them;
they do NOT propagate to consumers.
-->
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<scope>test</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>com.mysql</groupId>
<artifactId>mysql-connector-j</artifactId>
<scope>test</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.mariadb.jdbc</groupId>
<artifactId>mariadb-java-client</artifactId>
<scope>test</scope>
<optional>true</optional>
</dependency>
<!--
commons-codec is required at runtime by the MySQL and MariaDB JDBC drivers' auth
initialization path. Spring Boot BOM manages the version; no explicit version needed.
-->
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<profiles>
<!--
Activates the dialect integration tests (*DialectIT) which spin up real
PostgreSQL / MySQL / MariaDB containers via Testcontainers. Requires Docker.
Run: mvn -pl failover-store-jdbc -am -Pdialect-its verify
-->
<profile>
<id>dialect-its</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<configuration>
<!--
Re-include the dialect ITs excluded by the parent POM's default config.
combine.self="override" replaces the inherited <excludes> (which lists
**/*DialectIT.java) instead of merging with it — otherwise the ITs would
stay excluded and this profile would run nothing.
-->
<excludes combine.self="override">
<exclude>none</exclude>
</excludes>
<includes>
<include>**/*DialectIT.java</include>
</includes>
</configuration>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>