[!NOTE] 📊 We want to hear from you — community survey is open
Help us get to know who's using the AWS Advanced JDBC Wrapper. The survey is a single GitHub Discussion with one question per comment. You answer by reacting with emojis — pick all that apply, multi-select is supported.
- Takes about 3–5 minutes
- Covers usage, deployment topology, plugins, frameworks, and your experience
- Every reaction is visible to the community; total participants are counted from a single 👍 on the participation comment
The Amazon Web Services (AWS) JDBC Driver has been redesigned as an advanced JDBC wrapper.
The wrapper is complementary to an existing JDBC driver and aims to extend the functionality of the driver to enable applications to take full advantage of the features of clustered databases such as Amazon Aurora. In other words, the AWS Advanced JDBC Wrapper does not connect directly to any database, but enables support of AWS and Aurora functionalities on top of an underlying JDBC driver of the user's choice. This approach enables service-specific enhancements, without requiring users to change their workflow and existing JDBC driver tooling.
The AWS Advanced JDBC Wrapper is targeted to work with any existing JDBC driver. Currently, the AWS Advanced JDBC Wrapper has been validated to support the PostgreSQL JDBC Driver, MySQL JDBC Driver, and MariaDB JDBC Driver.
The AWS Advanced JDBC Wrapper provides modular functionality through feature plugins, with each plugin being relevant to specific database services based on their architecture and capabilities. For example, AWS Identity and Access Management (IAM) authentication is supported across multiple services, while AWS Secrets Manager applies to services that support password-based authentication. The fast failover plugin provides reduced recovery time during failover for Aurora PostgreSQL and Aurora MySQL clusters.
Built-in support for AWS Identity and Access Management (IAM) authentication eliminates the need to manage database passwords, while AWS Secrets Manager integration provides secure credential management for services that require password-based authentication.
The driver includes Remote Query Cache Plugin that stores cacheable read-only query results in a remote Valkey cache along with support for plain username/password authentication and IAM authentication with AWS ElastiCache. Applications can opt‑in per query using a SQL query hint that specifies a time‑to‑live (TTL).
The wrapper design allows developers to continue using their preferred JDBC drivers and existing database code while gaining service-specific enhancements. No application rewrites are required.
The plugin-based design ensures applications only load the functionality they need, reducing dependencies and overhead.
For Aurora PostgreSQL, Aurora MySQL, and RDS Multi-AZ DB clusters, the driver significantly reduces connection recovery time during database failovers. By maintaining a real-time cache of cluster topology and bypassing DNS resolution delays, applications can reconnect to healthy database instances in seconds rather than minutes.
The driver includes Enhanced Failure Monitoring (EFM) that proactively monitors database node health, detecting failures faster than traditional timeout-based approaches. This allows applications to respond to issues before they impact end users.
The AWS Advanced JDBC Wrapper provides fast failover capabilities for Aurora PostgreSQL and Aurora MySQL clusters, significantly reducing connection recovery time during database failovers.
Visit Using Failover 2 for more details.
The AWS RDS Multi-AZ DB Clusters are capable of switching over the current writer node to another node in the cluster within approximately 1 second or less, in case of minor engine version upgrade or OS maintenance operations. The AWS Advanced JDBC Wrapper has been optimized for such fast failover when working with AWS RDS Multi-AZ DB Clusters.
With the failover plugin, the downtime during certain DB cluster operations, such as engine minor version upgrades, can be reduced to one second or even less with finely tuned parameters. It supports both MySQL and PostgreSQL clusters.
Visit Support for RDS MultiAZ for more details.
As of version 3.0.0, the driver supports in-region failover and
cross-region planned failover and switchover of Amazon Aurora Global Databases.
A Global Writer Endpoint
is also recognized and can be handled to minimize potential stale DNS issues.
Please check failover plugin, failover2 plugin and
Aurora Initial Connection Strategy plugin for more information.
For detailed configuration instructions, see Aurora Global Databases.
The AWS Advanced JDBC Wrapper also provides limited functionality for RDS provided databases that are not Aurora, see the compatibility matrix for details.
As of version 3.0.0 the Simple R/W Splitting Plugin can be used with RDS Proxy. There are limitations with the AWS Advanced JDBC Wrapper and RDS Proxy. This is currently intended, by design, since the main reason is that RDS Proxy transparently re-routes requests to a single database instance. RDS Proxy decides which database instance is used based on many criteria (on a per-request basis). Due to this, functionality like Failover, Enhanced Host Monitoring, and Read/Write Splitting is not compatible since the driver relies on cluster topology and RDS Proxy handles this automatically.
The driver remains useful with RDS Proxy for authentication workflows, such as IAM authentication and AWS Secrets Manager integration. See Compatibility for compatibility information and refer to the using plugins documentation for details.
Visit Using Plain RDS for more details.
For more information on how to download the AWS Advanced JDBC Wrapper, minimum requirements to use it, and how to integrate it within your project and with your JDBC driver of choice, please visit the Getting Started page.
You can find our driver by searching in The Central Repository with GroupId and ArtifactId software.amazon:aws-advanced-jdbc-wrapper.
<dependency>
<groupId>software.amazon.jdbc</groupId>
<artifactId>aws-advanced-jdbc-wrapper</artifactId>
<version>LATEST</version>
</dependency>
The driver ships with a self-contained configuration assistant skill, JDBC-WRAPPER-CONFIGURATION-ASSISTANT.md, that you can drop into your AI tool's knowledge base (Kiro, Cursor, Claude Projects, ChatGPT, Amazon Bedrock, GitHub Copilot, etc.) to help build, review, or troubleshoot wrapper configurations.
For drop-in locations, example prompts, and usage details, see Configuring the Driver with AI Tools in the Getting Started guide.
| Parameter | Reference | Documentation Link |
|---|---|---|
appId |
OktaAuthPlugin.APP_ID |
Okta Authentication Plugin |
auditLoggingEnabled |
EncryptionConfig.AUDIT_LOGGING_ENABLED |
KMS Encryption Plugin |
autoSortWrapperPluginOrder |
PropertyDefinition.AUTO_SORT_PLUGIN_ORDER |
Plugins |
awsProfile |
PropertyDefinition.AWS_PROFILE |
AWS Advanced JDBC Wrapper Parameters |
bgBaselineMs |
BlueGreenStatusProvider.BG_INTERVAL_BASELINE_MS |
Blue/Green Deployment Plugin |
bgdId |
BlueGreenConnectionPlugin.BGD_ID |
Blue/Green Deployment Plugin |
bgConnectTimeoutMs |
BlueGreenConnectionPlugin.BG_CONNECT_TIMEOUT |
$ claude mcp add aws-advanced-jdbc-wrapper \
-- python -m otcore.mcp_server <graph>