1. AnyEdit
이클립스 플러그인 anyEdit 입니다.
[기능]
1) 카멜규칙 <-> 언더바형식
2) 대소문자 상호 전환
[단축키]
(1) 소문자 -> 대문자 : ctrl + alt + u
(2) 대문자 -> 소문자 : ctrl + alt + l
(3) camel <-> underbar : ctrl + allt + k
먼저 anyEdit 플러그인을 마켓에서 설치합니다.
spring MVC 기본 프로젝트를 생성 후 camel 규칙으로 쓰여져 있는 dateFormat을 영역 지정 후에 ctrl + alt + k 를 해보겠습니다.
[결과]
dateFormat 이 date_format으로 변경 된 것을 확인할 수 있습니다.
또한 AnyEdit은 단어 하나만이 아닌 영역 내에서의 변환도 지원하고 있어
아래 사진과 같이 영역을 지정 후 변환시킬 수도 있습니다.
대소문자 변경 (ctrl + alt + u, l)은
간혹가다 sql이 소문자로 되어있는 아래 사진 예시와 같은 경우에 영역 지정 후 고쳐 주며 주로 사용했습니다.
2. Scheduler
1) Annotation 방식
anyEdit을 하며 만들었던 spring mvc프로젝트의 root-context.xml 에서 다음을추가해 줍니다.
[root-context.xml]
[소스]
http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task-3.0.xsd">
그리고 scheduler와 executor를 선언 한 후 annotation-driver에 지정을 합니다.
이와같이 설정이 끝났으면 스케쥴링을 할 메서드에 어노테이션을 추가해 줍니다.
[Java]
[Console]
1초간격으로 실행 되는 것을 알 수 있습니다.
fixedDelay란 무엇인가?
Scheduled는 3가지 종류가 있습니다.
(1) fixedDelay : 이전에 실행된 스케쥴의 종료 시간부터 정의된 시간 후 스케쥴을 실행 (밀리세컨드)
(2) fixedRate : 이전에 실행된 스케쥴의 시작 시간부터 정의된 시간 후 스케쥴을 실행 (밀리세컨드)
(3) cron : Linux 의 cronTab과 같은 cron="0/10 * * * * ?" 설정이 가능
(아래 xml 방식에서 자세히 설명하도록 하겠습니다.)
2) XML 방식
xml 방식은 아래 그림과 같이 xml에 스케쥴링 할 메서드가 속해있는 클래스를 먼저 지정해 줍니다.
그 이후 task:scheduler를 선언하고 스케쥴링 될 task들을 선언한 scheduler안에 넣어 줍니다.
sceduled-task 안에 들어있는 스케쥴들의 ref는 위에 스케쥴이 실행될 클래스를 지정하고, method는 그 클래스 안의 스케쥴 될 메서드명을 지정해 줍니다.
그리고 annotation 방식과 같이 fixedDelay, fixedRate,cron 을 사용하여 실행될 주기나 시간을 지정합니다.
예시에는 cron을 사용하여 각각 1초와, 2초마다 실행이 되도록 지정하였습니다.
각각 1초와 2초마다 실행되는 것을 알 수 있습니다.
[CRON]
cron은 * * * * * *(옵션) 으로 6가지의 설정이 가능합니다.
왼쪽부터
초 / 분 / 시 / 일(1~31) / 월(1~12) / 요일(1~7 / 일~토) / 년(1970~2099)[옵션]
의 순서입니다.
다시 정리하면
초 : (0~59)
분 : (0~59)
시 : (1~23)
일 : (1~31)
월 : (1~12)
요일 : (1~7) / (일~토)
년 : (1970~2099) [옵션]
또한 사용 특수문자로는 *, ?, -, . ... 등등이 있습니다.
추가로 정리하면
* : 모든 수를 의미
(ex) 시간에 *이 있으면 매시간 마다라는 뜻이 됩니다.
? : 요일과, 년에만 사용이 가능하며, 특별한 값이 없다는 뜻 입니다.
- : 기간을 지정할 때 사용합니다.
(ex) 시간에 4-8 이라 사용하면, 4, 5, 6, 7, 8시에 동작하라는 뜻이 됩니다.
, : 특정한 시간을 설정 할 때 사용합니다.
(ex) 분의 위치에 10, 20, 30 이라고 쓰면 10분, 20분, 30분에만 동작하라는 의미가 됩니다.
/ : 증가를 의미 합니다.(간격, 마다)
(ex) 위의 예시와 같이 초에 0/2 라고 사용하면 0초에서 2초 간격으로 동작하게 됩니다.
L : 일에만 사용하며 마지막 날을 의미합니다. -> 즉 그 달의 마지막 날에 수행됩니다.
W : 일에만 사용하며 가장 가까운 평일을 뜻합니다.
(ex) 25일이 토요일인 경우, 25W라 설정되어 있으면 가장 가까운 평일인 24일에 실행이 됩니다.
지정한 날이 평일일 경우 지정한 날에 실행이 됩니다.
LW : L과 W를 조합한 것으로, 그 달의 마지막 평일을 의미 합니다.
# : 요일에 사용되며, x번째 주를 의미합니다.
(ex) 3#4 -> 4번째 주 화요일을 의미합니다. -> 요일#몇주차
'웹개발 > 플러그인 (Eclispse)' 카테고리의 다른 글
[이클립스] eclipse.ini 수정하여 나의 이클립스 속도 개선을 해보자 (0) | 2018.06.04 |
---|---|
[이클립스]CV는 그만! 나만의 스페셜한 자동 완성 기능 Template 활용 (0) | 2018.06.03 |
[이클립스 플러그인]서버 재기동 없이 자바 파일 변경 내역 반영_jRebel (1) | 2018.05.22 |