mirror of
https://github.com/Dannecron/spring-boot-demo.git
synced 2025-12-25 16:22:35 +03:00
move consumers to new sub-project
This commit is contained in:
@@ -44,6 +44,9 @@ allprojects {
|
||||
}
|
||||
|
||||
dependencies {
|
||||
runtimeOnly(rootProject.libs.micrometer.registry.prometheus)
|
||||
|
||||
implementation(rootProject.libs.bundles.tracing)
|
||||
implementation(rootProject.libs.kotlin.reflect)
|
||||
implementation(rootProject.libs.kotlinx.serialization.json)
|
||||
implementation(rootProject.libs.logback.encoder)
|
||||
@@ -77,16 +80,13 @@ subprojects {
|
||||
dependencies {
|
||||
implementation(project(":db"))
|
||||
implementation(project(":core"))
|
||||
implementation(project(":edge-consuming"))
|
||||
|
||||
runtimeOnly(libs.micrometer.registry.prometheus)
|
||||
|
||||
implementation(libs.bundles.tracing)
|
||||
implementation(libs.jackson.datatype.jsr)
|
||||
implementation(libs.jackson.module.kotlin)
|
||||
implementation(libs.ktor.client.cio)
|
||||
implementation(libs.ktor.client.core)
|
||||
implementation(libs.postgres)
|
||||
implementation(libs.spring.boot.starter.actuator)
|
||||
implementation(libs.spring.boot.starter.jdbc)
|
||||
implementation(libs.spring.boot.starter.mustache)
|
||||
implementation(libs.spring.boot.starter.validation)
|
||||
@@ -96,13 +96,13 @@ dependencies {
|
||||
implementation(libs.spring.doc.openapi.starter)
|
||||
|
||||
testImplementation(libs.ktor.client.mock)
|
||||
testImplementation(libs.spring.boot.starter.actuatorAutoconfigure)
|
||||
testImplementation(libs.spring.cloud.streamTestBinder)
|
||||
testImplementation(libs.testcontainers)
|
||||
testImplementation(libs.testcontainers.junit.jupiter)
|
||||
|
||||
developmentOnly(libs.spring.boot.devtools)
|
||||
|
||||
kover(project(":edge-consuming"))
|
||||
kover(project(":core"))
|
||||
kover(project(":db"))
|
||||
}
|
||||
|
||||
@@ -4,7 +4,10 @@ version = "single-version"
|
||||
dependencies {
|
||||
implementation(project(":db"))
|
||||
|
||||
implementation(rootProject.libs.spring.boot.starter.actuator)
|
||||
implementation(rootProject.libs.spring.boot.starter.jdbc)
|
||||
implementation(rootProject.libs.spring.boot.starter.validation)
|
||||
implementation(rootProject.libs.json.schema.validator)
|
||||
|
||||
testImplementation(rootProject.libs.spring.boot.starter.actuatorAutoconfigure)
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.github.dannecron.demo.services.metrics
|
||||
package com.github.dannecron.demo.core.services.metrics
|
||||
|
||||
interface MetricsSender {
|
||||
fun incrementConsumerCityCreate()
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.github.dannecron.demo.services.metrics
|
||||
package com.github.dannecron.demo.core.services.metrics
|
||||
|
||||
import io.micrometer.core.instrument.Counter
|
||||
import io.micrometer.core.instrument.MeterRegistry
|
||||
13
edge-consuming/build.gradle.kts
Normal file
13
edge-consuming/build.gradle.kts
Normal file
@@ -0,0 +1,13 @@
|
||||
group = "com.github.dannecron.demo"
|
||||
version = "single-version"
|
||||
|
||||
dependencies {
|
||||
implementation(project(":core"))
|
||||
|
||||
implementation(rootProject.libs.jackson.datatype.jsr)
|
||||
implementation(rootProject.libs.jackson.module.kotlin)
|
||||
implementation(rootProject.libs.spring.cloud.starter.streamKafka)
|
||||
implementation(rootProject.libs.spring.cloud.stream)
|
||||
|
||||
testImplementation(rootProject.libs.spring.cloud.streamTestBinder)
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
package com.github.dannecron.demo.config.kafka
|
||||
package com.github.dannecron.demo.edgeconsuming.config
|
||||
|
||||
import com.github.dannecron.demo.services.kafka.CityCreateConsumer
|
||||
import com.github.dannecron.demo.services.kafka.dto.CityCreateDto
|
||||
import com.github.dannecron.demo.edgeconsuming.consumer.CityCreateConsumer
|
||||
import com.github.dannecron.demo.edgeconsuming.dto.CityCreateDto
|
||||
import org.springframework.context.annotation.Bean
|
||||
import org.springframework.context.annotation.Configuration
|
||||
import java.util.function.Consumer
|
||||
@@ -0,0 +1,7 @@
|
||||
package com.github.dannecron.demo.edgeconsuming.consumer
|
||||
|
||||
import com.github.dannecron.demo.edgeconsuming.dto.CityCreateDto
|
||||
|
||||
interface CityCreateConsumer {
|
||||
fun process(cityCreateDto: CityCreateDto)
|
||||
}
|
||||
@@ -1,9 +1,9 @@
|
||||
package com.github.dannecron.demo.services.kafka
|
||||
package com.github.dannecron.demo.edgeconsuming.consumer
|
||||
|
||||
import com.github.dannecron.demo.core.dto.CityCreate
|
||||
import com.github.dannecron.demo.core.services.city.CityService
|
||||
import com.github.dannecron.demo.services.kafka.dto.CityCreateDto
|
||||
import com.github.dannecron.demo.services.metrics.MetricsSender
|
||||
import com.github.dannecron.demo.core.services.metrics.MetricsSender
|
||||
import com.github.dannecron.demo.edgeconsuming.dto.CityCreateDto
|
||||
import org.springframework.stereotype.Component
|
||||
import java.time.OffsetDateTime
|
||||
import java.time.format.DateTimeFormatter
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.github.dannecron.demo.services.kafka.dto
|
||||
package com.github.dannecron.demo.edgeconsuming.dto
|
||||
|
||||
import kotlinx.serialization.Serializable
|
||||
|
||||
@@ -10,3 +10,4 @@ data class CityCreateDto (
|
||||
val updatedAt: String?,
|
||||
val deletedAt: String?,
|
||||
)
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
package com.github.dannecron.demo.config.kafka
|
||||
package com.github.dannecron.demo.edgeconsumer.config
|
||||
|
||||
import com.github.dannecron.demo.services.kafka.CityCreateConsumer
|
||||
import com.github.dannecron.demo.services.kafka.dto.CityCreateDto
|
||||
import com.github.dannecron.demo.edgeconsuming.config.CityConsumerConfig
|
||||
import com.github.dannecron.demo.edgeconsuming.consumer.CityCreateConsumer
|
||||
import com.github.dannecron.demo.edgeconsuming.dto.CityCreateDto
|
||||
import kotlinx.serialization.encodeToString
|
||||
import kotlinx.serialization.json.Json
|
||||
import org.junit.jupiter.api.Test
|
||||
import org.mockito.kotlin.after
|
||||
import org.mockito.kotlin.verify
|
||||
import org.springframework.beans.factory.annotation.Autowired
|
||||
import org.springframework.boot.actuate.autoconfigure.endpoint.EndpointAutoConfiguration
|
||||
import org.springframework.boot.autoconfigure.EnableAutoConfiguration
|
||||
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration
|
||||
import org.springframework.boot.autoconfigure.jdbc.DataSourceTransactionManagerAutoConfiguration
|
||||
@@ -43,10 +43,9 @@ import java.util.UUID
|
||||
DataSourceTransactionManagerAutoConfiguration::class,
|
||||
HibernateJpaAutoConfiguration::class,
|
||||
SecurityAutoConfiguration::class,
|
||||
EndpointAutoConfiguration::class,
|
||||
]
|
||||
)
|
||||
class CityEntityCreateConsumerImplConfigTest {
|
||||
class CityConsumerConfigTest {
|
||||
|
||||
@Autowired
|
||||
private lateinit var inputDestination: InputDestination
|
||||
@@ -4,3 +4,4 @@ plugins {
|
||||
rootProject.name = "demo"
|
||||
include("db")
|
||||
include("core")
|
||||
include("edge-consuming")
|
||||
|
||||
@@ -1,7 +0,0 @@
|
||||
package com.github.dannecron.demo.services.kafka
|
||||
|
||||
import com.github.dannecron.demo.services.kafka.dto.CityCreateDto
|
||||
|
||||
interface CityCreateConsumer {
|
||||
fun process(cityCreateDto: CityCreateDto)
|
||||
}
|
||||
Reference in New Issue
Block a user