RU

@CacheEvict уходит раньше коммита, и кэш врёт до перезапуска

В Spring кэш и транзакции существуют рядом, но не знают друг о друге — из-за этого корректный на первый взгляд код может приводить к расхождениям ме…

springspring frameworkjavaкэшированиетранзакциимикросервисыоптимизация кодапроизводительность приложенийRedis
Habr
RU

Возвращаем трассировку логов Quartz-задач после перехода на Spring Boot 3+

Привет! Меня зовут Александр Каненков, я backend-разработчик в компании Домклик. После перевода сервиса со второго Spring Boot на третий (а у кого-т…

kotlinjavaspringspring bootspring frameworkquartzлоггированиетрассировка запросовтрейсингjob-scheduler
Habr
RU

[Перевод] Скрытый секрет конфигурации Spring Boot. EnvironmentPostProcessor

Всем привет! Это Михаил Поливаха, технический руководитель проекта Axelix (Open Source-продукта, который помогает как дебажить, так и находить распр…

spring-bootaxelixspringspring frameworkjavaspring boot starterautoconfigspring.factoriesbeanspring.config.import
Habr
RU

[Перевод] Мутационное тестирование: прекрасная концепция, которой вы редко будете пользоваться на практике

В новом переводе от команды Spring АйО на простом Java-примере показываем: – как работает мутационное тестирование с Pitest;   – почему 100% по…

javaspringtesttestingtesting toolsspring bootspring-bootspring framework
Habr
RU

"__TypeId__": как один Kafka-заголовок незаметно связывает микросервисы именами Java-классов

Если два сервиса обмениваются JSON, но один из них не может десериализовать сообщение без знания полного имени Java-класса другого сервиса - значит,…

Javaspring frameworkkafkaмикросервисы__TypeId__TYPE_MAPPINGSJsonSerializerJsonDeserializer
Habr
RU

[Перевод] Проблема фантомной записи: почему ваша реализация идемпотентности незаметно теряет данные

В проде бывает так, что одна и та же операция часто повторяется : клиент не дождался ответа и ретраит, балансер порвал соединение, очередь переиграл…

javakotlinspringspring bootspring frameworkspring-bootspring data
Habr