Commit 29b5e45
feat: implement Debezium Source Connector Integration (Phase 4)
This commit adds comprehensive Debezium connector integration support including:
## Kafka Connect REST API Client
- Full CRUD operations for connector management
- Status monitoring and health checks
- Pause/Resume/Restart capabilities with retry logic
- Custom exceptions for error handling
## Source Connector Configuration Generators
- MySqlSourceConnectorConfig: Complete MySQL binlog CDC configuration
- OracleSourceConnectorConfig: LogMiner-based Oracle CDC configuration
- PostgresSourceConnectorConfig: Logical replication PostgreSQL CDC configuration
- Builder patterns with validation and sensible defaults
## Connector Lifecycle Management
- Automated deployment and deletion
- Health monitoring with automatic recovery
- State tracking and status updates
- Configurable retry policies with exponential backoff
## PostgreSQL-based Storage Implementations
- JdbcOffsetBackingStore: Store Kafka Connect offsets in PostgreSQL
- JdbcSchemaHistory: Store Debezium schema history in PostgreSQL
- HikariCP connection pooling for performance
## Testing
- 38 unit and integration tests passing
- Testcontainers-based PostgreSQL integration tests
- Configuration validation test coverage
- Connector status behavior tests
Technical changes:
- Added HTTP client, HikariCP, and testing dependencies to connectors module
- Temporarily disabled Oracle connector dependency due to mirror issues
- Updated PROJECT_STATUS.md to reflect Phase 4 completion
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>1 parent c7338d5 commit 29b5e45
22 files changed
Lines changed: 3361 additions & 37 deletions
File tree
- connectors
- src
- main/java/com/dbsyncer/connectors
- client
- exception
- model
- config
- lifecycle
- storage
- test
- java/com/dbsyncer/connectors
- client/model
- config
- storage
- resources
- docs
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
36 | 36 | | |
37 | 37 | | |
38 | 38 | | |
| 39 | + | |
39 | 40 | | |
40 | 41 | | |
41 | 42 | | |
42 | 43 | | |
| 44 | + | |
43 | 45 | | |
44 | 46 | | |
45 | 47 | | |
| |||
50 | 52 | | |
51 | 53 | | |
52 | 54 | | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
53 | 59 | | |
54 | 60 | | |
55 | 61 | | |
| |||
62 | 68 | | |
63 | 69 | | |
64 | 70 | | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
65 | 110 | | |
66 | 111 | | |
67 | 112 | | |
68 | 113 | | |
69 | 114 | | |
70 | 115 | | |
71 | 116 | | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
72 | 162 | | |
73 | 163 | | |
74 | 164 | | |
0 commit comments