
๐ To Do List

๐ฉ๐ป๐ป Today I Lean ...
Web Socket Stopm Client ์ง๋ ฌํ ์ค์

์น์์ผ ํด๋ผ์ด์ธํธ ๊ฐ์ ์์ ์ฝ๋ ๋ฐ๋ผํ๋ ๋์ค, MappingJackson2MessageConverter๊ฐ deprecated ๋๋ค๋ ๋นจ๊ฐ์ค์ด ๋ด๋ค.

Caused by: java.lang.ClassCastException: class java.util.HashMap cannot be cast to class [B (java.util.HashMap and [B are in module java.base of loader 'bootstrap')
at org.springframework.web.socket.messaging.WebSocketStompClient$StompWebSocketMessageCodec.encode(WebSocketStompClient.java:551) ~[spring-websocket-7.0.2.jar:7.0.2]
๋ฉ์ธ์ง ์ปจ๋ฒํฐ ์ค์ ์ ํ์ง ์์ ์ํ๋ก ์ดํ๋ฆฌ์ผ์ด์ ์ ์คํํ๋ฉด, HashMap์ ๊ทธ๋๋ก ์ ๋ฌํ๊ธฐ ๋๋ฌธ์
๋ฉ์ธ์ง ์ปจ๋ฒํฐ ์ค์ ์ ํตํด JSON์ผ๋ก ์ง๋ ฌํ ํด์ฃผ๋ ๊ณผ์ ์ด ํ์ํ๋ค.
deprecated ๋ฌธ์ ๋ Jackson 3 ๊ธฐ๋ฐ์ JacksonJsonMessageConverter์ ์ฌ์ฉํ๋ ๊ฑธ๋ก ํด๊ฒฐํ๋ค.


์ปคํ ์ฑ 1์ฐจ ๋ฐ์นญ์ ์ค์๊ฐ ์กฐํ ๊ธฐ๋ฅ์ ๋ฃ์๊น ๋ง๊น ๊ณ ๋ฏผ์ค์ธ๋ฐ, ๋ฃ๊ฒ ๋๋ฉด ์น์์ผ์ผ๋ก ๊ตฌํํ๊ฒ ๋ ๊ฒ ๊ฐ๋ค.
Kotlin์์ ์์ ๋ค๋ฃจ๊ธฐ

Kotlin์์๋ static ๋์ companion object(๋ํ ๊ฐ์ฒด)๋ฅผ ์ฌ์ฉํ๋ค.
Java์์ 'static ์์ญ์ ์๋ค.'๋ ๊ฒ์ ํด๋์ค๊ฐ ์ธ์คํด์คํ ๋ ๋, ์๋ก์ด ๊ฐ์ด ๋ณต์ ๋๋ ๊ฒ ์๋๋ผ ์ ์ ์ผ๋ก ์ธ์คํด์ค๋ผ๋ฆฌ์ ๊ฐ์ ๊ณต์ ํ๋ ๊ฒ์ ์๋ฏธํ๋ค.
๋ง์ฐฌ๊ฐ์ง๋ก Kotlin์ ๋ํ ๊ฐ์ฒด๋ ์ธ์คํด์ค๊ฐ ์ฌ๋ฌ ๊ฐ ์๊ธฐ๋๋ผ๋, ํด๋น ํด๋์ค์ ๋ํํ๋ ์ ์ผํ ์ค๋ธ์ ํธ๋ผ๊ณ ์๊ฐํ๋ฉด ๋๋ค.
(์ถ์ฒ: ์ธํ๋ฐ - ์๋ฐ ๊ฐ๋ฐ์๋ฅผ ์ํ ์ฝํ๋ฆฐ ์ ๋ฌธ(Java to Kotlin Starter Guide) )
์์ ๊ฐ์ ๋ค๋ฃจ๊ธฐ ์ํด์๋ const ํค์๋๋ฅผ ๋ถ์ฌ์ค๋ค.
๊ทธ๋ฅ val๋ง ์ฌ์ฉํ๋ ๊ฒฝ์ฐ์๋ ๋ฐํ์ ์ ๊ฐ์ด ํ ๋น๋๊ณ , const ํค์๋๋ฅผ ๋ถ์ธ ๊ฒฝ์ฐ์๋ ์ปดํ์ผ ์ ๋ณ์๊ฐ ํ ๋น๋๋ค.
'Today I Learned ๐ง' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [TIL-20260127] @AuthenticationPrincipal , Swagger JWT ์ธ์ฆ ์ค์ (0) | 2026.01.27 |
|---|---|
| [TIL-20260124] Spring Batch Reader ๊ตฌํ (0) | 2026.01.24 |
| [TIL-20260122] ํ๊ฒฝ์ ๋ฐ๋ฅธ ๊ฐ ์ค์ ํ๊ธฐ (Spring Environment, Kotlin buildList) (0) | 2026.01.22 |
| [TIL-20260118] JPA ๋ณ๊ฒฝ ๊ฐ์ง (Dirty Checking) (3) | 2026.01.18 |
| [TIL-20260117] Spring JPA ์ปฌ๋ผ์ ์ฝ๋ฉํธ ๋ฌ๊ธฐ (0) | 2026.01.17 |
