Database Connection Properties to JSON
Convert database connection properties (JDBC URLs, pool sizes, timeouts) into structured JSON for multiple database configurations.
Detailed Explanation
Database Connection Properties
Database configuration is one of the most common uses of .properties files in Java applications. These properties define JDBC connection URLs, credentials, connection pool settings, and timeout values.
Example: Multi-Database Configuration
# Primary Database (PostgreSQL)
spring.datasource.primary.url=jdbc:postgresql://master.db:5432/appdb
spring.datasource.primary.username=app_user
spring.datasource.primary.password=encrypted_password_here
spring.datasource.primary.driver-class-name=org.postgresql.Driver
spring.datasource.primary.hikari.maximum-pool-size=20
spring.datasource.primary.hikari.minimum-idle=5
spring.datasource.primary.hikari.connection-timeout=30000
spring.datasource.primary.hikari.idle-timeout=600000
spring.datasource.primary.hikari.max-lifetime=1800000
# Read Replica (PostgreSQL)
spring.datasource.replica.url=jdbc:postgresql://replica.db:5432/appdb
spring.datasource.replica.username=readonly_user
spring.datasource.replica.password=encrypted_password_here
spring.datasource.replica.hikari.maximum-pool-size=30
spring.datasource.replica.hikari.read-only=true
Nested JSON Output
{
"spring": {
"datasource": {
"primary": {
"url": "jdbc:postgresql://master.db:5432/appdb",
"username": "app_user",
"hikari": {
"maximumPoolSize": 20,
"minimumIdle": 5,
"connectionTimeout": 30000,
"idleTimeout": 600000,
"maxLifetime": 1800000
}
},
"replica": {
"url": "jdbc:postgresql://replica.db:5432/appdb",
"hikari": {
"maximumPoolSize": 30,
"readOnly": true
}
}
}
}
}
The nested JSON view makes it easy to compare primary and replica settings side-by-side, spot missing configuration (e.g., the replica lacks timeout settings), and verify pool sizes are appropriate for the expected load.
Use Case
Auditing database connection pool settings across primary and replica instances, comparing HikariCP configuration between environments, or exporting connection properties for infrastructure-as-code tools.