diff --git a/.github/workflows/springwolf-kafka.yml b/.github/workflows/springwolf-kafka.yml index 2f8709d67..5526e5a4c 100644 --- a/.github/workflows/springwolf-kafka.yml +++ b/.github/workflows/springwolf-kafka.yml @@ -7,6 +7,7 @@ on: paths: - '.github/workflows/springwolf-kafka.yml' - 'springwolf-core/**' + - 'springwolf-plugins/springwolf-kafka-plugin/**' - 'springwolf-examples/springwolf-kafka-example/**' jobs: diff --git a/springwolf-plugins/springwolf-kafka-plugin/build.gradle b/springwolf-plugins/springwolf-kafka-plugin/build.gradle index e4440a264..0ed8c6879 100644 --- a/springwolf-plugins/springwolf-kafka-plugin/build.gradle +++ b/springwolf-plugins/springwolf-kafka-plugin/build.gradle @@ -9,17 +9,10 @@ plugins { } group 'io.github.springwolf' -version '0.2.0' +version '0.3.0' sourceCompatibility = 1.8 repositories { - // For local development with snapshots - mavenLocal() { - content { - includeGroup "io.github.springwolf" - } - } - mavenCentral() } @@ -35,7 +28,6 @@ dependencies { annotationProcessor 'org.projectlombok:lombok:1.18.4' testImplementation('org.springframework.boot:spring-boot-starter-test') - testImplementation('org.springframework.kafka:spring-kafka-test') testCompile 'org.projectlombok:lombok:1.18.4' testAnnotationProcessor 'org.projectlombok:lombok:1.18.4' @@ -81,7 +73,7 @@ def pomConfig = { } scm { - url 'https://github.com/springwolf/springwolf-kafka' + url 'https://github.com/springwolf/springwolf-core' } } @@ -106,7 +98,7 @@ publishing { def root = asNode() root.appendNode('description', 'Automated JSON API documentation for Kafka Listeners built with Spring') root.appendNode('name', 'springwolf-kafka') - root.appendNode('url', 'https://github.com/springwolf/springwolf-kafka') + root.appendNode('url', 'https://github.com/springwolf/springwolf-core') root.children().last() + pomConfig def pomFile = file("${project.buildDir}/generated-pom.xml") diff --git a/springwolf-plugins/springwolf-kafka-plugin/src/main/java/io/github/stavshamir/springwolf/asyncapi/SpringwolfKafkaController.java b/springwolf-plugins/springwolf-kafka-plugin/src/main/java/io/github/stavshamir/springwolf/asyncapi/SpringwolfKafkaController.java index afa6fb114..e2c4e6b4f 100644 --- a/springwolf-plugins/springwolf-kafka-plugin/src/main/java/io/github/stavshamir/springwolf/asyncapi/SpringwolfKafkaController.java +++ b/springwolf-plugins/springwolf-kafka-plugin/src/main/java/io/github/stavshamir/springwolf/asyncapi/SpringwolfKafkaController.java @@ -3,7 +3,9 @@ import io.github.stavshamir.springwolf.producer.SpringwolfKafkaProducer; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.springframework.http.HttpStatus; import org.springframework.web.bind.annotation.*; +import org.springframework.web.server.ResponseStatusException; import java.util.Map; @@ -17,6 +19,11 @@ public class SpringwolfKafkaController { @PostMapping("/publish") public void publish(@RequestParam String topic, @RequestBody Map payload) { + if (!kafkaProducer.isEnabled()) { + log.debug("Kafka producer is not enabled - message will not be published"); + throw new ResponseStatusException(HttpStatus.NOT_FOUND, "Kafka producer is not enabled"); + } + log.info("Publishing to kafka topic {}: {}", topic, payload); kafkaProducer.send(topic, payload); }