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