본문 바로가기
반응형

에러 핸들링8

ssh: connect to host github.com port 22: Operation timed out 에러 현상 git fetch 명령어를 실행했는데, 연결이 되지 않는 이슈 에러 메시지 ssh: connect to host github.com port 22: Operation timed out fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists. 해결 방법 아래 코드를 ~/.ssh/config 파일에 넣어주면 된다. Host github.com Hostname ssh.github.com Port 443 참고 자료 https://stackoverflow.com/questions/7953806/github-ssh-via-public-wif.. 2023. 5. 4.
Port 8080 was already in use (feat. 8080 포트 죽이기) 스프링부트 어플리케이션을 시작하려고 했더니 Port 8080 was already in use 에러가 나면서 시작이 안되는 경우가 발생했습니다. {"timestamp":"2023-04-03 14:30:01.575","@version":"1","message":"\n\n***************************\nAPPLICATION FAILED TO START\n***************************\n\nDescription:\n\nWeb server failed to start. Port 8080 was already in use.\n\nAction:\n\nIdentify and stop the process that's listening on port 8080 or configur.. 2023. 4. 3.
Config data resource ... via location ... does not exist 배경 멀티 모듈 환경에서 신규 모듈을 추가 해당 신규 모듈에 property 파일을 추가 에러 신규 모듈의 property 파일을 다른 모듈에서 import 를 하니, 아래와 같은 에러가 발생 해결 방안 시도 1. 잘못 적은 부분이 있는지 확인하기 신규 모듈의 property 파일의 파일명과 import 하는 곳에 작성된 파일명이 동일한지 확인하기 보통 잘못 적었을 확률이 큰데 (e.g., 스펠링 오류), 이렇게 했는데도 안되면 시도 2를 해보자. spring: config: import: - 'classpath:xxx-yyy-zzz.yml' // 스페이스가 있으면 안됨 참고로 classpath: 하고 한칸 띄어쓰기를 했는데, 작동이 안되었다. 스페이스가 있으면 안되나보다. 시도 2. build.grad.. 2023. 3. 8.
UUID 로 설계한 댓가 예전에 신규 프로젝트를 맡아 설계부터 진행한 적이 있다. DB 테이블 설계를 할 때 평소같았으면 PK 값을 기본 Integer 를 사용했을텐데, 새로운 방식을 사용해보고 싶어서 UUID 로 적용해보고자 했다. 그 땐 몰랐지만 운영을 해오며 겪었던 문제점과 힘들었던 점에 대해 정리하고자 한다. PK 를 UUID 로 설정한 이유 당시 생성해야 했던 테이블이 7개 정도 되었고, 각 테이블의 PK 를 UUID 로 설정했다. 보안상의 이유가 가장 큰 부분을 차지했는데, 이 서비스가 외부로 노출이 되어야 했기 때문인데, PK 가 Auto-increment 하게 설정되어 있으면 외부로 데이터가 쉽게 노출될 리스크가 크다. 트렌비 홈 화면에 노출될 데이터였기 때문에 좀 더 보안에 신경을 쓰려고 했다. 괜히 ID 값이 .. 2023. 2. 23.
ArithmeticException 해결하기 들어가며 운영하는 하나의 서비스에서 에러가 발생하여 슬랙 알럿이 왔다. 왜 발생했는지 원인을 알아보고 해결해보도록 하자. 현상 보통 이런 에러가 발생하면 가장 먼저 로그 시스템에 접속하여 어떤 에러 메시지가 남겨졌는지 확인한다. 에러 메시지를 확인해보니 다음과 같았다 (에러 메시지에 포함된 회사 정보는 살짝 변경했다.) NullPointerException [CONTROLLER-EXECUTION] class=sampleController, method=GET, path=/api/v1/sample, statusCode=500, exceptionMessage=null, executionTimeMills=44 exceptionMessage=null 인것으로 보아 해당 API 가 호출될 때 NPE (Null P.. 2023. 2. 12.
UriComponentsBuilder 한글 적용이 잘 안될 때 HTTP 요청을 위해 UriComponentsBuilder 를 활용했다. 코드는 다음과 같다. var a = UriComponentsBuilder.fromUriString("http://external-service.com") .path("/api/v1/sample") .queryParam("query", "A B") .toUriString(); 이렇게 해서 요청을 날려보니 다음과 같이 요청이 날아갔다. GET http://external-service.com/api/v1/sample?query=A%20B 원하던게 이게 아닌데.. "A B" 처럼 스페이스가 포함되어야 하는데 인코딩이 잘못되는건지 "A%20B" 으로 요청이 날아가서 제대로된 응답을 받지 못했다. UriComponentsBuilder 작동 .. 2023. 2. 9.
Could not open JPA EntityManager for transaction 에러 메시지 백엔드 서버를 운영하다가 아래와 같은 애러가 빈번하게 발생했다. 발생하는 원인과 해결책에 대해서 정리해보고자 한다. Could not open JPA EntityManager for transaction; nested exception is org.hibernate.exception.JDBCConnectionException: Unable to acquire JDBC Connection 데이터베이스 커넥션 에러를 이해하기 위해서는 먼저 데이터베이스 커넥션 풀에 대해서 알아야 한다. 어플리케이션(App.)은 데이터베이스(DB)에서 데이터를 조회하려면 App. 이 DB 와 커넥션을 맺어야 한다. 커넥션을 맺는다 라는 의미는 App. 에서 DB 로 접근한다는 의미이며 서로 연결된다 라는 의미가 있.. 2023. 2. 3.
JSON parse error; Cannot construct instance of ... 에러 상황 API 를 개발할 때 JSON 데이터를 RequestBody 로 주로 받게 된다. RequestBody 에 해당하는 DTO 를 만들어두고 아래처럼 요청을 받는다. @PostMapping("/api/v1/user") public ResultResponse createUser( @RequestBody CreateUserRequestBody ) { ... } public class CreateUserRequestBody { private final String userName; private final String mobile; private final String email; ... public CreateUserRequestBody( String userName, String mobile, St.. 2023. 2. 3.
반응형