Project

Project/개인프로젝트

[Error] Multi Module 적용 에러

멀티모듈 적용중 API Test를 하다 에러를 만나 기록하려고 합니다. 이상하게 모든 요청을 Found 할 수 없다고 응답결과가 돌아왔습니다. 변경한 것은 Multi Module을 적용한것 밖에 없어 검색을 해보았지만, 제 프로젝트에는 해당되는것이 없었습니다. 그러다 Multi Module간에 Bean이 서로 적용되지 않았나? 라는 생각을 했습니다. 2가지 잘못된 점이 있었습니다. Multi Module간에 중복 Bean Multi Module을 적용하면서 RepositoryImp를 core에서 sns모듈로 옮길때 core에 있는 RepositryImpl들을 옮기지 않았고 이때 각 모듈들은 같은 Bean을 공유하지 않았습니다. core의 Repositry들은 삭제하여 중복되는 Bean들을 제거하였습니다...

Project/개인프로젝트

Spring Integration 적용하기

Spring Integration은 메시지 기반 애플리케이션 개발을 적용하기 위해 사용하였습니다. Spring Integration은 유기적으로 연결해서 효율적으로 통합하는 방법을 여러 패턴을 통해 사용할 수 있게 도와주는 프레임워크입니다. Spring Integration에 대해서는 블로그에 설명한 글이 많기 때문에 자세한 설명은 생략하겠습니다. Spring Integration Point🔥 아래 3가지만 기억하시면 주요 기능을 사용하기에 충분합니다. Message 전송할 데이터가 담긴 Wrapper Class Channer (Pipes Line) Message Wrapper Class가 발/수신 되는곳 Endpoint (Filters) GateWay Message Wrapper Class의 출/도착지..

Project/개인프로젝트

ThreadLocal적용하여 Thread 안에서의 값을 공유하기

ThreadLocal이란? 스레드의 Stack마다 정보를 따로 저장할 수 있는 공간입니다. ThreadLocal을 이용하면 쓰레드 영역에 변수를 설정할 수 있기 때문에, 특정 쓰레드가 실행하는 모든 코드에서 그 쓰레드에 설정된 변수 값을 사용할 수 있습니다. 내부적으로 HashTable의 구조를 갖고 있습니다. 스레드 전용 전역변수라는 느낌을 받았습니다. 사용 이유 Spring Integration을 사용하여 Message기반 이벤트 처리를 하고 있습니다. Command가 성공적으로 Transaction Commit을 성공하였을때 AOP를 활용하여 Event 처리를 하고 있습니다. 이때 Commit을 성공한 정보를 ThreadLocal에 저장하여 Event Channel로 보낼때 사용하였습니다. 궁금하시..

Project/개인프로젝트

[Spring Integration] Direct Channel과 Executor Channel 차이

Spring Integration을 사용하던중 메세지 기반 처리를 하기위해 비동기 처리를 해야했습니다. 기존에 사용하던 Direct Channel을 사용했을때 비동기 처리가 되지않아던 것을 해결하는 과정을 정리한 글입니다. Direct Channel point-to-point 채널이지만 PublishSubscribeChannel입니다. 구독자에게직접 메시지를 발송하지만, point-to-point채널이기에 하나의 endPoint에 message를 전송한다는 점에서 PublishSubscribeChannel과 다릅니다. 특히 중요한 점은 단일 스레드로 구현이 됩니다. 문제 원인 Direct Channel을 단일 스레드입니다. 그래서 해결한 방법은 gateway로 넘겨줄때 ThreadPool을 직접 설정하여..

Sol b
'Project' 카테고리의 글 목록 (2 Page)