summaryrefslogtreecommitdiffstats
path: root/sampleClient
diff options
context:
space:
mode:
authordavid.mcweeney <david.mcweeney@est.tech>2023-01-06 11:15:15 +0000
committerdavid.mcweeney <david.mcweeney@est.tech>2023-03-09 10:00:42 +0000
commit38f5b4b9dc667c52561867d4e36f940109f3e3a5 (patch)
tree7f3b4f9ec6a897a3e5b7cf11de72e5ad7da9adc2 /sampleClient
parenta6b96912d1fa3ee369577c50079b6f1d25907607 (diff)
[KAFKA] Adding new client code
Signed-off-by: david.mcweeney <david.mcweeney@est.tech> Change-Id: I38b930b1b5f4233f961d51bbab4b1828d034e67a Issue-ID: DMAAP-1847
Diffstat (limited to 'sampleClient')
-rw-r--r--sampleClient/pom.xml70
-rw-r--r--sampleClient/src/main/java/org/onap/dmaap/kafka/sample/Main.java44
-rw-r--r--sampleClient/src/main/java/org/onap/dmaap/kafka/sample/SampleConfiguration.java48
-rw-r--r--sampleClient/src/main/resources/application.yaml11
-rw-r--r--sampleClient/src/main/resources/logback.xml11
5 files changed, 184 insertions, 0 deletions
diff --git a/sampleClient/pom.xml b/sampleClient/pom.xml
new file mode 100644
index 0000000..d51df67
--- /dev/null
+++ b/sampleClient/pom.xml
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <groupId>org.onap.dmaap.kafka</groupId>
+ <artifactId>parent</artifactId>
+ <version>${revision}</version>
+ <relativePath>../pom.xml</relativePath>
+ </parent>
+ <artifactId>onap-kafka-client-sample</artifactId>
+ <description>Sample project for client users</description>
+
+ <properties>
+ <maven.compiler.source>11</maven.compiler.source>
+ <maven.compiler.target>11</maven.compiler.target>
+ </properties>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.onap.dmaap.kafka</groupId>
+ <artifactId>onap-kafka-client</artifactId>
+ <version>0.0.1-SNAPSHOT</version>
+ <exclusions>
+ <exclusion>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-api</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>ch.qos.logback</groupId>
+ <artifactId>logback-core</artifactId>
+ </exclusion>
+ </exclusions>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>ch.qos.logback</groupId>
+ <artifactId>logback-classic</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.projectlombok</groupId>
+ <artifactId>lombok</artifactId>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.springframework.boot</groupId>
+ <artifactId>spring-boot</artifactId>
+ <version>2.7.7</version>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.springframework.boot</groupId>
+ <artifactId>spring-boot-starter</artifactId>
+ <version>2.7.7</version>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.springframework.boot</groupId>
+ <artifactId>spring-boot-autoconfigure</artifactId>
+ <version>2.7.7</version>
+ <scope>compile</scope>
+ </dependency>
+ </dependencies>
+ <build>
+ <plugins>
+ </plugins>
+ </build>
+</project> \ No newline at end of file
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<String> kafkaBootstrapServers;
+
+ private List<String> consumerTopics;
+ private String consumerGroup;
+ private String consumerID;
+ private int pollingTimeout;
+
+ private List<String> 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 @@
+<configuration>
+ <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
+ <encoder>
+ <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger - %msg%n</pattern>
+ </encoder>
+ </appender>
+
+ <root level="INFO">
+ <appender-ref ref="STDOUT"/>
+ </root>
+</configuration> \ No newline at end of file