스케줄 서비스 설정관리는 전자정부표준프레임워크 실행환경에서 제공하는 스케줄 서비스를 이용하기 위한 설정 파일을 관리할 수 있는 기능을 제공한다. 전자정부 표준 프레임워크에서 제공하는 스케줄 서비스는 크게 두 가지로 나눌 수 있는데. 하나는 작성해 놓은 비지니스 클래스(서비스 클래스를)스케줄링 대상 서비스로 설정하여 스케줄 서비스로 이용하는 방법과 스케줄링 대상 클래스를 Quartz 에서 제공하는 클래스를 확장하여 작성된 스케줄링 전용 클래스를 스케줄링 하는 방법 등이 있다.
스케줄 설정관리 에서는 2가지 서비스 모두 관리 할 수 있으며, 스케줄 서비스에 대한 자세한 내용은 https://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte:fdl:scheduling 참고한다.
설정관리에서 스케줄 설정관리는 외부에 정의된 스케줄 설정 파일에 대한 정보를 읽어서 관리하고자 하는 스케줄 설정관리 파일을 관리할 수 있는 기능을 제공한다.
설정관리 도구 메인화면 » 좌측 메뉴 » 스케줄 설정관리
<bean id="schedulerSampleService1" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"> <property name="targetObject" ref="SampleService1" /> <property name="targetMethod" value="insertEmployee" /> <property name="concurrent" value="false" /> </bean> <bean id="schedulerSampleService1Trigger" class="org.springframework.scheduling.quartz.SimpleTriggerBean"> <property name="jobDetail" ref="schedulerSampleService1" /> <!-- 시작하고 1분후에 실행한다. (milisecond) --> <property name="startDelay" value="60000" /> <!-- 매 60분마다 실행한다. (milisecond) 데몬 형식으로 계속 기동 중 --> <property name="repeatInterval" value="3600000" /> <!-- CRON과 같이 시각을 지정하는 경우 다음 참조 --> <!-- <property name="cronExpression" value="0 0 6 * * ?" /> --> </bean> <bean id="shceduleSampleService3" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"> <property name="targetObject" ref="SampleService3" /> <property name="targetMethod" value="insertSmple" /> <property name="concurrent" value="false" /> </bean> <bean id="shceduleSampleService3Trigger" class="org.springframework.scheduling.quartz.CronTriggerBean"> <property name="jobDetail" ref="shceduleSampleService3" /> <!-- CRON과 같이 시각을 지정하는 경우 다음 참조 --> <property name="cronExpression" value="0 * * * * ?" /> </bean> <bean id="jobDetailBean" class="org.springframework.scheduling.quartz.JobDetailBean"> <property name="jobClass" value="egovframework.oe1.sms.sample.service.EgovOe1ScheduleSample2" /> <property name="jobDataAsMap"> <map> <entry key="name" value="JobDetail" /> </map> </property> </bean> <bean id="jobDetailBeanTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerBean"> <property name="jobDetail" ref="jobDetailBean" /> <!-- 시작하고 1분후에 실행한다. (milisecond) --> <property name="startDelay" value="60000" /> <!-- 매 60분마다 실행한다. (milisecond) 데몬 형식으로 계속 기동 중 --> <property name="repeatInterval" value="3600000" /> </bean> <bean id="SchedulerFactory" class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> <property name="quartzProperties"> <props> <prop key="org.quartz.threadPool.threadCount">3</prop> </props> </property> <property name="triggers"> <list> <ref bean="schedulerSampleService1Trigger" /> <ref bean="shceduleSampleService3Trigger" /> <ref bean="jobDetailBeanTrigger" /> </list> </property> </bean>
아래와 같이 설정파일에 표현된 Bean Name 별로 목록을 보여주며 해당 Bean 명을 클릭하면 각 빈의 상세 설정을 조회 할 수 있다.
설정관리 도구 메인화면 » 좌측 메뉴 » 스제눌 설정관리 » 조회된 목록에서 Bean id 선택 아래와 같이 선택한 Bean 의 상세 설정을 HTML Table 을 이용하여 조회 할 수 있다. 각 체크 박스를 이용하여 프로퍼티삭제가 가능하며, 삭제 후 저장을 통해 화면에서 수정사항을 반영할 수 있다.
설정관리 도구의 스케줄 서비스 설정관리는 아래와 같은 비지니스 규칙을 갖는다. 규칙에 위반 될 경우, Validation 체크를 통해 저장이 방지 된다.