@Service 에서 @Value 를 사용하여 properties에 있는 값을 가지고 와서 사용을 하려고 하는데 @Value 로 주입한 값이 다 null이 찍히는 현상이 발생했다. @Controller 에서는 이런 경우가 있었지만, @Service 에서는 이런 일이 처음이어서 많이 당황스럽고 properties 마다 다른 값이 필요한 부분은 우선적으로 주석처리로 사용을 하기로 했다. conteroller에서 왜 @Value 값을 사용하지 못했는지 궁금하다면? https://yes-admit.tistory.com/44 controller에서 @value 사용하기 컨트롤러에서 @Value 어노테이션을 사용하여 properties에 작성한 값을 가지고 오려고 했는데 값을 가져오지 못했다. service에서는 ..
🔎 상황 - 하나의 property로 설정값들을 관리하니, 매번 주석처리를 하는게 불편하고, 갯수가 많아지다보니 실수가 잦아졌다. 맨 처음에는 로컬,개발,운영 이렇게 세가지로만 나누어져있었는데, 점점 고객사별로 개발, 운영이 추가되고..관리가 힘들어졌다. 따라서 properties를 분리 할 필요성이 생겼다. 1. properties 분리하기 기본 globals.properties에는 active 만 놓고, local용 aws-dev용으로 별도 파일을 생성하여 DB정보 API연동 정보 등을 작성했다. *active에는 빌드시 사용할 properties의 이름을 작성한다. 2. 설정파일 변경 2.1 properties 파일 변수로 등록하기. util은 properties를 변수로 사용할 수 있게끔 등록을 ..
🔧 환경 - 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..
전자정부프레임워크에서 스케쥴러 사용이 필요해 1번방법으로 구현했다가, 스케쥴러 시간 설정을 설정파일로 빼달라는 요청이 있어서 2번 방법으로 다시 구현했다. 사실 이 요청은 시간을 Globals.properties로 빼달라는 것인것 같았지만.. 1번 방법에서 단순히 값을 가져와서 넣는건 "attribute value must be constant"오류가 났다. 뭔가 해결하는 방법이 있겠지만, 시간이 없어서 2번방식으로 했다! (단순히 static final을 붙여주는건 안됐다 ㅠㅠ) 1. @Scheduled 어노테이션 방식 어노테이션 방식은 아주 간단하다. 1️⃣ 설정파일 (context-scheduler.xml) 2️⃣ 스케쥴러로 실행 할 메서드 2-1. @Component 어노테이션으로 bean 등록 ..
@RestController = @Controller + @ResponseBody 아주 간단한 내용이지만 이 둘의 차이를 모르면 많은 시간을 낭비 할 수도 있다. 아래와 같이 코드를 만들었는데 /index는 잘 찾는데, /test는 찾지 못하는 상황이 발생됐다. 아래에서 /test를 못찾는 이유는 @RestController로 선언 해주어야 하는데 단순 @Controller로 선언해주었기 때문! @Controller public class TestController { @RequestMapping(value="/test", method = RequestMethod.POST) public ResponseEntity test() { return new ResponseEntity("test completed!..
스케쥴러를 사용하는 서비스가 있는데, 서버 이중화를 하게 되면서 스케쥴러를 둘 다 돌리게 되면, 동시에 DB에 접근하기 때문에, 오류가 발생 할 수도 있다. 그렇다고 같은 소스를 배포하면서 스케쥴러 때문에 빌드를 두번해야하는 건 비효율적이다. 그래서 아이피에 따라, 스케쥴러를 실행시킬지 말지 결정하는 방법을 생각했다. 맨 처음에는 일반적인 스케쥴러 사용방식 처럼 사용하되 스케쥴러 내에서 조건문을 사용하려고 했다. 24.03.14++ 이런식으로 스케쥴러를 특정 서버에서는 안 돌게 지정하면 안된다..! 스케쥴러가 돌아가는 서버가 죽으면 어떡해..! 🥹 1년도 안된 신입 때 생각한 방법이라..위와 같은 이유라면 따라하지마세요.. 만약 스케쥴러가 동시에 돌아 동시 DB 접근이 우려된다면 shedlock을 사용하..
- Total
- Today
- Yesterday
- javascript
- 자바스크립트
- centos
- Kubernetes
- java 코테
- Spring
- Linux
- springboot
- react
- 자바
- 현대오토에버
- 스프링
- 현대코테
- 코테
- 톰캣
- 아파치카프카
- java
- tomcat
- 현대
- 리액트
- 코딩테스트
- softeer
- Docker
- mysql
- softeer java
- 도커
- 쿠버네티스
- 자바코테
- 오토에버코테
- 전자정부프레임워크
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |