diff --git a/src/main/java/com/splunk/kafka/connect/SplunkSinkConnector.java b/src/main/java/com/splunk/kafka/connect/SplunkSinkConnector.java index b80c542d..10d8831a 100644 --- a/src/main/java/com/splunk/kafka/connect/SplunkSinkConnector.java +++ b/src/main/java/com/splunk/kafka/connect/SplunkSinkConnector.java @@ -41,6 +41,7 @@ import java.io.IOException; import java.util.ArrayList; +import java.util.Arrays; import java.util.List; import java.util.Map; @@ -170,7 +171,8 @@ private void preparePayloadAndExecuteRequest(SplunkSinkConnectorConfig connector }; } String endpoint = "/services/collector"; - String url = connectorConfig.splunkURI + endpoint; + List hecURIs = Arrays.asList(connectorConfig.splunkURI.split(",")); + String url = hecURIs.get(0) + endpoint; final HttpPost httpPost = new HttpPost(url); httpPost.setHeaders(headers); EventBatch batch = new JsonEventBatch(); @@ -216,4 +218,4 @@ private void executeHttpRequest(final HttpUriRequest req, CloseableHttpClient ht } } } -} \ No newline at end of file +} diff --git a/src/test/java/com/splunk/kafka/connect/SplunkSinkConnecterTest.java b/src/test/java/com/splunk/kafka/connect/SplunkSinkConnecterTest.java index 07c302d5..62cb85d1 100644 --- a/src/test/java/com/splunk/kafka/connect/SplunkSinkConnecterTest.java +++ b/src/test/java/com/splunk/kafka/connect/SplunkSinkConnecterTest.java @@ -207,6 +207,21 @@ public void testInvalidIndex() { Assertions.assertThrows(ConfigException.class, ()->connector.validate(configs)); } + @Test + public void testValidMultipleURIs() { + final Map configs = new HashMap<>(); + addNecessaryConfigs(configs); + SplunkSinkConnector connector = new SplunkSinkConnector(); + configs.put("topics", "b"); + configs.put("splunk.indexes", "b"); + configs.put("splunk.hec.uri", "https://localhost:8088,https://localhost:8089"); + configs.put("splunk.hec.ssl.validate.certs", "false"); + MockHecClientWrapper clientInstance = new MockHecClientWrapper(); + clientInstance.client.setResponse(CloseableHttpClientMock.success); + ((SplunkSinkConnector) connector).setHecInstance(clientInstance); + Assertions.assertDoesNotThrow(()->connector.validate(configs)); + } + @Test public void testValidSplunkConfigurations() { final Map configs = new HashMap<>(); @@ -237,4 +252,4 @@ private void assertHasErrorMessage(Config config, String property, String msg) { private void assertNoErrors(Config config) { config.configValues().forEach(c -> assertTrue(c.errorMessages().isEmpty())); } -} \ No newline at end of file +}