<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd">

	<!--  -->
	<!-- 
		문자온 batch/backup 정보(신규 batch/backup시 참고 바랍니다.)
		
		0.가비아 (bardos-fd 의 경우 백업 프로세스)		
			#DATABACKUP		
				- 백업정책 : full 백업 월요일 04시		
				- 백업경로 : /nas		
				- 백업주기: 주1회 전체백업, 매일 증분백업(21일보관)
		
			#DBBACKUP		
				- 백업정책 : 매일 04시		
				- 백업주기 : 매일 전체백업(14일보관)
		
			#DBDUMP
				- 백업정책 : 매일 03시10분		
				- 백업주기 : 매일 전체백업			
		
		2-1.문자발송일별통계집계
			매시간 43분47초(14일전)(3시제외)		
		2-2.문자발송일별통계집계(매일 한번)
			매일   3시30분47초(전체)
			
			
		3-1.문자전송순위통계집계
			매시간 53분47초(14일전)(4시제외)
		3-2.문자전송순위통계집계(매일 한번)			
			매일   4시30분47초(전체)
			
		4.mj_msg_data 백업
			매년 11월 22일 4시38분
			(작년 데이터로 테이블을 만들어 백업하고, 3년전 데이터는 삭제 처리함)
			ex)2023-11-22에는 2022년 데이터를 백업한 mj_msg_data_backup_2022 생성 후
							mj_msg_data 테이블에서 2020년 데이터 삭제 처리함
							4시38분~7시			

	-->

	<!-- 1 -->
	<!-- 시스템 로그 요약  -->
	<bean id="sysLogging" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
		<property name="targetObject" ref="egovSysLogScheduling" />
		<property name="targetMethod" value="sysLogSummary" />
		<property name="concurrent" value="false" />
	</bean>

	<!-- 시스템 로그 요약  트리거 -->
	<bean id="sysLogTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerFactoryBean">
		<property name="jobDetail" ref="sysLogging" />
		<!-- 시작하고 1분후에 실행한다. (milisecond) 60000 -->
		<property name="startDelay" value="30000" />
		<!-- 매 24시간마다 실행한다.864000000 (milisecond) -->
		<property name="repeatInterval" value="864000000" />
	</bean>



	<!-- 2-1 -->
	<!-- 문자발송일별통계집계  -->
	<bean id="SttstMsgBean" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
		<property name="targetObject" ref="sttstMsgScheduling" />
		<property name="targetMethod" value="mjSttstMsgSmmmary" />
		<property name="concurrent" value="false" />
	</bean>

	<bean id="SttstMsgBeanTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
		<property name="jobDetail" ref="SttstMsgBean" />		
	<!-- 매시간 43분 47초 마다 일별 문자 발송 데이터 집계 -->
		<property name="cronExpression" value="47 43 23 * * ?" />
		
		<!--  24.03.11 선거문자 발송 오류로 주석 처리-->		
<!-- 	   	<property name="cronExpression" value="47 43 0-2,4-23 * * ?" /> -->
<!-- 	   	<property name="cronExpression" value="38 * * * * ?" /> -->
	</bean>


	<!-- 2-2 -->
	<!-- 문자발송일별통계집계(하루한번)  -->
	<bean id="SttstMsgDayBean" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
		<property name="targetObject" ref="sttstMsgScheduling" />
		<property name="targetMethod" value="mjSttstMsgDaySmmmary" />
		<property name="concurrent" value="false" />
	</bean>

	<bean id="SttstMsgDayBeanTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
		<property name="jobDetail" ref="SttstMsgDayBean" />		
	<!-- 매시간 43분 47초 마다 일별 문자 발송 데이터 집계 -->
	   	<property name="cronExpression" value="47 30 3 * * ?" />
<!-- 	   	<property name="cronExpression" value="38 * * * * ?" /> -->
	</bean>


	<!-- 3-1 -->
	<!-- 문자전송순위통계집계  20231124 사용하지 않는 통계자료로 판단되어 사용 중단 처리 -->
	<!-- <bean id="SttstMsgRankBean" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
		<property name="targetObject" ref="sttstMsgScheduling" />
		<property name="targetMethod" value="mjSttstMsgRankSmmmary" />
		<property name="concurrent" value="false" />
	</bean> -->

	<!-- <bean id="SttstMsgRankBeanTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
		<property name="jobDetail" ref="SttstMsgRankBean" />		
	매시간 43분 47초 마다 일별 문자 발송 데이터 집계
	   	<property name="cronExpression" value="47 53 0-3,5-23 * * ?" />
	
	</bean> -->


	<!-- 3-2 -->
	<!-- 문자전송순위통계집계(하루한번)  20231124 사용하지 않는 통계자료로 판단되어 사용 중단 처리 -->
	<!-- <bean id="SttstMsgRankDayBean" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
		<property name="targetObject" ref="sttstMsgScheduling" />
		<property name="targetMethod" value="mjSttstMsgRankDaySmmmary" />
		<property name="concurrent" value="false" />
	</bean> -->

	<!-- <bean id="SttstMsgRankDayBeanTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
		<property name="jobDetail" ref="SttstMsgRankDayBean" />		
	매시간 43분 47초 마다 일별 문자 발송 데이터 집계
	   	<property name="cronExpression" value="47 30 4 * * ?" />
	</bean> -->


	<!-- 14 -->
	<!-- mj_msg_data 백업 -->
	<!-- <bean id="MjMsgDataBackupBean" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
		<property name="targetObject" ref="tableBackupMsgScheduling" />
		<property name="targetMethod" value="mjMsgDataBackup" />
		<property name="concurrent" value="false" />
	</bean> -->

<!-- 	<bean id="MjMsgDataBackupBeanTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean"> -->
<!-- 		<property name="jobDetail" ref="MjMsgDataBackupBean" />		 -->
	<!-- 매년 3,11월 22일 4시38분 마다 작년도 테이블 백업  -->
<!-- 	   	<property name="cronExpression" value="0 38 4 22 11 ?" /> -->
<!-- 	   	<property name="cronExpression" value="0 38 4 28 3 ?" /> -->
	<!-- 매일 4시18분 마다 작년도 테이블 백업  -->
<!-- 	   	<property name="cronExpression" value="0 03 12 * * ?" /> -->
<!-- 	   	<property name="cronExpression" value="8 * * * * ?" /> -->
<!-- 	</bean> -->



	<!-- triggers ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
	<!-- 시스템 로그 요약 스케줄러 -->
	<bean id="sysLogScheduler" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
		<property name="triggers">
			<list>
				<ref bean="sysLogTrigger" /><!-- 시스템 로그 요약  -->
				<ref bean="SttstMsgBeanTrigger" /><!-- 문자발송일별통계집계  -->
				<ref bean="SttstMsgDayBeanTrigger" /><!-- 문자발송일별통계집계(매일한번)  -->
				<!-- <ref bean="SttstMsgRankBeanTrigger" /> --><!-- 문자전송순위통계집계  -->
				<!-- <ref bean="SttstMsgRankDayBeanTrigger" /> --><!-- 문자전송순위통계집계(매일한번)  -->

				<!-- mj_msg_data 백업  -->
				<!-- <ref bean="MjMsgDataBackupBeanTrigger" /> -->

			</list>
		</property>
	</bean>

	<!-- 문자온 문자발송 실패 환불 처리  -->
	<!-- <bean id="mjoMsgFailPayBack" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
		<property name="targetObject" ref="SchdlrManageService" />
		<property name="targetMethod" value="msgFailPayBack" />
		<property name="concurrent" value="false" />
	</bean>
	
	문자온 문자발송 실패 환불처리 배치 시간 셋팅 2분간격으로 실행하기
	<bean id="mjoMsgFailTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
		<property name="jobDetail" ref="mjoMsgFailPayBack" />
		매 2분 0초 간격마다 실행
	   	<property name="cronExpression" value="0 0/2 * * * ?" /> 
	</bean>
	
	문자온 문자발송 실패 환불 스케줄러
	<bean id="mjoMsgFailScheduler" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
		<property name="triggers">
			<list>
				<ref bean="mjoMsgFailTrigger" />
			</list>
		</property>
	</bean> -->

	<!-- 스케줄러 메일 전송  -->
	<!-- <bean id="schMailSending" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
		<property name="targetObject" ref="egovSchMailSendScheduling" />
		<property name="targetMethod" value="schMailSend" />
		<property name="concurrent" value="false" />
	</bean> -->

	<!-- 스케줄러 메일 전송  트리거-->
	<!-- <bean id="schMailSendTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerFactoryBean">
		<property name="jobDetail" ref="schMailSending" />
		시작하고 1분후에 실행한다. (milisecond) 60000
		<property name="startDelay" value="0" />
		매 24시간마다 실행한다.864000000 (milisecond)
		<property name="repeatInterval" value="60000" />
	</bean> -->
	<!-- <bean id="schMailSendTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
		<property name="jobDetail" ref="schMailSending" />
		
		매 50초마다 실행
	   	<property name="cronExpression" value="50 * * * * ?" /> 
	   	secs mins hrs dom(day) month dow(week) year(option)
	   	https://www.leafcats.com/94 참조
	   	d
	   	<property name="cronExpression" value="* * 01 * * ?" />
	</bean> -->

	<!-- 스케줄러 메일 전송 스케줄러 -->
	<!-- <bean id="schMailSendScheduler" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
		<property name="triggers">
			<list>
				<ref bean="schMailSendTrigger" />
			</list>
		</property>
	</bean> -->


</beans>
