๐ Java & Kotlin & Spring/- spring framework +43 Multi Datasource Application ์ธํ ํ๊ธฐ (with Spring Boot 3.3 + JPA + kotlin) ๋ชฉ์ฐจMulti DataSource Application ํ๊ฒฝ์ค์ต ํ๊ฒฝ ๊ตฌ์ฑSpring Application ๊ตฌ์ฑ - 1. DataSource ๊ตฌ์ฑSpring Application ๊ตฌ์ฑ - 2. EntityMangager TxManager ๊ตฌ์ฑ 1. Multi DataSource Application ํ๊ฒฝ Spring Application ์ ๊ฐ๋ฐํ๋ค ๋ณด๋ฉด ๋ถ๋ช ํ๋์ applcation ์์ ๋๊ฐ ์ด์์ DB ๋ฅผ ๋ฐ๋ผ๋ด์ผ ํ๋ ๊ฒฝ์ฐ๊ฐ ์กด์ฌํ๋ค. ์ด๋ฒ ์ค์ต์์๋ ํ๋์ Spring Container ์์ ๋๊ฐ ์ด์์ DataSource ๋ฅผ ์ค์ ํ๋ ๋ฐฉ๋ฒ์ ๋ํด์ ์์๋ณผ ์์ ์ด๋ค. 2. ์ค์ต ํ๊ฒฝ ๊ตฌ์ฑkotlin (jdk 21)Spring Boot 3.3.4Spring Data JpaMySQL & Post.. 2024. 9. 30. AWS SDK ๋ก DLQ ์ ์์ธ ๋ฉ์์ง ์ฒ๋ฆฌํ๋ 2๊ฐ์ง ๋ฐฉ๋ฒ ๊ด๋ จ ๊ธAWS SQS + Spring Boot 3 + kotlin ์ธํ๋ผ ๊ตฌ์ถํ๊ธฐAWS SQS Consumer ์๋ฌ๋ฅผ DLQ ๋ก ์ฒ๋ฆฌํ๊ธฐmessage converter ๋ฅผ ์ด์ฉํ sqs message serializerAWS SDK ๋ก DLQ ์ ์์ธ ๋ฉ์์ง ์ฒ๋ฆฌํ๊ธฐ ์์ ์๊ฐ์ ์ฐ๋ฆฌ๋ SQS ๋ฅผ ์์ฑํ๊ณ Spring Boot 3 ๋ก producer/consumer ๋ฅผ ๊ตฌํ ํ์ฌ DLQ ๋ฅผ ์ด์ฉํ์ฌ ์๋ฌ๋ฅผ ์ฒ๋ฆฌ ํ์๋ค. DLQ ์ ์์ธ ๋ฉ์์ง๋ค์ ์ฒ๋ฆฌํ๋ ๋ฐฉ๋ฒ์ ๋ค์ํ๋ค. ์ง์ console ์ ์ด์ฉํ ์๋ ์๊ณ programmatically ํ๊ฒ ์ฒ๋ฆฌํ ์๋ ์๋ค. ์ด๋ฒ ์๊ฐ์๋ web console UI ๊ฐ ์๋ programmatically ํ ๋ฐฉ๋ฒ์ผ๋ก ๋ฉ์์ง๋ฅผ ์ฒ๋ฆฌํ๋ 2๊ฐ์ง ๋ฐฉ๋ฒ์ ๋ํด์ ์์๋ณผ.. 2024. 8. 4. DLQ ๋ก SQS Consumer ์๋ฌ ์ฒ๋ฆฌํ๊ธฐ ๊ด๋ จ ๊ธAWS SQS + Spring Boot 3 + kotlin ์ธํ๋ผ ๊ตฌ์ถํ๊ธฐAWS SQS Consumer ์๋ฌ๋ฅผ DLQ ๋ก ์ฒ๋ฆฌํ๊ธฐmessage converter ๋ฅผ ์ด์ฉํ sqs message serializerAWS SDK ๋ก DLQ ์ ์์ธ ๋ฉ์์ง ์ฒ๋ฆฌํ๋ 2๊ฐ์ง ๋ฐฉ๋ฒ ์์ ์๊ฐ์ ์ฐ๋ฆฌ๋ SQS ๋ฅผ ์์ฑํ๊ณ Spring Boot 3 ๋ก producer/consumer ๋ฅผ ๊ตฌํ ํ์๋ค. ์ด๋ฒ ์๊ฐ์๋ Consumer Application ์์ ๋ฐ์ํ ์ ์๋ ์คํจ์ ๋์ฒํ๋ ์ฌ๋ฌ ๋ฐฉ๋ฒ ์ค ํ๋์ธ DLQ ๋ฅผ ์์๋ณผ ๊ฒ์ด๋ค. ๋ํ ์ค์ต์ ํตํด Spring Boot 3 ์ kotlin ์ผ๋ก ๊ฐ๋จํ DLQ Consumer ๋ฅผ ๊ตฌํํด๋ณด๋๋ก ํ์. ๋ชฉ์ฐจDLQAWS ์์ DLQ ๊ตฌ์ฑํ๊ธฐDLQ Consumer.. 2024. 7. 29. AWS SQS + Spring Boot 3 + kotlin ์ธํ๋ผ ๊ตฌ์ถํ๊ธฐ ๊ด๋ จ ๊ธAWS SQS + Spring Boot 3 + kotlin ์ธํ๋ผ ๊ตฌ์ถํ๊ธฐAWS SQS Consumer ์๋ฌ๋ฅผ DLQ ๋ก ์ฒ๋ฆฌํ๊ธฐmessage converter ๋ฅผ ์ด์ฉํ sqs message serializerAWS SDK ๋ก DLQ ์ ์์ธ ๋ฉ์์ง ์ฒ๋ฆฌํ๋ 2๊ฐ์ง ๋ฐฉ๋ฒ ์ด๋ฒ ๊ธ์ ๋ชฉํ๋ Spring Boot ๊ณผ kotlin ์ ์ด์ฉํด์ SQS ๋ฅผ ์ฐ๋ํ๋ application ์ ๊ฐ๋ฐํ๋ ๊ฒ์ด๋ค. Spring Boot ๋ก application ์ ๋ง๋ค์ด๋ณด๋ฉฐ ๊ฐ๋ตํ๊ฒ SQS ์ ์ค์ ์ด ์ด๋ค ๊ฒ์ ์๋ฏธํ๋์ง ์์๋ณด์. ๋ชฉ์ฐจprerequisitesIAM User ์์ฑํ๊ธฐsqs ์์ฑํ๊ธฐspring boot ์ ์ฐ๋SQS ์ ์ฌ๋ฌ ์ค์ ๋ค1. prerequisities๋ค์ ๋ฒ์ ์ผ๋ก ์ค์ต์ ์งํํ ์์ ์ด๋ค.. 2024. 7. 27. Spring ์์ @Async ๋ฅผ ์ฌ์ฉํ ๋๋ ThreadPoolTaskExecutor ๋ฅผ ๋ฑ๋กํด์ฃผ์ TL;DR ์ด๋ฒ ๊ธ์ ํต์ฌ์ ์์ฝํ๋ฉด ๋ค์๊ณผ ๊ฐ๋ค @Async ์? Spring ์์ ๋น๋๊ธฐ ์์ ์ ์ฝ๊ฒ ์คํํ ์ ์๋๋ก ๋์์ฃผ๋ ๊ธฐ๋ฅ ์ ThreadPoolTaskExecutor ๋ฅผ ๋ฑ๋กํด์ผ ํ ๊น? Spring ์ ๊ธฐ๋ณธ ๋น๋๊ธฐ ์ฒ๋ฆฌ Executor ๋ ๋งค๋ฒ ์๋ก์ด thread ๋ฅผ ์์ฑ ThreadPool ์ ์ด์ฉํ ํ์๊ฐ ์์ ์ฌ์ ์ง์ Executor ์ ThreadPoolExecutor Spring ์ TaskExecutor ThreadPoolExecutor ์ดํดํ๊ธฐ ์ ํํ๋ ThreadPoolExecutor ์์์ ์ด๋ค ๋ก์ง์ ์ํด ์๋ก์ด thread ๋ฅผ ๋ง๋๋์ง ์์์ผ ํจ ์ค์ ์ ๋ฐ๋ผ single thread ์ฒ๋ผ ๋์ํ ์ ์์ ์ ์ ํ ThreadPoolTaskExecutor ์ ์ค์ ๊ฐ ์ฐพ๊ธฐ.. 2024. 4. 17. [Spring] ApplicationEventPublisher ๋ฅผ ์ด์ฉํด์ Event ๋ฅผ ๋ฐํํ๋ฉด ์ด๋ค ์ผ์ด ์ผ์ด๋ ๊น ํด๋น ๊ธ์ ์ ์ฒด ์์ค์ฝ๋๋ github ์์ ํ์ธํ ์ ์์ต๋๋ค. README ๋ฅผ ์ฐธ์กฐํ์ธ์ ๋ชฉ์ฐจ ๋๊ธฐ There is No Magic in spring ๋๊ธฐ ์ต๊ทผ์ DDD ๋ฅผ ํ์ตํ๋ฉด์ ๋๋ฉ์ธ ์ด๋ฒคํธ๋ผ๋ ๊ฒ์ ์๊ฒ ๋์๋ค. ๊ทธ๋ฌ๋ฉด์ Spring ์์ ํ VM ์์์ ์ด๋ฒคํธ๋ฅผ ๋ฐํํ๊ณ ํด๋น ์ด๋ฒคํธ๋ฅผ handling ํ๋ ์ฝ๋๋ฅผ ์ ํ๊ณ , ๊ทธ์ ๊ด๋ จํด์ ์ฌ๋ฌ ์ค์ต์ ํด๋ณด๋ ์ค Spring ์์ ๋ฌด์ธ๊ฐ Magic ์ด ์ผ์ด๋๊ณ ์๋๊ฒ ๊ฐ์ ๋๋์ ๋ฐ์๋ค. ๊ธด ๋ง ํ์ ์์ด ์๋์ ์ฝ๋๋ฅผ ํ์ธํด๋ณด์. @Entity(name = "orders") public class Order { public static Order create() { return new Order(); } @Id private Long id; .. 2022. 8. 15. ์ด์ 1 2 3 4 ยทยทยท 8 ๋ค์