@Transactional Only Works Through the Proxy

@Transactional doesn’t work just because it’s declared. Spring wraps the bean in a proxy and intercepts only the calls that go through it. Why the annotation is silently ignored on private methods and self-invocation, and how @DataJpaTest’s test transaction hides the defect.

July 5, 2026 · 5 min read

The OSI Model as Working Vocabulary

L2 switch, L3 routing, L4/L7 load balancer — where the layer numbers attached to everyday networking terms come from. How the OSI model maps to TCP/IP, and what each number refers to.

February 14, 2022 · 6 min read