Trouble Shooting

1. https://๋„๋ฉ”์ธ์ฃผ์†Œ ์น˜๋ฉด http://ip์ฃผ์†Œ๋กœ ์ด๋™๋˜๋Š” ๋ฌธ์ œ ๋•Œ๋ฌธ์— ๊ณ„์† ์˜ค๋ฅ˜๋‚จ-->  mixed content ์˜ค๋ฅ˜, https ์—์„œ http๋กœ ์š”์ฒญ์„ ๋ณด๋‚ด๋ฉด ๋ฐœ์ƒํ•˜๋Š” ์˜ค๋ฅ˜์ธ๋ฐ ๊ตฌ๋งคํ•œ ๋„๋ฉ”์ธ๊ณผ ssl ์ธ์ฆ์„œ ์ ์šฉ๊นŒ์ง€ ๋‹ค ํ•ด์คฌ๊ณ  ํ”„๋ก์‹œ ์„ค์ •๊นŒ์ง€ ํ–ˆ๋Š”๋ฐ ๋” ์ด์ƒ ๋ญ˜ ์ˆ˜์ •ํ•ด์•ผ ๋  ์ง€ ๊ฐ๋„ ์•ˆ ์˜ด๋ฐฑ์—”๋“œ์—์„œ๋Š” ์ž˜๋ชป๋œ ๋ถ€๋ถ„์ด ์—†์—ˆ๊ณ  ํ”„๋ก ํŠธ์—์„œ ๋ญ˜ ๊ณ ์ณค๋Š” ์ง€ ๊ฒฐ๊ตญ์—” ํ•ด๊ฒฐ์ด ๋จ--> https://๋„๋ฉ”์ธ์ฃผ์†Œ/api ๋กœ ์š”์ฒญ๋ณด๋‚ด๋ฉด ๋ฐฑ์—”๋“œ ์„œ๋ฒ„๋กœ ์ž˜ ๋„˜์–ด๊ฐ 2. ๊ทธ๋žฌ๋”๋‹ˆ๋งŒ ์ด์ œ cors์—๋Ÿฌ ๋ฐœ์ƒ--> spring security ์ฝ”๋“œ์—์„œ๋„ cors ์„ค์ • ๋ถ„๋ช… ๋‹ค ํ•ด์คฌ๋Š”๋ฐ ์˜ค๋ฅ˜๋‚จ.. --> ๊ฒ€์ƒ‰ํ•ด๋ณด๋‹ˆ nginx ์—์„œ๋„ ์„ค์ •์„ ํ•ด์ค˜์•ผ ๋์Œ--> n์‹œ๊ฐ„๋™์•ˆ ์‚ฝ์งˆํ•˜๋ฉด์„œ confํŒŒ์ผ ์ˆ˜์ •ํ•˜๊ณ  ์žฌ์‹คํ–‰ํ•˜๊ณ  ๋ฌดํ•œ๋ฐ˜๋ณต ํ–ˆ๋Š”..
ํด๋ผ์šฐ๋“œ ์„œ๋ฒ„์˜ ์•„์›ƒ๋ฐ”์šด๋“œ 443 ํฌํŠธ๊ฐ€ ์•ˆ ์—ด๋ ค์žˆ์—ˆ์Œ ์—ด์–ด์ฃผ๋‹ˆ๊นŒ ๋œ๋‹ค
> Task :testApplicationTests > contextLoads() FAILED java.lang.IllegalStateException at DefaultCacheAwareContextLoaderDelegate.java:180 Caused by: org.springframework.beans.factory.BeanCreationException at AbstractAutowireCapableBeanFactory.java:1786 Caused by: org.hibernate.service.spi.ServiceException at AbstractServiceRegistryImpl.java:276 Caused by: org.hi..
Spring Security ์™€ jwt๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋กœ๊ทธ์ธ์„ ํ•ด์„œ token ๋ฐ˜ํ™˜ํ•ด์ค„ ๋•Œ ๋ฐœ์ƒํ•œ ์˜ค๋ฅ˜ ECDSA signing keys must be PrivateKey instances return Jwts.builder() .setSubject(authentication.getName()) .claim(AUTHORITIES_KEY, authorities) .signWith(key, SignatureAlgorithm.ES512) .setExpiration(validity) .compact(); ์—ฌ๊ธฐ์„œ .signWith(key, SignatureAlgorithm.ES512) ์ด ๋ถ€๋ถ„์„ `SignatureAlgorithm.ES512` ์—์„œ `SignatureAlgorithm.HS512` ๋กœ ๋ฐ”๊ฟ”์ฃผ๋ฉด ๋จ
@RequestBody List messageIds ํ˜•์‹์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ž…๋ ฅ๋ฐ›๋Š” ๋ฉ”์„œ๋“œ { "messageIds": ["20240203185745950419", "20240205104508440444"] } ์ด json ํ˜•ํƒœ๋กœ ๋„ฃ์–ด์„œ ํฌ์ŠคํŠธ๋งจ ์‹คํ–‰ํ•ด๋ณด๋‹ˆ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•จ JSON parse error: Cannot deserialize value of type `java.util.ArrayList` from Object value (token `JsonToken.START_OBJECT`)]โ€‹ ใ…‡3ใ…‡..? ํ•ด๊ฒฐ๋ฐฉ๋ฒ• ["20240203185745950419", "20240205104508440444"] ๋ณ€์ˆ˜๋ช… ์จ์ค„ ํ•„์š” ์—†์ด ๊ฑ ์ด๋ ‡๊ฒŒ ๋ƒ…๋‹ค ๋„ฃ์œผ๋ฉด ๋œ๋‹ค ์—ํšจํšจ ์‚ฝ์งˆ์€ ์ด์ œ ๊ทธ๋งŒ
table์˜ pk๋Š” `GENERATED ALWAYS AS IDENTITY` ๋กœ ์„ค์ •์ด ๋˜์–ด ์žˆ์Œ ๊ฐ’์„ ๋„ฃ์–ด์ค„ ๋•Œ pk๋นผ๊ณ  ๊ฐ’์„ ๋„ฃ์–ด์คŒ save๋ฅผ ํ•ด์ฃผ๋ ค๊ณ  ํ•˜์ž ids for this class must be manually assigned before calling save(): ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒ ํ•ด๊ฒฐ๋ฐฉ๋ฒ• ์—”ํ‹ฐํ‹ฐ pkํ•„๋“œ @Id ์–ด๋…ธํ…Œ์ด์…˜ ๋ฐ‘์— `@GeneratedValue(strategy = GenerationType.IDENTITY)` ๋ฅผ ์ถ”๊ฐ€ํ•จ
java.lang.IllegalStateException: Duplicate key 10 List to Map ์‹œ Key ๊ฐ’์ด ์ค‘๋ณต์ผ ๊ฒฝ์šฐ Duplicate Key์—๋Ÿฌ ๋ฐœ์ƒ `mergeFunction` ์„ `(existing, replacement) -> existing` ๋กœ ์„ค์ •ํ•ด์ฃผ์ž ์ค‘๋ณต๋œ ํ‚ค๊ฐ€ ์žˆ์„ ๋•Œ ๊ธฐ์กด ๊ฐ’์„ ์œ ์ง€ํ•˜๊ณ  ์ƒˆ๋กœ์šด ๊ฐ’์„ ๋ฌด์‹œํ•˜๋Š” ๋ฐฉ์‹ Map contactNumberMap = contactNumbers.stream() .collect(Collectors.toMap( NbbContactNumber::getContactTypeCd, NbbContactNumber::getCommNo, (existing, replacement) -> existing));
๐Ÿ‘€์˜ค๋ฅ˜ No EntityManager with actual transaction available for current thread - cannot reliably process 'merge' call ์ผ๋ถ€ ์ปฌ๋Ÿผ์„ ์—…๋ฐ์ดํŠธ ํ•˜๋Š” ๋ฉ”์„œ๋“œ๋ฅผ ์‹คํ–‰ํ•˜๋ ค๊ณ  ํ–ˆ๋Š”๋ฐ ๋ฐœ์ƒํ•œ ์˜ค๋ฅ˜ โœ”๏ธ์›์ธ ๊ธฐ๋ณธ์ ์œผ๋กœ JPA๋Š” transaction์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์ž‘๋™ํ•˜๊ฒŒ ๋˜์–ด์žˆ์Œ transaction ๋‹จ์œ„์— ๋”ฐ๋ผ 1์ฐจ ์บ์‹œ์˜์—ญ์— ์žˆ๋Š” ๊ฐ์ฒด๋“ค์ด db์— flush๋˜์–ด ์˜์†ํ™”๋˜๊ธฐ ๋•Œ๋ฌธ ๊ทธ๋Ÿฌํ•œ ์˜์† ์ž‘์—…์„ ํ•˜๋Š” persist() ๋ฉ”์†Œ๋“œ์— ๊ฐ์ฒด๊ฐ€ ๋“ค์–ด๊ฐ”์œผ๋‚˜ ๊ฐ€๋Šฅํ•œ transaction์ด ์กด์žฌํ•˜์ง€ ์•Š์•˜๊ธฐ์— ๋ฐœ์ƒํ•œ ์˜ค๋ฅ˜ โ˜˜๏ธํ•ด๊ฒฐ ํ•ด๋‹น ์ž‘์—…์„ ์‹คํ–‰ํ•˜๋Š” ๋ฉ”์„œ๋“œ์— `@Transactional` ์„ ์–ธํ•ด์คŒ
sebarii
'Trouble Shooting' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก