From 38f5b4b9dc667c52561867d4e36f940109f3e3a5 Mon Sep 17 00:00:00 2001 From: "david.mcweeney" Date: Fri, 6 Jan 2023 11:15:15 +0000 Subject: [KAFKA] Adding new client code Signed-off-by: david.mcweeney Change-Id: I38b930b1b5f4233f961d51bbab4b1828d034e67a Issue-ID: DMAAP-1847 --- .../java/org/onap/dmaap/kafka/sample/Main.java | 44 ++++++++++++++++++++ .../dmaap/kafka/sample/SampleConfiguration.java | 48 ++++++++++++++++++++++ sampleClient/src/main/resources/application.yaml | 11 +++++ sampleClient/src/main/resources/logback.xml | 11 +++++ 4 files changed, 114 insertions(+) create mode 100644 sampleClient/src/main/java/org/onap/dmaap/kafka/sample/Main.java create mode 100644 sampleClient/src/main/java/org/onap/dmaap/kafka/sample/SampleConfiguration.java create mode 100644 sampleClient/src/main/resources/application.yaml create mode 100644 sampleClient/src/main/resources/logback.xml (limited to 'sampleClient/src') diff --git a/sampleClient/src/main/java/org/onap/dmaap/kafka/sample/Main.java b/sampleClient/src/main/java/org/onap/dmaap/kafka/sample/Main.java new file mode 100644 index 0000000..37a3097 --- /dev/null +++ b/sampleClient/src/main/java/org/onap/dmaap/kafka/sample/Main.java @@ -0,0 +1,44 @@ +/*- + * ============LICENSE_START======================================================= + * dmaap-kafka-client + * ================================================================================ + * Copyright (C) 2023 Nordix Foundation. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ + +package org.onap.dmaap.kafka.sample; + +import org.onap.dmaap.kafka.OnapKafkaClient; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.CommandLineRunner; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +public class Main implements CommandLineRunner{ + + @Autowired + private SampleConfiguration configuration; + + public static void main(String[] args) { + SpringApplication.run(Main.class, args); + } + + @Override + public void run(String... args) { + OnapKafkaClient handler = new OnapKafkaClient(configuration); + handler.fetchFromTopic("dummy.topic.blah"); + } +} \ No newline at end of file diff --git a/sampleClient/src/main/java/org/onap/dmaap/kafka/sample/SampleConfiguration.java b/sampleClient/src/main/java/org/onap/dmaap/kafka/sample/SampleConfiguration.java new file mode 100644 index 0000000..0cb5498 --- /dev/null +++ b/sampleClient/src/main/java/org/onap/dmaap/kafka/sample/SampleConfiguration.java @@ -0,0 +1,48 @@ +/*- + * ============LICENSE_START======================================================= + * dmaap-kafka-client + * ================================================================================ + * Copyright (C) 2023 Nordix Foundation. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ + +package org.onap.dmaap.kafka.sample; + +import java.util.List; +import lombok.Getter; +import lombok.NonNull; +import lombok.Setter; +import org.onap.dmaap.kafka.IKafkaConfig; +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.context.annotation.Configuration; + +@Configuration +@ConfigurationProperties(prefix = "kafka") +@Getter +@Setter +public class SampleConfiguration implements IKafkaConfig { + + @NonNull + private List kafkaBootstrapServers; + + private List consumerTopics; + private String consumerGroup; + private String consumerID; + private int pollingTimeout; + + private List producerTopics; + private String kafkaSaslJaasConfig; + // private String kafkaSaslMechanism; +} diff --git a/sampleClient/src/main/resources/application.yaml b/sampleClient/src/main/resources/application.yaml new file mode 100644 index 0000000..b8a0f70 --- /dev/null +++ b/sampleClient/src/main/resources/application.yaml @@ -0,0 +1,11 @@ +kafka: + kafkaBootstrapServers: [localhost:9092] + pollingTimeout: 10 + consumerGroup: my-consumer-group + consumerID: my-consumer-id + consumerTopics: [test.mytopic.1, test.mytopic.2] + producerTopics: [test.mytopic.3] + kafkaSaslJaasConfig: ${SASL_JAAS_CONFIG:org.apache.kafka.common.security.scram.ScramLoginModule required username=admin password=admin-secret;} + + #kafkaSaslJaasConfig: ${SASL_JAAS_CONFIG:org.apache.kafka.common.security.plain.PlainLoginModule required username=admin password=admin-secret;} + #kafkaSaslMechanism: ${SASL_MECHANISM:PLAIN} \ No newline at end of file diff --git a/sampleClient/src/main/resources/logback.xml b/sampleClient/src/main/resources/logback.xml new file mode 100644 index 0000000..8798706 --- /dev/null +++ b/sampleClient/src/main/resources/logback.xml @@ -0,0 +1,11 @@ + + + + %d{HH:mm:ss.SSS} [%thread] %-5level %logger - %msg%n + + + + + + + \ No newline at end of file -- cgit