'Java / JSP/Spring Framework'에 해당되는 글 3건

  1. 2017.03.16 Spring security isAuthenticated VS isFullyAuthenticated
  2. 2016.01.18 Exception on batch processing UnexpectedRollbackException - Transaction rolled back
  3. 2015.06.08 Spring 스케쥴러 cron 표현식
2017.03.16 13:15

Spring security isAuthenticated VS isFullyAuthenticated

isAuthenticated()

 Returns true if the user is not anonymous

isFullyAuthenticated()

 Returns true if the user is not an anonymous or a remember-me use



[출처] Difference between isAuthenticated and isFullyAuthenticated

Trackback 0 Comment 0
2016.01.18 18:41

Exception on batch processing UnexpectedRollbackException - Transaction rolled back

ServiceA에 @Transactional 설정. ServiceB에 @Transactional 설정.

Controller -> ServiceA -> ServiceB 호출.

ServiceB에서 exception throw, ServiceA에서 try-catch로 예외를 잡아서 처리.

Controller에서 "transaction rolled back because it has been marked as rollback-only" 예외 발생.

구글링 결과 propagation required가 문제(스프링은 기본값으로 required).

결과적으로 ServiceB의 @Transactional을 삭제. 정상적으로 동작하는 것 확인!


[참고] Exception on batch processing UnexpectedRollbackException - Transaction rolled back

Trackback 0 Comment 0
2015.06.08 11:28

Spring 스케쥴러 cron 표현식

@Scheduled(cron = "0 50 21 * * 1-5") //월~금까지 오후 9시50분에 실행
public void scheduleMethod() {
    something(...);
}


Cron 표현식

총 7개의 필드를 가지며 마지막 필드(년도)는 생략 가능

필드 이름

허용 값 

초(seconds) 

0~59 

분(minutes) 

0~59 

시(hours) 

0~23 

날(day of month) 

1~31 

달(month of year)

1~12 

요일(day of week)

0~6 (0=일요일) 

년도(year) optional 

빈값(공백) 1970~2099) 


Cron 표현식 특수문자

표현식

설명 

예시 

모든 값 

 

범위 

* 10-13 * * * *

매시 10, 11, 12, 13분에 실행 

특정 값 

* * 10,11 * * *

매일 10, 11시에 실행 

증감 

* 5/15 * * * *

매시 5, 20, 35, 50분에 실행 

특별한 값이 없음 (day of month, day of week만 사용)

 

마지막날 (day of month, day of week만 사용)

* * * * * 6L

해당월의 마지막 금요일을 의미


[출처 및 참조] Spring3.0 스케줄링Spring 스케쥴링에서 쓰는 Cron Expression

Trackback 0 Comment 0