FtpPool — High-Performance Connection Pool for FTP
Solve the stateful, failure-prone nature of FTP connections for stable backend reuse
- Problem
- Using FTP/FTPS in backend services is painful because connections are stateful: working directory, transfer mode, and encoding stick to a connection, causing odd bugs on reuse. Generic connection pools are just thin wrappers that don't reset state or discard broken connections, so bad connections get returned to the pool and keep causing errors.
- Solution
- A connection pool library designed specifically for FTP/FTPS. It automatically resets working directory, transfer mode, and encoding when a connection is returned; if reset fails, the connection is marked broken and destroyed. Pool engine, lifecycle, and observability are separated for easy composition and testing, with built-in metrics, slow-operation alerts, and leak detection.
- Users
- Backend Java developers needing stable FTP integration, engineers maintaining legacy systems, teams building data pipelines.
- MVP
- FTP connection pool with automatic state reset; support for FastPoolEngine and a Commons Pool-based engine; built-in basic metrics and slow-operation logging; leak detection; published as a Maven dependency with usage examples.
- Revenue
- Open-source core with enterprise support, custom development, and hosted monitoring; commercial plugins for specific FTP servers.
- Why now
- Plenty of legacy systems still use FTP for data exchange, and generic pooling fails on stateful connections. An indie developer can enter a niche with a library and build a moat through technical depth.