본문 바로가기

Spring19

Spring - JpaTransactionManager의 동작 원리 JpaTransactionManager 지난 포스팅에서는 TransactionManager에 대해서 알아보았다. Spring - TransactionManager란? TransactionManager란? 문제점 Spring에서 사용할 수 있는 DB 접근 기술들에는 순수 JDBC, JPA, R2DBC, 등의 다양한 기술들이 있다. 그런데 각각의 기술들은 서로 다른 Transaction 처리 방법을 제공한다. 아래는 obv-cloud.com 오늘은 실무에서 가장 많이 사용되는 TransactionManager의 구현체인 JpaTransactionManager가 어떻게 동작하는지 살펴보도록 하겠다. 시작하기에 앞서 알아 둬야할 것은 아래 예시처럼 TransactionManager는 트랙잭션의 ID 같은 정보들.. 2023. 1. 9.
Spring - TransactionManager란? TransactionManager란? 문제점 Spring에서 사용할 수 있는 DB 접근 기술들에는 순수 JDBC, JPA, R2DBC, 등의 다양한 기술들이 있다. 그런데 각각의 기술들은 서로 다른 Transaction 처리 방법을 제공한다. 아래는 JDBC와 JPA의 차이점을 보여주는 예시이다. 순수 JDBC의 Transaction Connection con = dataSource.getConnection(); try { con.setAutoCommit(false);//트랜잭션 시작 //비즈니스 로직 bizLogic(con, fromId, toId, money); con.commit(); //성공시 커밋 } catch (Exception e) { con.rollback(); //실패시 롤백 throw .. 2023. 1. 7.
Spring - MVC 작동 원리 3 ~ 4년간 스프링을 잘 사용해왔지만 내부적으로 어떻게 작동하는지에 대해서는 대충 겉핥기로 알고 있었다. 항상 어떻게 동작하는지 궁금증이 있었지만 정보를 찾기 어려웠다. 우연치 않게 김영한님의 스프링 MVC 강의를 듣게 됐고 명쾌한 답을 찾을 수 있었다. 강의에서 공부한 내용을 바탕으로 스프링 MVC가 어떻게 내부적으로 동작하는지에 대해서 최대한 상세히 정리해보려고 한다. ServletContainer 역할 순차적으로 어떻게 스프링 MVC가 동작하는지 설명해보겠다. 시나리오는 @RequestMapping을 사용했다고 가정한다. 사용자가 스프링 서버에 HTTP 요청을 날리면 WAS가 요청을 받는다. 이때 WAS는 스레드를 하나 생성하고 HttpServletResponse와 HttpServletReques.. 2022. 12. 13.
Spring - ldap unable to find valid certification path to requested target 에러 규모가 있는 기업에서는 LDAP을 많이 사용한다. LDAP이 단순하면서도 부서를 나누는게 효율적이기 때문이다. 오늘은 LDAP에 대한 이야기가 아니라 Spring에서 ldap을 연동할 때 발생하는 에러에 대해서 원인과 해결하는 방법을 알아보도록하겠다. 사내 LDAP 서버에 평문 통신을 할 때는 문제가 없었는데 SSL 요청을 날렸더니 아래와 같은 에러를 만나게 되었다. javax.naming.CommunicationException: simple bind failed: 서버URL [Root exception is javax.net.ssl.SSLHandshakeException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBui.. 2022. 8. 18.