Programming/Error 23

Connection is not available, request timed out after 10000ms. 에러의 원인은

프로젝트 중 발생한 에러입니다. 해당 에러는 요청 시 바로 발생하지 않아서 모르고 있다가 개발서버에 올려 테스트하던 중 발생을 확인하고 조치하였습니다. 커넥션 풀과 관련된 HikariCP Dead lock 이라고 불리는 에러였으며, 해결하기 위해 자료를 찾아보며 커넥션 풀이 프로그램에서 중요하고, 또 그렇기 때문에 자세하게 공부하여 잘 적용해야 한다고 느꼈습니다. * 해당 포스팅의 내용은 커넥션 풀에 대해 이해도가 많이 부족하며, 에러의 원인과 해결에 대한 방법만 찾은 포스팅입니다. (해결 방법은 포스팅 하단에 있으며 미리 원인을 말씀드리면 Querydsl에서 transform을 사용하면서 DB connection leak이 걸렸습니다. querydsl에서 transform 사용 시 트랜잭션 내부에서 실..

Programming/Error 2021.10.02

SSLException: Unsupported or unrecognized SSL message

javax.net.ssl.SSLException: Unsupported or unrecognized SSL message 두 개의 REST API를 가지고 서로 요청을 주고받기 위해 RestTemplate을 사용하던 중 발생한 에러입니다. 초기 개발단계에서 하나의 REST API는 http:localhost:8081 으로 가동하였고, 다른 하나의 API는 http:localhost:8083으로 가동하여 restTemplate을 통해 요청을 보냈습니다. public ResponseEntity qrScan(QrScan qrScan) { HttpHeaders headers = new HttpHeaders(); headers.setContentType(MediaType.APPLICATION_JSON); Http..

Programming/Error 2021.09.29

application.yml (yaml) 숫자가 0으로 시작했을 때 오류

Spring Boot에서는 외부 설정값을 관리하는 파일로 application.properties 또는 application.yml 을 사용하는데요. application.yml 파일에서 0으로 시작하는 숫자 값을 사용하며 발생한 오류입니다. number: test: 002003 templateCode 라는 값을 외부 설정값으로 등록하여 프로그램 내부에서 사용하기 위해서 application.yml 파일에 해당 값을 등록하였습니다. 그렇게 프로그램 내부에서 해당 templateCode라는 값을 가지고 외부에 요청을 했는데, 코드가 일치하지 않는다는 결과를 받았습니다. 확인을 위해 log를 찍어보니 yml 파일에 002003으로 등록한 값이 프로그램 내부에서 1027로 출력되고 있는 것을 확인했는데요. *..

Programming/Error 2021.09.25

io.jsonwebtoken.security.WeakKeyException : which is not secure enough for any JWT HMAC-SHA algorithm.

Security, JWT를 사용한 로그인 구현 중 발생한 에러입니다. 해당 에러는 메세지만 봐도 뭐가 문제인지 쉽게 파악할 수 있었는데요. [com.project.login.api.jwt.JwtTokenProvider]: Constructor threw exception; JwtTokenProvider를 Bean으로 등록하기 위해 객체를 만드는 중, 생성자에서 발생한 에러이고, 해당 내용은 HMAC-SHA algorithm을 사용하기 위해서는 256 bits 이상의 key 값이 필요한데 사용 중인 키는 176 bits로 충분하지 않다는 에러입니다. nested exception is io.jsonwebtoken.security.WeakKeyException: The specified key byte ar..

Programming/Error 2021.09.18

You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near

MySQL, MariaDB KeyWords and Reserved Words Caused by: java.sql.SQLSyntaxErrorException: (conn=18727) You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near (Error 중 일부) JPA, MariaDB를 사용하고 있는 프로젝트에서 아직 초기 단계라 따로 테이블을 생성하지 않고 JPA의 @Entity 어노테이션을 통해 자체적으로 테이블이 create 되도록 해놓고 작업을 하던 중 발생한 에러입니다. @Builder @Getter @NoArgs..

Programming/Error 2021.09.16

maven-resources-production:project: java.lang.NegativeArraySizeException

maven-resources-production:project: java.lang.NegativeArraySizeException maven-resources-production:project: java.lang.NegativeArraySizeException 프로젝트 구현 중 git pull, push 이후 갑자기 해당 에러가 발생하며 프로젝트가 동작하지 않았습니다. 프로젝트에 따로 에러 표시도 나오지 않아 가장 먼저 maven clean 및 compile을 실행해보았고, clean, compile 이 정상적으로 동작한 후에도 같은 에러로 프로젝트가 작동하지 않았습니다. 발견한 해결책은 Build -> Rebuild Project 입니다. 리빌드 프로젝트 동작 후 어플리케이션이 정상적으로 동작하였습니다.

Programming/Error 2021.09.02

Out of range value for column Exception (@Enumerated)

could not execute query; Out of range value for column JPA를 사용하여 데이터를 Insert 하는 과정에서 발생한 Exception입니다. 'out of range value for column' 에러는 insert 하는 값이 해당 컬럼 데이터의 타입과 불일치하는 문제가 있을 때 발생합니다. 아래의 경우는 enum type을 사용하며 발생했습니다. @Builder @Getter @AllArgsConstructor @Entity public class Transaction { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long idx; private String tid; private Tra..

Programming/Error 2021.08.20

(Gradle Project) finished with non-zero exit value 1 Error 해결 방법

Execution failed for task ':HssApplication.main()'. > Process 'command '/Library/Java/JavaVirtualMachines/jdk-12.0.1.jdk/Contents/Home/bin/java'' finished with non-zero exit value 1 * Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights. IntelliJ를 사용하여 Gradle Project를 코딩하며 발생한 에러입니다. Project를 Run ..

Programming/Error 2021.08.15

(Mac OS) git The requested URL returned error: 403 해결 방법

프로젝트 작업 후 git 명령어를 사용하는데 오류가 발생하였습니다. 이유는 github에서 8월 13일부터 password 인증을 중단했기 때문인데요. Please use a personal access token instead. 패스워드 인증 대신에 개인 엑세스액세스 토큰을 생성하여 인증을 하는 방식으로 변경되었으니 액세스 토큰을 이용하라고 합니다. https://docs.github.com/en/github/authenticating-to-github/keeping-your-account-and-data-secure/creating-a-personal-access-token Creating a personal access token - GitHub Docs Personal access tokens (..

Programming/Error 2021.08.15