Spring을 처음 배울때 AOP 부분을 이해하기 힘들었다. 막 Spring이 본격적으로 쓰이던 시기라 설명도 다 직역으로 되어 있고 (영어를 잘 못함..) 머리도 썩 좋은 편이 아니라 어려웠던것 같다. 역시 정답은 계속 써보는것 밖에 없는것 같다. 하지만 Springboot이 나오고 이런 Spring의 기본 개념을 확실하게 모르더라도 기능들을 막강하게 제공을 해주다보니 Spring을 처음 접하는 사람도 진입장벽 없이 들어올 수 있게 만들어 놓은것 같다. 그중 하나가 오늘 다룰 내용인 @RestControllerAdvice 인것 같다. 이름에서부터 감이 올수도 있겠지만 이것은 @RestController와 @ControllerAdvice를 합쳐 놓은 것이다. 즉 Controller 단에서 쉽게 AOP를 ..
Springboot와 Redis를 연동해보고 있다. Redis가 RDBMS처럼 주로 중요한 데이터를 다루지 않고 Cache 성의 데이터를 처리하는 Key-Value store지만 그래도 중요하다. 이를테면 이전 글에서 다룬 세션 클러스터링 같은것을 하나의 Redis에서 처리를 하다가 그 Redis가 문제가 생기면 세션도 모두 죽게 된다. 이런것을 방지하기 위해 Redis도 Cluster를 구성해야 한다. 물론 이걸 사용하는 Springboot에서는 이에 대한 설정도 함께 해줘야 한다. Redis Cluster 구성 일단 Redis Cluster 구성은 좋은 글들이 정말 많이 있다. 추천할만한 글은 daddyprogrammer.org/post/1601/redis-cluster/ Redis - cluster..
Springboot + Redis 연동하는 예제 (1) 기본 지난번에 Redis 설치와 간단한 테스트를 해보았고 이번에는 설치한 Redis를 springboot와 연동하는 방법에 대해 알아보겠다. springboot의 장점 중 하나는 다른 솔루션과의 integration이 아닐까 싶다. 전에 oingdaddy.tistory.com 이 글을 통해서 Redis 설치부터 Springboot 연동까지 진행을 했었다. 이번에는 이전 포스팅에 이어서 Springboot + Redis 를 통해 Session Clustering을 하는 방법에 대해 알아보겠다. 예제는 지난번에 만든 샘플 프로젝트를 이어서 진행을 하도록 하겠다. 1. Springboot Redis Session 관련 설정 Springboot에서는 아주 ..
지난번에 Redis 설치와 간단한 테스트를 해보았고 이번에는 설치한 Redis를 springboot와 연동하는 방법에 대해 알아보겠다. springboot의 장점 중 하나는 다른 솔루션과의 integration이 아닐까 싶다. 전에 작성한 application.yml 파일에서 integration 할 수 있는 property들에 대해서 봤는데 여기에 있는 솔루션들은 모두 쉽게 springboot 환경에서 사용할 수 있다고 보면 된다. Redis도 그중 하나다. 1. 사전작업 - Redis 설치 일단 위의 링크를 따라가서 Redis를 설치하고 구동을 시켜놓자. 그리고 잘 되는지 테스트도 해보자. 일단 다음과 같이 Redis 에 값을 하나 넣어 놓았다. 잘 된다면 springboot와 연동하기 위한 다음 단..
지난 시간에는 kafka를 설치하여 topic을 발행하고 producer가 메세지를 보내고 consumer가 메세지를 받는 것을 예제를 통해 알아보았다. 이번에는 kafka를 테스트를 했던 CLI 환경이 아닌 springboot app에서 어떻게 사용하는지에 대해 알아보도록 하겠다. 일단 zookeeper 및 kafka 설치는 위의 링크를 따라가서 기본적인 kafka 환경을 구축해 두도록 하자. 예제까지 한번 다 해봤다면 다음은 STS에서 프로젝트를 만드는 것부터 해보도록 하자. 이미 프로젝트가 있고 kafka 연동 추가를 해야 하는 사람은 아래의 kafka dependency만 추가해주면 된다. 1. Spring Starter Project 생성 Spring for Apache Kafka, Spring..
springboot에서 kafka 설정을 위한 property 목록이다. Key Default Value Description spring.kafka.admin.client-id ID to pass to the server when making requests. Used for server-side logging. spring.kafka.admin.fail-fast false Whether to fail fast if the broker is not available on startup. spring.kafka.admin.properties.* Additional admin-specific properties used to configure the client. spring.kafka.admin.secu..
springboot의 설정 파일인 application.properties or application.yml 파일 내에서 다양한 속성을 지정할 수 있다. 내게 필요한 속성을 찾아서 프로젝트에 적용하면 된다. # =================================================================== # COMMON SPRING BOOT PROPERTIES # # This sample file is provided as a guideline. Do NOT copy it in its # entirety to your own application. ^^^ # ===================================================================..
spring을 기동하거나 화면을 열때 아래와 같은 메세지를 심심치않게 만날 수 있다. [11:04:03.874][ERROR][o.a.c.c.C.[.[localhost].[/].[jsp].log:line175] - Servlet.service() for servlet [jsp] threw exception javax.servlet.jsp.JspTagException: No message found under code 'MSG.OING.SEARCH' for locale 'ko_KR'. at org.springframework.web.servlet.tags.MessageTag.doEndTag(MessageTag.java:294) jsp 화면을 열때 MSG.OING.SEARCH 라는 메세지를 찾을수 없어서 생기..