initialize
Initializes the DatabaseManager and establishes the database connection infrastructure.
This method performs a complete initialization sequence that includes:
Setting up the HikariCP connection pool with optimized configuration
Testing the database connection to ensure connectivity
Creating or verifying all required database tables and schemas
Configuring MySQL-specific performance optimizations
Setting up connection monitoring and health checks
The initialization process is designed to be idempotent and can be called multiple times safely. If initialization fails at any step, the method will clean up partially completed setup and return false.
Connection Pool Configuration:
Maximum pool size based on configuration (minimum 2 connections)
Minimum idle connections set to half of maximum pool size
Connection timeout: 30 seconds
Idle timeout: 10 minutes
Maximum connection lifetime: 30 minutes
Leak detection threshold: 10 seconds
MySQL Optimizations Applied:
Prepared statement caching with 250 statement cache size
SQL limit of 2048 characters for cached statements
Server-side prepared statements enabled
Batch statement rewriting for bulk operations
Result set metadata caching
Connection metadata caching
Auto-commit optimization
Database Schema Creation: All core tables are created with proper foreign key relationships, indexing for performance, and UTF-8 character set support.
Error Handling:
SQLException: Database connectivity or SQL execution errors
General Exception: Configuration errors or unexpected failures
All errors are logged with full stack traces for debugging
Return
true if initialization completed successfully, false if any step failed
Since
1.0.0
See also
for connection pool configuration details
for database schema creation
Throws
if database connection or schema creation fails critically
if HikariCP DataSource initialization fails