Web/Spring boot
-
[spring boot] @Retryable 카운트 세기Web/Spring boot 2022. 6. 23. 20:12
@Retryable을 사용하여 Excption이 날때마다 재시도를 하게끔 코드를 짰는데, 메소드 내에 몇번째 재시도인지 재시도 횟수가 필요한 상황이 생겼다. 며칠을 찾아봤지만 쉽게 찾아지지 않았다. @Retryable(maxAttempts = 3, backoff = @Backoff(100), value = Exception.class) public void test() throws Exception{ int cnt = RetrySynchronizationManager.getContext().getRetryCount(); throw new Exception("test cnt ::" + cnt); } RetrySynchronizationManager.getContext().getRetryCount() 를 사..
-
[Spring boot] validation regex 특정숫자 허용Web/Spring boot 2022. 5. 19. 10:34
spring의 param을 validation 처리 할때에 특정 숫자만 허용되게끔 하고 싶다면 아래와 같이 사용하면된다. | 는 or 조건으로 0,2,3,5 이외의 값이 들어오면 에러 메세지를 내보낸다. @Pattern(regexp = "0|2|3|5", message = "Values other than 0,2,3,5 cannot be expressed.") private String useType;
-
[spring] https가 http로 리다이렉트 될때 해결법Web/Spring boot 2022. 2. 15. 15:03
spring의 controller에서 sendirect를 사용했을때 http로 리다이렉트 되는 현상이 있었다. L4장비의 문제인지 원인파악중 구글링을 하니 답이 나왔다. spring에서 redirect 할때 기본 프로토콜은 http이다. 그래서 아래 코드와 같이 작성후 url을 호출했을때 @GetMapping("/redirect-test") public String redirectTest() { return "redirect:/result"; } https://www.myurl.com/redirect-test 호출 http://www.myurl.com/result redirect 된 페이지 redirect 페이지의 프로토콜이 http로 변경된다. 해결 방법으로는 application.yaml파일에 설정 ..
-
[log4j이슈] logback버전 변경시 Failed to load class "org.slf4j.impl.StaticLoggerBinder" 에러Web/Spring boot 2021. 12. 24. 10:39
log4j이슈로 logback-core / logback-classic 버전을 1.2.9로 변경 SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder". SLF4J: Defaulting to no-operation (NOP) logger implementation SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details. 스프링 실행시 위와같은 에러와 함께 로그가 안찍힘 이유: log4j(slf4j)나 logback의 구현체가 없어서 생기는 문제 slf4j 공홈 해결: 아래 종속성 추가 혹은 slf4j-nop.jar slf4j-simple.jar, slf4j..
-
[Spring] bean의 scope ( feat. request, session 외에도 또있다)Web/Spring boot 2021. 12. 16. 23:41
spring bean 의 scope에 대해 정리해본다 jsp의 scope에는 page, request, session, application로 총 4가지가 있다. 그에 반해 spring bean의 scope는 총 6가지가 있다. Scope Description singleton 기본값 - 컨테이너 내에 한개의 오브젝트만 만들어져서 강제로 제거하지 않는 한 스프링 컨테이너가 존재하는 동안 계속 유지된다. prototype 싱글톤과 달리 컨테이너에 빈을 요청할 때마다 매번 새로운 오브젝트를 만들어 준다. request 웹을 통해 새로운 HTTP요청이 들어오고 나갈때마다 생성되는 스코프 session 웹의 세션과 유사한 스코프 application ServeltContext 라이프사이클 동안 한개의 빈만 사용..
-
[spring boot] keystore file not found 에러Web/Spring boot 2021. 10. 15. 22:34
keystore를 사용해 ssl을 적용하니 로컬에서 작동이 되었다. 하지만... 개발서버에 반영하니 바로 에러 빠방 keystore을 찾을수 없다는 에러... 해결방법은 간단했다. server: ssl: key-store: classpath:keystore.p12 application.yml파일에서 key-store경로를 classpath:파일명 으로 변경하는 것이었다. 내 keystore파일의 경로는 src/main/resources/ 이다. https://stackoverflow.com/questions/55364537/spring-java-app-not-finding-the-keystore-file Spring Java app not finding the keystore file I am tryin..
-
[Spring boot] SSL 적용하기Web/Spring boot 2021. 10. 8. 22:04
회사에서 로컬에서 테스트를 https로 해야할 일이 생겼다. spring boot 프로젝트에서 설정하니 바로 적용되었다. 1. intellij 터미널 ( 프로젝트 루트 ) keytool -genkey -alias bns-ssl -storetype PKCS12 -keyalg RSA -keysize 2048 -keystore keystore.p12 -validity 3650 2. 아래 정보들 입력 키 저장소 비밀번호 입력:1234 새 비밀번호 다시 입력:1234 이름과 성을 입력하십시오. [Unknown]: siri 조직 단위 이름을 입력하십시오. [Unknown]: sirizzang 조직 이름을 입력하십시오. [Unknown]: sirizzang 구/군/시 이름을 입력하십시오? [Unknown]: 시/도 ..
-
[spring boot] 로컬에서 이미지 경로 못찾음Web/Spring boot 2021. 9. 24. 23:27
spring boot 프로젝트를 실행하니 로컬에서 이미지 경로를 못찾아서 아래와 같은 에러가 났다. 하지만 해당 소스코드를 배포하면 개발서버에선 이미지가 나왔다.. 여기서 의문점 왜 로컬에선 안되고 개발에선 되는것일까? 같은 소스인데? 구글링을 해도 안나오고 intellij를 재시작하니 로컬에서 이미지가 정상적으로 출력된다. intelliJ가 가끔 이미지 build가 안될때가 있는데 그땐 재시작을 해줘야 한다고 한다. 모든 에러의 끝은 프로그램 재시작이 아닐까.. 라는 생각을 잠시 해본다.