GaneshPatil7517 opened a new pull request, #2560:
URL: https://github.com/apache/iggy/pull/2560
## Summary
This PR adds TCP transport protocol support to the Apache Iggy Flink
connector, addressing the limitation where the sink only supported HTTP
transport while the source already had TCP support.
Resolves #2484
## Changes
### New Files
- **`TransportType.java`** - Enum defining HTTP (port 3000) and TCP (port
8090) transport protocols
- **`IggyClientFactory.java`** - Factory class for creating HTTP or TCP
clients based on configuration
### Modified Files
- **`IggyConnectionConfig.java`** - Added `transportType`, `httpPort`, and
`tcpPort` configuration options
- **`IggySink.java`** - Updated to use `IggyClientFactory` instead of
hardcoded HTTP client
- **`IggySinkWriter.java`** - Changed to use `IggyBaseClient` interface for
transport abstraction
- **`README.md`** - Added documentation for TCP transport configuration
### Tests
- **`TransportTypeTest.java`** - Unit tests for transport type enum parsing
and validation
- **`IggyClientFactoryTest.java`** - Unit tests for host extraction from
various address formats
- **`IggyConnectionConfigTest.java`** - Extended with transport
configuration tests
## Usage Example
```java
// TCP Transport (new)
IggyConnectionConfig config = IggyConnectionConfig.builder()
.serverAddress("localhost")
.transportType(TransportType.TCP)
.tcpPort(8090)
.username("iggy")
.password("iggy")
.build();
// HTTP Transport (default - backward compatible)
IggyConnectionConfig config = IggyConnectionConfig.builder()
.serverAddress("localhost")
.username("iggy")
.password("iggy")
.build();
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]