반응형

1. 라이브러리 jar 파일


quart 라이브러리


http://www.quartz-scheduler.org/


quartz-all-1.6.6.jar




quart - struts1 연동 라이브러리


http://demo.jgsullivan.com/struts/download.html


jgs-struts-0.3-dev.jar


jgs-quartz-0.1d.jar




2. Quart 참조 링크


anyframework


http://dev.anyframejava.org/docs/anyframe/4.2.0/reference/htmlsingle/anyframe.html#tech_ss_sec001








1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
==============================================================
 
QuartzTest.java
 
==============================================================
 
01 package kr.co.rastech.common.quartz;
02 
03 import java.text.SimpleDateFormat;
04 import java.util.Date;
05 
06 import org.apache.commons.logging.Log;
07 import org.apache.commons.logging.LogFactory;
08 import org.quartz.Job;
09 import org.quartz.JobExecutionContext;
10 import org.quartz.JobExecutionException;
11 
12 
13 public class QuartzTest implements Job{
14 
15     private Log logger = LogFactory.getLog(this.getClass());
16 
17     @Override
18     public void execute(JobExecutionContext arg0) throws JobExecutionException {
19         long now = System.currentTimeMillis();
20 
21         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss a");
22 
23 
24         String nowDateTime = sdf.format(new Date(now));
25 
26         logger.debug(nowDateTime + " : test");
27     }
28 
29 }
 
cs


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
web.xml
 
 
 
==============================================================
 
 
 
    <servlet>
 
        <servlet-name>ActionServlet</servlet-name>
 
        <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
 
        <init-param>
 
            <param-name>config</param-name>
 
            <param-value>/WEB-INF/config/struts-config.xml</param-value>
 
        </init-param>
 
        <load-on-startup>1</load-on-startup>
 
    </servlet>
 
    
 
    <servlet-mapping>
 
        <servlet-name>ActionServlet</servlet-name>
 
        <url-pattern>*.do</url-pattern>
 
    </servlet-mapping>
 
    
 
    <servlet>
 
        <servlet-name>QuartzInitializer</servlet-name>
 
        <servlet-class>org.quartz.ee.servlet.QuartzInitializerServlet</servlet-class>
 
        <init-param>
 
            <param-name>shutdown-on-unload</param-name>
 
            <param-value>true</param-value>
 
        </init-param>
 
        <init-param>
 
        <param-name>start-scheduler-on-load</param-name>
 
      <param-value>true</param-value>
 
    </init-param>
 
        <load-on-startup>3</load-on-startup>
 
    </servlet>
 
    
 
==============================================================
cs


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
struts-config.xml
 
 
 
/WEB-INF/config/struts-config.xml위치
 
==============================================================
 
 
 
<struts-config>
 
 
 
    <action-mappings>
 
        <action path="/test" forward="/index.jsp"></action>
 
 
 
    </action-mappings>
 
 
 
    <!-- Quartz framework 2010.08.09 -->
 
    <plug-in className="com.jgsullivan.struts.plugins.QuartzPlugIn">
 
        <set-property property="configPath" value="/WEB-INF/quartz-config.xml"/>
 
    </plug-in>
 
</struts-config>
 
==============================================================
 
 
 
quartz-config.xml
 
 
 
/WEB-INF/quartz-config.xml위치
 
==============================================================
 
 
 
<?xml version="1.0" encoding="UTF-8"?>
 
 
 
<quartz-config>
 
    <trigger-group>
 
        <trigger name="secondTrigger" className="org.quartz.CronTrigger">
 
            <set-property property="timeZone" value="Pacific/Marquesas" />
 
            <set-property property="cronExpression" value="* * * * * ?" />
 
        </trigger>
 
    </trigger-group>
 
 
 
 
 
    <job-group>
 
        <job name="dumbJob" className="kr.co.rastech.common.quartz.QuartzTest" />
 
    </job-group>
 
</quartz-config>
cs

 

※ 시간을 아무리설정해도 잘안맞는다 싶으면 timeZone을 서버컴시간으로 바꿔야합니다.

    [<set-property property="timeZone" value="Pacific/Marquesas" />]

    이부분을 삭제하면 default로 서버컴시간이 설정됩니다.

※ WAS가 이중화 되어있으면 2번씩 실행 될수 있으니 아이피 체크해야 합니다.



출처: http://thdnf1004.tistory.com/entry/quart-연동-스케쥴링 [야근없는 세상을 위해~]

반응형

+ Recent posts