Communications link failure 에러는 디비 연결이 끊어진 경우에 쿼리를 실행 한 경우 나는 에러이다. 아래와 같이 SELECT 1이라는 vaildation query를 실행하는데 이미 db connection이 꾾어졌기 때문에 validation query를 실행하는데 에러가 발생한 것이다. DB서버에서 연결을 끊어버리는 기준이 되는 시간과 관련 된 설정값은 wait_timeout이다. 아래의 명령어를 입력하면 wait_timeout이 몇초로 설정되어있는지 확인 가능하다.(기본값 : 28800초) 나는 개발서버에서 Communications link failure 가 자주 나타나서 (사실 validation query를 실행시키고 나서 컨넥션을 맺고 다음 쿼리를 실행시키기 때문에 무시..
🚀Tomcat 로그 종류 tomcat9는 기본적으로 6가지의 로그를 생성해준다. 지금까지 내가 사용한 로그는 catalina.out 뿐이었는데, 이번에 3년지난 로그를 지우면서 톰캣로그에 대해서 자세히 알아보기로 했다. 1. catalina.out Tomcat 기동 시 /bin/catalina.sh 에 의해 생성되는 로그 파일 콘솔에 표시되는 모든 것을 기록한다. (톰캣에 의해 생성되는 로그, DB로그 등등) 2. catalina.yyyy-mm-dd.log 톰캣에 의해 생성되는 로그만 기록 Standard output(표준 스트림), Standard error(표준 에러)의 로깅은 제외 단순히 catalina.out을 일별로 나누어놓은 파일이라고 생각했는데 아니었다. 1과 2를 동일한 기준으로 로그를 확..
docker로 centos 8을 설치하고 필요한 패키지들을 다운로드 받기 전 yum update를 해주었는데 다음과 같은 에러가 나왔다. 🤔 이유가 뭐인가 하니.. centos 8은 2021년 12월 31일에 공식적으로 지원을 종료했는데 이로 인해서, mirrors를 CentOS Vault Mirror로 변경을 해주어야한다고 한다. 사실...mirrors 가 정확히 뭔지는 모르겠다.. 아무튼 Centos Vault Mirror로 변경하기 위해서는 아래 명령어를 실행해주면 된다. sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-Linux-* sed -i 's|#baseurl=http://mirror.centos.org|base..
톰캣 실행, 종료, 로그 확인 같은 자주 쓰이는 명령어들을 매번 처음부터 끝까지 작성하기에는 지루하기도 하고, 불편하다. //톰갯 종료 sh /tomcat/bin/shutdown.sh //톰캣 시작 sh /tomcat/bin/startup.sh //톰캣 로그 확인 tail -900f /tomcat/logs/catalina.out 위와 같은 명령어들을 alias로 등록해 간단하게 사용 할 수 있다. 🍯 등록 방법 1. alias 명령어 사용 - 아주 아주 간단하다! alias 별칭='명령어' 맨 위의 톰캣관련 명령어를 등록을 해본다면 아래와 같이 할 수 있다. alias tstart='sh /tomcat/bin/startup.sh' alias tend='sh /tomcat/bin/shutdown.sh' a..
🔎 상황 - 하나의 property로 설정값들을 관리하니, 매번 주석처리를 하는게 불편하고, 갯수가 많아지다보니 실수가 잦아졌다. 맨 처음에는 로컬,개발,운영 이렇게 세가지로만 나누어져있었는데, 점점 고객사별로 개발, 운영이 추가되고..관리가 힘들어졌다. 따라서 properties를 분리 할 필요성이 생겼다. 1. properties 분리하기 기본 globals.properties에는 active 만 놓고, local용 aws-dev용으로 별도 파일을 생성하여 DB정보 API연동 정보 등을 작성했다. *active에는 빌드시 사용할 properties의 이름을 작성한다. 2. 설정파일 변경 2.1 properties 파일 변수로 등록하기. util은 properties를 변수로 사용할 수 있게끔 등록을 ..
🔎상황 동일한 프로그램이 올라가는 세대의 서버가 있고, 이 세대의 서버는 각각 개별적으로 존재하고 L4로 묶여있지 않다. 어떤 서버에 요청을 해도 동일한 응답값이 오기 때문에 원하는 응답값을 얻기 위해서는 단 하나의 서버에만 요청을 해도 된다. 그러나, 이런 경우 서버가 죽었을 경우 로드밸런싱이 되지 않기 때문에 하나의 서버에 요청 후 TIMEOUT이 떨어지면 다른 서버에 요청을 해야한다. 서버 요청 시간제한을 2초로 놓는다고 해도 운이 좋지 않으면 6초나 걸리는 상황이다. 그래서, 비동기통신을 고려해봤다. 🔎 코드 ExecutorService는 JDK API로 작업을 비동기 모드로 실행 할 수 있다. ExcutorService는 쓰레드 풀을 자동으로 제공한다. public Map requestInfor..
🔧 환경 - java 1.8 - spring - jsp - javascript - sweetalert 🔎 요구사항 - 사용자의 마지막 동작으로 부터 1시간이 지나면 세션을 만료하되, 만료되기 1분전에 세션 만료 알림을 띄어 연장할 수 있어야 한다. 🔎 idea - server에 filter를 등록하여 요청이 올 때마다 response에 마지막 요청시간을 cookie를 저장하고, front단에서는 cookie를 1초마다 확인하여 세션 만료 1시간 전 알림을 보내준다. - 세션 만료 시간 = 마지막 요청 시간 + 1시간 📌 구현 💻 server 1. web.xml 설정 - web.xml에 기본 세션 만료 시간을 설정한다. - web.xml에 설정한 timeout의 단위는 '분' 이다. 60 2. filter..
🔎 상황 OS : CentOs Linux release 7.9.2009 tomcat : apatch-tomcat-9.0.67 웹 서비스를 톰캣으로 포트 80을 사용하여 올리는데 다음과 같은 에러가 발생했다. root 권한으로 tomcat을 시작했을 때는 나지 않고 일반사용자로 시작한 경우에만 오류가 발생했다. tomcat 관련 폴더의 소유자및 그룹은 일반사용자로 되어있다. ps -ef|grep'tomcat' 을 사용하여 프로세스를 확인하면 프로세스는 떠있지만. netstat -tnlp 를 사용하여 확인하면 관련 포트가 없다. 🔎 원인 linux는 일반사용자에게 포트 1024이하에 대해서는 사용권한을 주지 않는다. 따라서 일반사용자 계정으로 80포트에 대해 서비스를 시작하려고 해서 정상적으로 시작이 되지 ..
- Total
- Today
- Yesterday
- Kubernetes
- 스프링
- springboot
- 자바코테
- 자바스크립트
- javascript
- java 코테
- 코딩테스트
- react
- softeer java
- 톰캣
- 오토에버코테
- Linux
- 쿠버네티스
- centos
- mysql
- java
- Spring
- 현대
- 도커
- 전자정부프레임워크
- 리액트
- 현대코테
- softeer
- 자바
- 코테
- 현대오토에버
- tomcat
- 아파치카프카
- Docker
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |