spring

27 posts

spring kafka dead letter queue 설정

spring kafka dead letter queue 설정 kafka 커넥터를 사용해서 dlq를 설정하는 방법이 있고 spring을 사용해서 컨슈머를 만들었으면 스프링을 통해서 dlq를 설정 하는 방법이 있다. spring에서 dlq를 설정하는 방법에 대해서 알아 보겠다. 스프링 부트를 사용하면 위와 같은 코드를 통해서

2 min read

java 와 spring 을 이용한 헥사고날 아키텍처(hexagonal architecture)

java 와 spring 을 이용한 헥사고날 아키텍처(hexagonal architecture) Hexagonal Architecture 의 주요 기능은 구성 요소 간의 종속성이 도메인 개체 안쪽 으로 향한다는 것입니다. 도메인 개체는 외부 종속성이 없어야 된다. 순수 java 로 만들어야 하며 유즈케이스에 대한 인터페이

5 min read

스프링을 활용한 쿼리와 명령간에 데이터 동기화

스프링을 활용한 쿼리와 명령간에 데이터 동기화 CQRS 란 무엇입니까? 이 패턴은 시스템을 서로 다른 두 부분으로 나눕니다. CQRS는 쓰기 (실행 명령)에 사용되는 구성 요소와 조회 구성 요소를 분리합니다. 따라서 명령 서비스 와 쿼리 서비스 는 분리되어 있으며 별도로 운영 할 수 있습니다. CQS로 시작합시다 (나중에

36 min read

DriverManagerDataSource

DriverManagerDataSource 서비스를 동작시키는데 특정 포트가 오픈된 소켓개수가 너무 많았다. 확인해 보니 DB포트이다 이상해서 어플리케이션의 커넥션 풀을 확인해보는데 DriverManagerDataSource를 사용한 것이다. DriverManagerDataSource는 아래처럼 내용이다. 커넥션 풀을 사

2 min read

spring 이벤트

스프링 이벤트 스프링에서 ApplicationEvent를 상속받아서 구현된 이벤트를 수신할수 있는 방법이 여러가지 있다. 기본적으로 ApplicationListener를 상속 받아서 구현하는 방법 두번째로 @EventListener 어너테이션을 사용해서 처리하는 방법 세번째로 @TransactionalEventListen

2 min read

스프링 부트 애플리케이션 설치하기

스프링 부트 애플리케이션 설치하기 Spring Boot 응용 프로그램을 사용하여 실행하는 것 외에도 java jarUnix 시스템에 대해 완벽하게 실행 가능한 응용 프로그램을 만들 수도 있습니다. 완전히 실행 jar는 다른 실행 가능한 바이너리처럼 수행 할 수 있거나 할 수 있습니다 에 등록 init.d하거나systemd

9 min read

spring kafka consumer sample

spring kafka consumer sample 스프링 카프카로 간단한 consumer sample 프로그램 해볼려고 한다. 처음에는 카프카를 다운 받고 에 3번항목 토픽생성까지 한후에 스프링 컨슈머를 시작하면 간단하게 정보를 볼수있다. 일단 로컬에 환경을 맞춘다는 가정하에 코드를 만들었는데 프로퍼티에 spring.k

1 min read

spring kafka sample

spring kafka sample 스프링 카프카로 간단한 sample 프로그램 해볼려고 한다. 프로그램 자체는 스프링 카프카 자체 sample 코드를 사용하려고 한다. 그럼 먼저 카프카를 다운로드 하겠다. 압축을 푼후에 다음 명령어를 실행하겠다. 주키퍼 실행 실행이 되면 카프카를 실행하겠다. sample1 첫번째 샘플은

3 min read

HV000030: No validator could be found for constraint

HV000030: No validator could be found for constraint 내 로컬 맥북에서는 정상적으로 동작하는데 windows에 있는 tomcat에만 올리면 에러가 나기 시작한다. 하지만 catalina.out에는 에러 로그가 찍히지 않고 리턴되는 값은 500에러로 아래의 값이 찍히기 시작했다. 너

2 min read

스프링 jackson enum deserializer

스프링 jackson enum deserializer json 메시지를 받는 rest api를 만들때 enum을 사용해 메시지를 받을때 하는법 위에 enum 객체가 있는데 이부분에서 @JsonCreator 와 @JsonValue 를 사용하여 직렬화와 역직렬화를 하게 된다 컨트롤러를 보면 위에 처럼 코딩을 하고 Breake

3 min read

spring data jpa repositorys로 작업하기(Query Methods 정의)

spring data jpa repositorys로 작업하기(Query Methods 정의) 저장소 프록시에는 메소드 이름에서 상점 특정 조회를 파생시키는 두 가지 방법이 있습니다. 메서드 이름에서 직접 쿼리를 파생시킵니다. 수동으로 정의 된 쿼리를 사용합니다. 사용 가능한 옵션은 실제 상점에 따라 다릅니다. 그러나 실제

16 min read

스프링 배치 처음 따라하기 튜토리얼

스프링 배치 처음 따라하기 튜토리얼 먼저 지금 회사에 배치서비스를 만드는데 corontab에 등록을 시켜서 java main을 실행 그것을 통해서 배치 서비스를 실행 시킨다 해당 코드는 전체 백엔드와 통합이 되어 실행이 되며 그것으로 인해 의존성 라이브러리등 값을 vm 옵션을 통해서 주고 있다. 위에 방법을 하니 매번 배

5 min read

HTTP PUT 메소드

HTTP PUT 메소드 rest api 디자인을 해서 서비스를 하는데 PUT 메소드를 사용하면서 Form 파라미터를 선언해서 전달함. HTML form에서는 PUT 메소드를 지원하지 않습니다. 그리고 응답 값을 200으로 전달하고 있는데 PUT 메소드에서는 PUT요청이 성공적으로 해당 자료를 생성 했다면 서버는 반드시 사

2 min read

톰캣 데이터 소스 min-idle

톰캣 데이터 소스 min idle 작년 8월쯔음에 spring boot로 프로젝트를 하나 만들어서 진행했습니다. 내부 임베디드 톰캣을 사용해서 서버를 기동시켰고 정상적으로 동작하는것으로 판단했습니다. 아래는 해당 프로젝트 설정 입니다. 스프링 부트 버전 자바 스프링 설정 프로퍼티 설정 위에 처럼 기본 datasource

2 min read

스프링 배치 Step 에 Chunk 처리와 Tasklet 처리의 차이

스프링 배치 Step 에 Chunk 처리와 Tasklet 처리의 차이 Step 일괄 작업의 독립적 연속 상을 캡슐화 정의와 실제 배치 공정을 제어하는 데 필요한 모든 정보를 포함하는 도메인 객체이다. Step 다음 두 가지 방법 중 하나로 처리 할 수 있습니다. Chunk : Spring Batch는 가장 일반적인 구현

3 min read

나만의 스프링 부트 스타터 만들기

나만의 스프링 부트 스타터 만들기 auto configuration Bean에 이해 내부적으로 자동 구성은 표준 @Configuration클래스로 구현됩니다 . 추가 @Conditional 어너테이션은 자동 구성이 적용되어야하는시기를 제한하는 데 사용됩니다. 일반적으로 자동 구성 클래스는 @ConditionalOnClas

14 min read

왜 Spring service에 Interface를 만들어야 할까?

Service 부분에 interface를 사용하는 이유는 단위 컴포넌트로서 경계가 되는 부분이며, transaction 처리, exception 처리 등의 AOP 처리가 주로 service 부분에 지정되기 때문(?) 1. Spring AOP는 두가지 Type의 Proxy를 지원 그 첫번째는 JDK의 Proxy 기능을 이용

3 min read