OJP 1.0.0 is coming. Join the early adopters list to receive benchmarks, release updates and free architecture suitability assessments.

Join Early Adopters

Protect your database from connection storms and overload

Open J Proxy is an open-source database control plane for Java applications. It centralizes connection management, applies backpressure, isolates slow queries, and helps keep relational databases stable under pressure.

Building toward production-ready 1.0.0

OJP is currently in beta. Use it for evaluation, testing, benchmarks, architecture reviews and early feedback before the 1.0.0 LTS release.

Trusted by Java Teams Who Value Freedom & Control

Apache 2.0 Licensed
Multi-Database Support
Zero Code Changes

Why Use a Database Proxy?

A proxy layer between your applications and database unlocks significant operational advantages

🏗️

Centralised Control & Resilience

A database proxy centralises connection pooling and traffic management, giving you a single governance point for all database access. It also acts as a resilience layer — isolating application instances from database failures and preventing cascading outages, so your application stays stable under pressure.

🛡️

Use database capacity more safely

OJP does not make your database infinite. It helps enforce safe limits, apply backpressure, and prevent application-side scaling from overwhelming a finite database connection budget.

🔌

Works With Any JDBC Database

OJP supports every database that provides a standard JDBC driver — PostgreSQL, MySQL, Oracle, SQL Server, MariaDB, DB2, H2, CockroachDB, and beyond. If a JDBC driver exists for your database, OJP works with it.

📘 Community Guide: OJP + Spring Boot Zero to Hero

A hands-on community guide with runnable Spring Boot examples, from first connection to observability and production hardening.

Open the Guide

Why Open J Proxy?

OJP goes further than traditional database proxies — delivering unique capabilities no other open source solution provides

🚀

Elastic Scaling

Scale your applications freely without overwhelming your database. OJP's intelligent connection pooling prevents connection storms.

🛡️

Built-in Protection

Circuit breakers, backpressure, and slow query segregation ensure your database stays healthy under any load.

🔄

Zero Code Changes

Simply swap your JDBC driver and update your connection URL. No application code changes required.

Database Control Plane

Built on HikariCP with centralized server-side connection pooling. One control point for connection governance across all your application instances.

🌐

Any JDBC-Compatible Database

Works with every database that offers a JDBC driver — PostgreSQL, MySQL, Oracle, SQL Server, MariaDB, DB2, H2, CockroachDB, and more. One proxy for your entire database estate.

📊

Observability

Integrated monitoring and query tracking. Know what's happening in your database layer.

🔐

XA Transactions

Full support for distributed transactions. Build reliable, scalable enterprise systems.

🌍

Cloud Agnostic

Works across any cloud provider. Not locked into vendor-specific solutions. True freedom.

⚖️

First Open Source Type 3 JDBC Driver

OJP delivers the first open source Type 3 JDBC driver with native client-side load balancing and automatic failover. Traditional database proxies require an additional external load balancer; OJP handles it natively — reducing infrastructure complexity and cost.

🔧

Language Neutral

gRPC + Protocol Buffers API means services in any language can use OJP's benefits.

Open Source by Design

Built for freedom — no vendor lock-in, no proprietary dependencies

7+ Supported Databases
Zero Code Changes
Apache 2.0 Open Source License
24/7 Protection

Getting Started is Easy

Three simple steps to protect your database

1. Start OJP Server

Deploy the OJP server using Docker or standalone JAR

docker run --rm -d --network host \
rrobetti/ojp:0.5.2-beta

2. Add JDBC Driver

Include the OJP JDBC driver in your project

<dependency>
<groupId>org.openjproxy</groupId>
<artifactId>ojp-jdbc-driver</artifactId>
<version>0.5.2-beta</version>
</dependency>

3. Update JDBC URL

Prefix your existing JDBC URL with OJP

jdbc:ojp[localhost:1059]_
postgresql://user@host/db

Kubernetes Deployment

OJP Helm Charts are available for deploying the OJP Server in Kubernetes

⎈ OJP Helm Charts

Add the OJP Helm repository and deploy the OJP Server to your cluster with a single command.

helm repo add ojp https://Open-J-Proxy.github.io/ojp-helm
View Helm Charts

Before 1.0.0

OJP is currently in beta. The best way to help before 1.0.0 is to:

Join the Early Adopters List

📊 Stressar Benchmark Results

We are preparing public benchmark results comparing OJP with traditional application-local connection pooling and database proxy approaches under mixed OLTP/OLAP load, connection pressure and overload scenarios.

Join the early adopters list to receive the full report when published.

Notify Me When Results Are Published

🔍 Is OJP Right for Your System?

Answer 9 quick questions and get an instant recommendation based on your database architecture challenges.

Take the Free Assessment

Ready to Own Your Database Layer?

Join the teams building cloud-independent, database-agnostic Java systems with Open J Proxy