BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage Spring Content on InfoQ

  • Distributed Spring Batch without a Message Broker

    Distributed Spring Batch partitioning already needs a shared, persistent job repository. This article makes that database the whole coordination plane and drops the message broker, sizing work to the live node count, a per-job master with no standing coordinator, compare-and-set claiming that prevents double-execution, two-phase heartbeat failover, and where a broker is still the right choice.

  • Server-Side DPoP and Token Exchange in Spring Security 7

    Spring Authorization Server now lives inside Spring Security 7 under the same Maven coordinates, so the upgrade is a version bump. This server-side guide covers enabling DPoP and RFC 8693 Token Exchange, explains why 7.1 apps can silently stop enforcing DPoP until they call .dPoP(), and shows how to combine both into narrowed, sender-constrained tokens for service-to-service and agentic calls.

  • Post-Quantum Cryptography in Spring Boot: Four Patterns You Can Ship This Sprint

    There are four patterns that bring PQC into a Spring Boot fleet: encrypting payloads between services, locking down database fields, signing documents that need to hold up for decades, and moving service tokens off RS256. Along the way, we discuss why Harvest Now, Decrypt Later is already happening, and why none of this is production-safe until KMS or Vault is in place.

  • Virtual Threads after JDK 24: What Changed for Production Java

    JDK 24 removed the monitor-related carrier-thread pinning that stalled Netflix and similar teams on Java 21. What has replaced it on JDK 25 LTS is downstream-resource saturation: the bottleneck moved and now demands explicit bounding in application code. This article maps the failure modes that surface after virtual-thread adoption and gives a practical sequence backed by a public benchmark.

  • Scaling Java-Based Real-Time Systems: the Hidden Tradeoffs of Event-Driven Design

    Event-driven architecture promises scalability, but in Java-based real-time systems the tradeoffs only surface in production. Drawing on a Java/Kafka contact center platform handling 80k BHCC across 10k agents, this article details where the design breaks down—state management, partition limits, deduplication, JVM tuning, cascading consumer failures—and the Redis-backed patterns that fixed each.

  • The Spring Team on Spring Framework 7 and Spring Boot 4

    InfoQ recently spoke with key members of the Spring team about the significant architectural and functional advancements in Spring Framework 7 and Spring Boot 4. This conversation explores the strategic shift toward core resilience by integrating features such as retry and concurrency throttling directly into the framework, alongside the performance benefits of modularizing auto-configurations.

  • Beyond RAG: Architecting Context-Aware AI Systems with Spring Boot

    This article introduces Context-Augmented Generation (CAG) as an architectural refinement of RAG for enterprise systems. It shows how a Spring Boot-based context manager can incorporate user identity, session state, and policy constraints into AI workflows, improving traceability, consistency, and governance without altering existing retrievers or LLM infrastructure.

  • Building a RAG Application with Spring Boot, Spring AI, MongoDB Atlas Vector Search, and OpenAI

    The RAG paradigm redefines AI: it combines generative models and business data for accurate, contextualised responses. The article shows how to integrate Spring Boot, Spring AI, MongoDB Atlas and OpenAI into a powerful and flexible pipeline capable of transforming the way businesses access and create value from data, with applications ranging from finance and healthcare to customer service.

  • Mocking gRPC in Spring Boot Microservice Integration Tests with WireMock

    Mocking gRPC services allows you to validate gRPC integration code during your tests while avoiding common pitfalls such as unreliable sandboxes, version mismatches, and complex test data setup requirements. Learn how to use WireMock’s Spring Boot integration to mock gRPC services.

  • Spring Security Configuration with Flow Diagrams

    In modern Java systems, Spring Security is widely used, offering numerous settings for various scenarios. This diversity can be confusing when more specific configurations beyond the default formLogin(withDefaults()) are needed. This article demonstrates basic configurations with detailed component analysis through diagrams and code examples, providing a starting point for further customization.

  • Reactive Real-Time Notifications with SSE, Spring Boot, and Redis Pub/Sub

    Explore the power of reactive programming for building scalable real-time notification systems. Using Spring Boot Reactive and Spring WebFlux, leverage non-blocking operations to handle high-volume, asynchronous data flows efficiently. Discover how Redis Pub/Sub enables event-driven messaging and how the SSE protocol provides persistent connections for instant client updates without polling.

  • Optimizing Spring Boot Config Management with ConfigMaps: Environment Variables or Volume Mounts

    Spring Boot stands out as a viable framework for its agility and streamlined workflow. Yet, effective configuration management remains a pivotal factor influencing deployment efficiency and ongoing maintenance. ConfigMaps, a feature in Kubernetes, provides configuration strategies for Spring Boot applications.

BT