diff options
Diffstat (limited to 'sampleClient')
-rw-r--r-- | sampleClient/pom.xml | 70 | ||||
-rw-r--r-- | sampleClient/src/main/java/org/onap/dmaap/kafka/sample/Main.java | 44 | ||||
-rw-r--r-- | sampleClient/src/main/java/org/onap/dmaap/kafka/sample/SampleConfiguration.java | 48 | ||||
-rw-r--r-- | sampleClient/src/main/resources/application.yaml | 11 | ||||
-rw-r--r-- | sampleClient/src/main/resources/logback.xml | 11 |
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 |