일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- ansible
- CRD
- cloud native java
- devops
- MSA
- Microservice
- nGrinder
- java
- MySQL
- 쿠버네티스
- 동기화
- decorator 패턴
- Spring
- 코틀린
- 클라우드 네이티브
- 마이크로서비스
- Algorithm
- 헬름
- Kotlin
- kubernetes
- ingress
- 자바
- 머신러닝
- Adapter 패턴
- Stress test
- spring microservice
- 클라우드 네이티브 자바
- Semaphore
- cloud native
- 익명클래스
- Today
- Total
목록Java/Spring (3)
카샤의 만개시기
낙관적 락 (Optimistic Lock) 트랜잭션 대부분 충돌이 발생하지 않는다고 가정하는 방법으로써 어플리케이션이 제공하는 락 방식입니다. 그러므로 읽는 시점에 Lock을 사용하지 않기 때문에 데이터를 수정하는 시점에 다른 사용자에 의해 데이터가 변경되었는지 변경여부를 확인해야 합니다. 이렇게 낙관적 락은 트랜잭션을 커밋하기 전까지는 트랜잭션의 충돌 여부를 알 수 없습니다. @Version JPA가 제공하는 낙관적 락을 사용하려면 @Version 어노테이션을 사용하여 버전 관리를 추가하면 되며 지원되는 타입은 long, Long, int, Integer, short, Short, TimeStamp 이다. @Version 어노테이션을 붙이면 엔티티가 수정될때 자동으로 버전이 하나씩 증가하며, 수정할때 ..
HttpClient는 HTTP를 사용하여 통신하는 범용 라이브러리이고, RestTemplate은 HttpClient 를 추상화(HttpEntity의 json, xml 등)해서 제공해준다. 따라서 내부 통신(HTTP 커넥션)에 있어서는 Apache HttpComponents 를 사용한다. 작동원리 어플리케이션이 RestTemplate를 생성하고, URI, HTTP메소드 등의 헤더를 담아 요청한다. RestTemplate 는 HttpMessageConverter 를 사용하여 requestEntity 를 요청메세지로 변환한다. RestTemplate 는 ClientHttpRequestFactory 로 부터 ClientHttpRequest 를 가져와서 요청을 보낸다. ClientHttpRequest 는 요청메세..
AOP는 관점지향 프로그래밍(Aspect Oriented Programming)으로써, 공통 기능(로깅, 트랜잭션, 접근 제어 등의 보안) 등에 대한 횡단 영역의 공통된 부분의 중복을 제거하고 모듈화 하는 프로그래밍 방식이다. Aspect 공통으로 적용되는 기능 Advice 언제 Aspect을 로직에 적용할 지를 정의. @Before 메소드 실행 전 기능 수행. @After 메소드 결과와 상관없이 메소드가 완료 된 이후에 기능 수행. @AfterReturning 메소드가 성공적으로 완료 된 이후에 기능 수행. @AfterThrowing 메소드 수행 중 예외 발생 시 이후에 기능 수행. @Around 메소드가 실행되기 전과 후 기능 구행. proceed() 메소드 호출 전, 후를 통해 구분할 수 있다. J..