Category Archives: Java

Ractor Netty Connection Pool

Reactor Netty Reference Guide – https://projectreactor.io/docs/netty/snapshot/reference/index.html TCP 통신 TCP 통신의 경우 데이터를 주고 받기 위해 HandShake 과정이 필요하다. 연결 (3 way HandShake) – 데이터 전송(request/response) – 연결해제 (4 way HandShake) Keep-Alive ? http는 기본적으로 통신때마다 Connection 연결하고 끊고가 기본이다. 그러다 보니 네트워크 측면에서 손실이 많은 편이다. 웹서비스의 경우 요청이 많은데 그때 마다 위에서 설명한 HandShake를 한다면 손해가 막심(?) 할… Read More »

Elasticsearch 7.x build via IntelliJ IDEA

Intellij 에서 elasticsearch 빌드 및 디버그 환경 구성하기. 사전 준비 IntelliJ JDK 15 or high 소스 다운로드 및 빌드 3. Intellij 에서 해당 프로젝트를 열기File -> Open -> elasticsearch 를 다운받은 폴더를 선택합니다. ( /Users/mars1/Temp/elasticsearch) 4. 빌드하기Build -> Build Project 5. 실행server프로젝트의 src/main/java/org/elasticsearch/bootstrap/Elasticsearch 의 main 클래스를 실행하면 됩니다. 하지만 그냥 실행하면 몇가지 오류를 만나게 됩니다.

Spring @PostConstruct

스프링으로 개발하다 보면 객체가 생성될때 초기화 작업을 하고 싶을때가 있다. 이럴때 클래스의 생성자에 코드를 많이 넣는데 만약 value injection 된 값을 가지고 할경우에 두가지 방법이 있다. 첫번째로 생성자 부분에 @Value 어노테이션을 사용해 값을 주입하는 방법 두번째로 @PostContruct를 활용하는 방법 @PostContruct는 Injection이 끝난 후에 실행되기 때문에 가능하다.

Spring Config Server S3 Multi Load Config

# spring config에서 멀티 s3 config를 지원하는 기능은 spring-cloud-config v3.0.2에 contribute 되었습니다. spring config server를 사용하다 보면 common 적인 설정은 따로 모아서 관리하고 싶을때가 있다. a service – a-serivce-dev.yml – common-dev.yml b service – b-service-dev.yml – common-dev.yml 다른 서비스이지만 공통적인 설정 부분은 하나의 파일로 관리하고 싶을때. spring.cloud.config.name: a-service, common 요렇게 해주면 두개의 config 파일을 로딩이… Read More »

Spring Security Custom Request Parameter 사용하기

username / password 이외에 추가 파라미터(ex: OTP 코드)를 처리하기 위한 방법이다. 간단히 요약하면 addFilterBefore 필터에 Custom UsernamePasswordAuthenticationFilter 를 추가하여 Custom WebAuthenticationDetails 로 변경하여 넘겨주는 방식 위 코드는 일부를 발췌한 내용이라 보고 참고 정도만 하세요.