반응형 웹개발/스프링 · 자바 · 코틀린9 [스프링] 트랜잭션 롤백 1. 트랜잭션은 RuntimeException 이거나 Error 가 발생한 경우에만 롤백한다. 그 외 Checked Exception 은 기본적으로 롤백되지 않는다. @Transactional(rollbackFor = Exception.class) 를 사용하면 Checked Exception도 롤백 가능 2. @Transactional은 기본적으로 AOP 프록시 기반으로 동작한다.같은 클래스 내에서 다른 메서드를 호출하면 트랜잭션이 동작하지 않는다. 3. 트랜잭션을 적용할 메서드는 public으로 선언메서드가 private 또는 protected 라면 AOP가 적용되지 않는다. 2025. 2. 28. 세션 타임아웃 처리 - polling 이 있는 경우 문제기본적으로 WAS, 프레임워크가 세션 타임아웃을 처리해준다.그러나 polling 하는 기능이 있다면세션은 계속 연장 될 것이고, 타임아웃은 발생하지 않는다. 해결방안1. JWT를 사용하여 만료시간을 가지고 타임아웃 처리 - polling api가 아닌 경우에만 JWT access token 을 갱신하는 방법 2. 세션 또는 별도 공간에 별도 시간으로 체크 - 나는 별도 필터를 만들어서 시큐리티 컨텍스트에 accessTime이라는 변수를 넣어두고 해당 변수값으로 체크하였음 1번과 마찬가지로 polling api가 아닌 경우에만 accessTime을 갱신하고, 필터에 진입할 때 accessTime과 현재 시간을 비교하여 타임아웃을 처리하였음 더보기- authentication details에 들.. 2025. 2. 28. [Gradle] 프로파일에 맞는 yml 설정만 빌드하기 Gradle 8.10 버전에서 테스트하였음상황스프링 부트를 사용중이며 yml 파일로 설정을 관리함서버 환경별로 환경에 맞는 yml파일만 배포되어야 함로컬, 개발, 운영에 해당하는 yml파일이 존재설정1. application.ymlspring: config: import: - "classpath:yml/${spring.profiles.active}/application-${spring.profiles.active}-interface.yml2. build.gradledef activeProfile = project.hasProperty('profile') ? project.getProperty('profile') : 'local'tasks.named("processResources") { .. 2025. 2. 27. [java] enum을 String[]으로 변환하기 enum에 있는 value를 기준으로 String 배열로 변환한다.String[] arrEnumValues = Stream.of(Enum.values()).map(f -> f.toString()).toArray(String[]::new); 2024. 5. 31. [java] swing 시작하기 spring에서 swing을 사용하려면 Application Main함수에 아래와 같이 처리한다.ApplicationContext context = new SpringApplicationBuilder(Application.class) .headless(false) .run(args); headless(false) 을 처리하지 않았을 경우 아래와 같은 오류가 발생한다.더보기java.awt.HeadlessException: null at java.awt.GraphicsEnvironment.checkHeadless(GraphicsEnvironment.java:204) ~[na:1.8... 2024. 5. 31. private final [스프링부트] @Autowired와 private final 차이점 - https://eboong.tistory.com/525 [스프링부트] @Autowired와 private final 차이점책을 읽으며 따라하다 보니까 의문이 생겼습니다. 어떤 클래스에서는 @ Autowired를 쓰고, 또 어떤 클래스에서는 private final을 이용해서 의존성을 주입하고,, 둘의 차이가 궁금해졌습니다. 일단 스eboong.tistory.com 2024. 1. 22. 이전 1 2 다음 반응형