Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
G
guns-vip
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
chenjunxiong
guns-vip
Commits
f7843771
Commit
f7843771
authored
Mar 27, 2019
by
fengshuonan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
完善定时任务demo
parent
38f9de5f
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
102 additions
and
6 deletions
+102
-6
pom.xml
+6
-0
src/main/java/cn/stylefeng/guns/config/SchedulingConfig.java
+27
-1
src/main/java/cn/stylefeng/guns/core/schedue/quartz/SampleQuartzJob.java
+20
-0
src/main/java/cn/stylefeng/guns/core/schedue/quartz/StartQuartzExample.java
+43
-0
src/main/java/cn/stylefeng/guns/core/schedue/spring/SpringTasks.java
+6
-5
No files found.
pom.xml
View file @
f7843771
...
@@ -167,6 +167,12 @@
...
@@ -167,6 +167,12 @@
<version>
4.0.0
</version>
<version>
4.0.0
</version>
</dependency>
</dependency>
<!--quartz定时任务-->
<dependency>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-quartz
</artifactId>
</dependency>
<!--需要分布式session的话需要放开注释-->
<!--需要分布式session的话需要放开注释-->
<!--<dependency>-->
<!--<dependency>-->
<!--<groupId>org.springframework.session</groupId>-->
<!--<groupId>org.springframework.session</groupId>-->
...
...
src/main/java/cn/stylefeng/guns/config/SchedulingConfig.java
View file @
f7843771
package
cn
.
stylefeng
.
guns
.
config
;
package
cn
.
stylefeng
.
guns
.
config
;
import
cn.stylefeng.guns.core.schedue.SpringTasks
;
import
cn.stylefeng.guns.core.schedue.quartz.StartQuartzExample
;
import
cn.stylefeng.guns.core.schedue.spring.SpringTasks
;
import
org.quartz.Scheduler
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.scheduling.quartz.SchedulerFactoryBean
;
/**
/**
* 定时任务自动配置
* 定时任务自动配置
...
@@ -23,4 +26,27 @@ public class SchedulingConfig {
...
@@ -23,4 +26,27 @@ public class SchedulingConfig {
public
SpringTasks
scheduledTasks
()
{
public
SpringTasks
scheduledTasks
()
{
return
new
SpringTasks
();
return
new
SpringTasks
();
}
}
/**
* quartz方式,配置Scheduler实例
*
* @author fengshuonan
* @Date 2019/2/24 19:03
*/
@Bean
public
Scheduler
scheduler
(
SchedulerFactoryBean
schedulerFactoryBean
)
{
return
schedulerFactoryBean
.
getScheduler
();
}
/**
* 启动quartz的示例
*
* @author fengshuonan
* @Date 2019/3/27 3:34 PM
*/
@Bean
public
StartQuartzExample
startQuartzExample
()
{
return
new
StartQuartzExample
();
}
}
}
src/main/java/cn/stylefeng/guns/core/schedue/quartz/SampleQuartzJob.java
0 → 100644
View file @
f7843771
package
cn
.
stylefeng
.
guns
.
core
.
schedue
.
quartz
;
import
org.quartz.JobExecutionContext
;
import
org.springframework.scheduling.quartz.QuartzJobBean
;
/**
* quartz的执行示例
*
* @author fengshuonan
* @Date 2019/2/24 16:55
*/
public
class
SampleQuartzJob
extends
QuartzJobBean
{
@Override
protected
void
executeInternal
(
JobExecutionContext
context
)
{
System
.
err
.
println
(
"<<<<<调试信息,注释掉SchedulingConfig类中的内容来关闭这个定时任务!>>>>> quartz task执行 >>>>> quartz执行了!"
);
}
}
\ No newline at end of file
src/main/java/cn/stylefeng/guns/core/schedue/quartz/StartQuartzExample.java
0 → 100644
View file @
f7843771
package
cn
.
stylefeng
.
guns
.
core
.
schedue
.
quartz
;
import
org.quartz.*
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.boot.CommandLineRunner
;
/**
* quartz的启动示例
*
* @author fengshuonan
* @Date 2019/2/24 16:55
*/
public
class
StartQuartzExample
implements
CommandLineRunner
{
@Autowired
private
Scheduler
scheduler
;
@Override
public
void
run
(
String
...
args
)
throws
Exception
{
// 启动调度器
scheduler
.
start
();
//构建job信息
JobDetail
jobDetail
=
JobBuilder
.
newJob
(
SampleQuartzJob
.
class
).
withIdentity
(
SampleQuartzJob
.
class
.
getName
(),
"aaa"
).
build
();
//表达式调度构建器(即任务执行的时间)
CronScheduleBuilder
scheduleBuilder
=
CronScheduleBuilder
.
cronSchedule
(
"*/5 * * * * ?"
);
//按新的cronExpression表达式构建一个新的trigger
CronTrigger
trigger
=
TriggerBuilder
.
newTrigger
().
withIdentity
(
SampleQuartzJob
.
class
.
getName
(),
"aaa"
)
.
withSchedule
(
scheduleBuilder
).
build
();
try
{
scheduler
.
scheduleJob
(
jobDetail
,
trigger
);
}
catch
(
SchedulerException
e
)
{
System
.
out
.
println
(
"创建定时任务失败"
+
e
);
throw
new
Exception
(
"创建定时任务失败"
);
}
}
}
\ No newline at end of file
src/main/java/cn/stylefeng/guns/core/schedue/SpringTasks.java
→
src/main/java/cn/stylefeng/guns/core/schedue/
spring/
SpringTasks.java
View file @
f7843771
package
cn
.
stylefeng
.
guns
.
core
.
schedue
;
package
cn
.
stylefeng
.
guns
.
core
.
schedue
.
spring
;
import
org.springframework.scheduling.annotation.Scheduled
;
import
org.springframework.scheduling.annotation.Scheduled
;
...
@@ -18,7 +18,7 @@ public class SpringTasks {
...
@@ -18,7 +18,7 @@ public class SpringTasks {
*/
*/
@Scheduled
(
fixedRate
=
5000
)
@Scheduled
(
fixedRate
=
5000
)
public
void
beginAfter
()
{
public
void
beginAfter
()
{
System
.
err
.
println
(
"<<<<<调试信息,注释掉SchedulingConfig类中的内容来关闭这个定时任务!>>>>>开始之后5秒执行!"
);
System
.
err
.
println
(
"<<<<<调试信息,注释掉SchedulingConfig类中的内容来关闭这个定时任务!>>>>>
spring task执行 >>>>>
开始之后5秒执行!"
);
}
}
/**
/**
...
@@ -29,7 +29,7 @@ public class SpringTasks {
...
@@ -29,7 +29,7 @@ public class SpringTasks {
*/
*/
@Scheduled
(
fixedDelay
=
5000
)
@Scheduled
(
fixedDelay
=
5000
)
public
void
finishAfter
()
{
public
void
finishAfter
()
{
System
.
err
.
println
(
"<<<<<调试信息,注释掉SchedulingConfig类中的内容来关闭这个定时任务!>>>>>执行之后5秒才执行!"
);
System
.
err
.
println
(
"<<<<<调试信息,注释掉SchedulingConfig类中的内容来关闭这个定时任务!>>>>>
spring task执行 >>>>>
执行之后5秒才执行!"
);
}
}
/**
/**
...
@@ -40,7 +40,7 @@ public class SpringTasks {
...
@@ -40,7 +40,7 @@ public class SpringTasks {
*/
*/
@Scheduled
(
initialDelay
=
1000
,
fixedRate
=
5000
)
@Scheduled
(
initialDelay
=
1000
,
fixedRate
=
5000
)
public
void
stepAdd
()
{
public
void
stepAdd
()
{
System
.
err
.
println
(
"<<<<<调试信息,注释掉SchedulingConfig类中的内容来关闭这个定时任务!>>>>>第一次延迟1秒后执行,之后按fixedRate的规则每5秒执行一次!"
);
System
.
err
.
println
(
"<<<<<调试信息,注释掉SchedulingConfig类中的内容来关闭这个定时任务!>>>>>
spring task执行 >>>>>
第一次延迟1秒后执行,之后按fixedRate的规则每5秒执行一次!"
);
}
}
/**
/**
...
@@ -51,6 +51,6 @@ public class SpringTasks {
...
@@ -51,6 +51,6 @@ public class SpringTasks {
*/
*/
@Scheduled
(
cron
=
"*/10 * * * * *"
)
@Scheduled
(
cron
=
"*/10 * * * * *"
)
public
void
cron
()
{
public
void
cron
()
{
System
.
err
.
println
(
"<<<<<调试信息,注释掉SchedulingConfig类中的内容来关闭这个定时任务!>>>>>每隔10秒执行一次!"
);
System
.
err
.
println
(
"<<<<<调试信息,注释掉SchedulingConfig类中的内容来关闭这个定时任务!>>>>>
spring task执行 >>>>>
每隔10秒执行一次!"
);
}
}
}
}
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment