pcp-tgu-service: миграция с WebFlux на servlet/MVC

WebFlux в tgu был фиктивным: блокирующая JPA, контроллеры оборачивали
блокирующие вызовы в Mono.fromCallable{}.subscribeOn(boundedElastic()),
WebClient .block()-ался сразу. Единственный WebFlux-only сервис флота.

- build: подключён pcp-types-lib (тянет starter-web → servlet), springdoc
  webflux-ui → webmvc-ui; starter-webflux оставлен только ради WebClient
- контроллеры возвращают значения напрямую (без Mono-обёрток)
- удалено локальное Jackson-2 зеркало PcpTimeModule.kt → модуль из либы
  в CamundaJacksonConfig; Jackson-3 зеркало остаётся (Boot 4 держит
  Jackson 3 на HTTP-границе и для MVC), WebFluxJacksonConfig → RestJacksonConfig
This commit is contained in:
Дмитрий Соловьев
2026-06-02 23:14:12 +03:00
parent cde4ffa9b6
commit e68c17e792
9 changed files with 78 additions and 182 deletions
+7 -1
View File
@@ -17,11 +17,17 @@ java {
dependencies {
// Общие типы/слой толерантности времени; тянет spring-boot-starter-web (servlet/MVC),
// из-за чего приложение запускается как сервлетное (MVC), а не WebFlux.
implementation(project(":libs:pcp-types-lib"))
// Spring Boot
// starter-webflux оставлен только ради WebClient (внешние HTTP-клиенты, см. integration/api);
// тип приложения — сервлетный (MVC), т.к. в classpath есть spring-webmvc из starter-web выше.
implementation("org.springframework.boot:spring-boot-starter-webflux")
implementation("org.springframework.boot:spring-boot-starter-actuator")
runtimeOnly("io.micrometer:micrometer-registry-prometheus")
implementation("org.springdoc:springdoc-openapi-starter-webflux-ui:3.0.0")
implementation("org.springdoc:springdoc-openapi-starter-webmvc-ui:${property("versions.open-api")}")
implementation("org.springframework.boot:spring-boot-starter-data-jpa")
implementation("org.springframework.boot:spring-boot-starter-flyway")
implementation("org.flywaydb:flyway-database-postgresql")