본문 바로가기

개발중

(595)
[JPA] org.springframework.dao.InvalidDataAccessResourceUsageException: could not extract ResultSet; SQL [n/a]; nested exception is org.hibernate.exception.SQLGrammarException: could not extract ResultSet InvalidDataAccessResourceUsageException 오류 발생 InvalidDataAccessResourceUsageException 예외는 스프링 프레임워크에서 데이터 액세스 중에 잘못된 사용으로 인해 발생하는 일반적인 예외입니다. 이 예외는 주로 데이터베이스와 상호 작용할 때 잘못된 SQL 문법, 잘못된 데이터베이스 스키마 이름, 존재하지 않는 테이블에 대한 쿼리, 데이터 타입 불일치 등 데이터 액세스 계층에서 발생하는 다양한 문제들을 나타냅니다. org.springframework.dao.InvalidDataAccessResourceUsageException: could not extract ResultSet; SQL [n/a]; nested exception is org.hib..
GC overhead limit exceeded 에러 확인하기 발생 에러 [dispatcherServlet] - Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Handler processing failed; nested exception is java.lang.OutOfMemoryError: GC overhead limit exceeded] with root cause java.lang.OutOfMemoryError: GC overhead limit exceeded at java.util.Arrays.copyOf(Arrays.java:3181) at java.util.ArrayList.grow(ArrayList.java:265) at java.util..
[Error] swagger Failed to load remote configuration. (시큐리티 설정한 후 에러발생) 아래와 같은 의존성으로 스웨거 설정이 성공적으로 마쳤으나, 시큐리티 설정한 후에 위와 같은 화면이 뜨는 것을 확인했습니다. implementation group: 'org.springdoc', name: 'springdoc-openapi-starter-webmvc-ui', version: '2.2.0' 이런 이슈를 해결하려고 구글링을 해보니 아래와 같이 시큐리티를 열어주라고 하였습니다. .requestMatchers("/v3/api-docs/**").permitAll() .requestMatchers("/api/authenticate").permitAll() 그래도 되지 않아서 filter 에서 요청 URL 찍어보니 아래와 같았습니다. requestURI = /swagger-ui/index.html re..
[Spring 동시성 관리/REDIS] - Redis 동시성 환경 설정 in Docker 실습가이드 Docker Imager Download 도커 이미지를 다운로드 받습니다. docker pull redis Docker Run 도커의 redis image 를 실행시킵니다. docker run --name myredis -d -p 6379:6379 redis 확인절차 docker container 상태 확인 도커가 잘 실행중인지 확인해주는 명령어를 실행합니다. docker ps docker redis 에 접속 redis 에 접속합니다. docker exec -it ead3cfe46fe5 redis-cli *** redis 를 깔아줬으니 귀여운 ping pong 놀이를 해봅니다.
[Spring 동시성 관리/DB] MySQL 동시성 환경 설정 in Docker 실습가이드 Docker Imager Download 도커 이미지를 다운로드 받습니다. docker pull mysql Docker Run 도커의 mysql image 를 실행시킵니다. docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=1234 --name mysql mysql 기존 window mysql 3306 port 와 충돌 ( 저는 wsl2 에서 진행했으나 port 충돌이 일어날 수 있다고 합니다. ) mysql port 3307 으로 open 이미 사용학고 있는 3306 이 아닌 3307 으로 열어주었습니다. docker run -d -p 3307:3306 -e MYSQL_ROOT_PASSWORD=1234 --name mysql mysql 확인절차 dock..
[Spring 동시성 관리/JAVA] Synchronized
[JPA] 낙관적 락(Optimistic Lock)과 비관적락 (Pessimistic Lock) 이란 ? 낙관적 락 ( Optimistic Lock ) 비관적 락 ( Pessimistic Lock ) 선택 기준 충돌 발생 확률이 낮은 상황에서 주로 사용됩니다. 이 방식은 데이터가 대부분의 시간 동안 변경되지 않을 것이라는 '낙관적' 가정 하에 작동합니다. 충돌이 자주 발생할 것으로 예상되는 상황, 예를 들어, 동시에 여러 트랜잭션이 같은 데이터를 변경할 가능성이 높은 경우에 사용됩니다. 충돌 대응 데이터를 업데이트하는 시점에서만 충돌을 확인합니다. 만약 충돌이 발견되면, 일반적으로 트랜잭션을 재시도하거나 오류를 반환합니다. 데이터에 접근하기 전에 먼저 락을 걸어 다른 트랜잭션의 접근을 차단합니다. 이로써 충돌을 예방합니다. 사용 방법 낙관적 락은 버전 관리(Versioning) 등의 방법을 통해 구현할 수 ..
Spring Project 의 MyBatis 쿼리를 Console 에 찍는 설정 (log4j2) 의존성 추가 - 로그 관련 라이브러리를 추가합니다. org.bgee.log4jdbc-log4j2 log4jdbc-log4j2-jdbc4.1 1.16 log4j2 파일 - resource 하위에 log4j2.xml 파일을 생성합니다. - 파일 안에 아래와 같이 코드를 작합니다. DataBase 접속 정보에 대한 수정 변경 전 spring.datasource.hikari.driver-class-name=com.mysql.cj.jdbc.Driver spring.datasource.hikari.jdbc-url=jdbc:mysql://localhost:3306/binsoo_db?serverTimezone=UTC&characterEncoding=UTF-8 spring.datasource.hikari.username..