LuTiao Programming
Author

LuTiao Programming

LuTiao Programming is a friendly community offering free programming lessons. We inspire learners to explore new ideas and technologies and quickly acquire job-ready skills.

225
Articles
0
Likes
1.1k
Views
0
Comments
Recent Articles

Latest from LuTiao Programming

100 recent articles max
LuTiao Programming
LuTiao Programming
Aug 29, 2026 · Backend Development

Dropping findById()+save(): Spring Data Now Handles It with a Single SQL

The article explains how the traditional find‑by‑id‑then‑save pattern causes two database round‑trips and concurrency bugs, and shows that Spring Data 4.1’s single‑statement Upsert (JdbcAggregateTemplate.upsert) lets the database decide INSERT or UPDATE in one SQL, reducing latency and race conditions while outlining its limitations and ideal use cases.

ConcurrencyJDBCSpring Boot
0 likes · 13 min read
Dropping findById()+save(): Spring Data Now Handles It with a Single SQL
LuTiao Programming
LuTiao Programming
Aug 26, 2026 · Backend Development

Why a 5 ms SQL Query Holds a DB Connection for 500 ms – The Hidden Transaction Issue

The article explains how a fast SQL statement can occupy a database connection for hundreds of milliseconds because Spring’s @Transactional starts the transaction and acquires the connection long before the first JDBC statement, and shows how the new Spring Boot 4.1 `connection‑fetch: lazy` setting postpones the acquisition to solve the problem.

HikariCPLazyConnectionDataSourceProxySpring Boot
0 likes · 12 min read
Why a 5 ms SQL Query Holds a DB Connection for 500 ms – The Hidden Transaction Issue
LuTiao Programming
LuTiao Programming
Aug 22, 2026 · Backend Development

Why Spring Boot 4.1.1 Makes Controllers and JSON Unnecessary for Internal Microservice Calls

Spring Boot 4.1.1 now offers native gRPC support, letting Java microservices replace the usual REST controllers, DTOs, Feign clients and JSON payloads with a single .proto definition, generated code, and built‑in security, health, observability and testing features, while highlighting best practices and pitfalls.

JavaObservabilityProtocol Buffers
0 likes · 12 min read
Why Spring Boot 4.1.1 Makes Controllers and JSON Unnecessary for Internal Microservice Calls
LuTiao Programming
LuTiao Programming
Aug 21, 2026 · Backend Development

Spring’s New Multitenancy: Serving 1,000 Tenants with One Spring Boot App Without Hand‑Writing tenant_id

The article explains how Spring’s latest multitenancy support, combined with Spring Security, JWT and Hibernate’s @TenantId, lets a single Spring Boot application safely serve thousands of SaaS tenants by automatically isolating data, avoiding manual tenant_id filters, and handling indexes, native SQL, and async tasks.

HibernateJWTSaaS
0 likes · 11 min read
Spring’s New Multitenancy: Serving 1,000 Tenants with One Spring Boot App Without Hand‑Writing tenant_id
LuTiao Programming
LuTiao Programming
Aug 20, 2026 · Backend Development

Recreating Taobao’s 30‑Minute Unpaid Order Auto‑Close in Spring Boot Without Redis or Minute‑by‑Minute Scans

The article explains how to replace the common @Scheduled per‑minute scan or Redis TTL approach for auto‑closing unpaid orders with JobRunr’s durable delayed‑job feature in Spring Boot, detailing the implementation steps, scalability benefits, idempotent handling, and distributed execution considerations.

Background JobsIdempotencyJobRunr
0 likes · 11 min read
Recreating Taobao’s 30‑Minute Unpaid Order Auto‑Close in Spring Boot Without Redis or Minute‑by‑Minute Scans
LuTiao Programming
LuTiao Programming
Aug 19, 2026 · Backend Development

Recreating WeChat‑Style Message Recall with Spring Boot: Why Deleting Isn’t the Hard Part

The article walks through building a true WeChat‑like message recall feature in Spring Boot, explaining why simply deleting a row is insufficient and detailing the required status change, concurrency‑safe conditional update, multi‑device session handling, and cross‑instance event propagation.

Conditional UpdateSpring Bootconcurrency control
0 likes · 12 min read
Recreating WeChat‑Style Message Recall with Spring Boot: Why Deleting Isn’t the Hard Part