服务网站建设排行,wordpress媒体库是哪个文件夹,做网站找 汇搜网络,芜湖龙湖建设网站前言 前面说到过项目使用到了Quartz#xff0c;当项目部署到多节点后#xff0c;同样的调度任务会被重复执行#xff0c;这时候就需要用到集群了。 集群配置 quartz.properties #
# Configure Main Scheduler Properties
#
org.quartz.scheduler.instanceName me
#ID设置为…前言 前面说到过项目使用到了Quartz当项目部署到多节点后同样的调度任务会被重复执行这时候就需要用到集群了。 集群配置 quartz.properties #
# Configure Main Scheduler Properties
#
org.quartz.scheduler.instanceName me
#ID设置为自动获取每一个必须不同
org.quartz.scheduler.instanceId AUTO#
# Configure ThreadPool
#
#ThreadPool 实现的类名
org.quartz.threadPool.class org.quartz.simpl.SimpleThreadPool
org.quartz.threadPool.threadCount 2
#线程优先级
org.quartz.threadPool.threadPriority 5#
# Configure JobStore
#
#数据保存方式为持久化
org.quartz.jobStore.class org.quartz.impl.jdbcjobstore.JobStoreTX
org.quartz.jobStore.misfireThreshold 60000
org.quartz.jobStore.driverDelegateClass org.quartz.impl.jdbcjobstore.StdJDBCDelegate
org.quartz.jobStore.useProperties false
org.quartz.jobStore.tablePrefix QRTZ_
org.quartz.jobStore.dataSource myDS
org.quartz.jobStore.isClustered true
org.quartz.jobStore.clusterCheckinInterval 10000#
# Configure DataSource
#org.quartz.dataSource.myDS.driver com.mysql.jdbc.Driver
org.quartz.dataSource.myDS.URL db.url
org.quartz.dataSource.myDS.user db.username
org.quartz.dataSource.myDS.password db.password
org.quartz.dataSource.myDS.maxConnections 5
org.quartz.dataSource.myDS.validationQueryselect 0 from dual mysql数据库脚本 drop table if exists qrtz_fired_triggers;
drop table if exists qrtz_paused_trigger_grps;
drop table if exists qrtz_scheduler_state;
drop table if exists qrtz_locks;
drop table if exists qrtz_simple_triggers;
drop table if exists qrtz_simprop_triggers;
drop table if exists qrtz_cron_triggers;
drop table if exists qrtz_blob_triggers;
drop table if exists qrtz_triggers;
drop table if exists qrtz_job_details;
drop table if exists qrtz_calendars;create table qrtz_job_details(sched_name varchar(120) not null,job_name varchar(200) not null,job_group varchar(200) not null,description varchar(250) null,job_class_name varchar(250) not null,is_durable varchar(1) not null,is_nonconcurrent varchar(1) not null,is_update_data varchar(1) not null,requests_recovery varchar(1) not null,job_data blob null,primary key (sched_name,job_name,job_group))engineinnodb;create table qrtz_triggers (sched_name varchar(120) not null,trigger_name varchar(200) not null,trigger_group varchar(200) not null,job_name varchar(200) not null,job_group varchar(200) not null,description varchar(250) null,next_fire_time bigint(13) null,prev_fire_time bigint(13) null,priority integer null,trigger_state varchar(16) not null,trigger_type varchar(8) not null,start_time bigint(13) not null,end_time bigint(13) null,calendar_name varchar(200) null,misfire_instr smallint(2) null,job_data blob null,primary key (sched_name,trigger_name,trigger_group),foreign key (sched_name,job_name,job_group)references qrtz_job_details(sched_name,job_name,job_group))engineinnodb;create table qrtz_simple_triggers (sched_name varchar(120) not null,trigger_name varchar(200) not null,trigger_group varchar(200) not null,repeat_count bigint(7) not null,repeat_interval bigint(12) not null,times_triggered bigint(10) not null,primary key (sched_name,trigger_name,trigger_group),foreign key (sched_name,trigger_name,trigger_group)references qrtz_triggers(sched_name,trigger_name,trigger_group))engineinnodb;create table qrtz_cron_triggers (sched_name varchar(120) not null,trigger_name varchar(200) not null,trigger_group varchar(200) not null,cron_expression varchar(120) not null,time_zone_id varchar(80),primary key (sched_name,trigger_name,trigger_group),foreign key (sched_name,trigger_name,trigger_group)references qrtz_triggers(sched_name,trigger_name,trigger_group))engineinnodb;create table qrtz_simprop_triggers
(sched_name varchar(120) not null,trigger_name varchar(200) not null,trigger_group varchar(200) not null,str_prop_1 varchar(512) null,str_prop_2 varchar(512) null,str_prop_3 varchar(512) null,int_prop_1 int null,int_prop_2 int null,long_prop_1 bigint null,long_prop_2 bigint null,dec_prop_1 numeric(13,4) null,dec_prop_2 numeric(13,4) null,bool_prop_1 varchar(1) null,bool_prop_2 varchar(1) null,primary key (sched_name,trigger_name,trigger_group),foreign key (sched_name,trigger_name,trigger_group)references qrtz_triggers(sched_name,trigger_name,trigger_group))engineinnodb;create table qrtz_blob_triggers (sched_name varchar(120) not null,trigger_name varchar(200) not null,trigger_group varchar(200) not null,blob_data blob null,primary key (sched_name,trigger_name,trigger_group),index (sched_name,trigger_name, trigger_group),foreign key (sched_name,trigger_name,trigger_group)references qrtz_triggers(sched_name,trigger_name,trigger_group))engineinnodb;create table qrtz_calendars (sched_name varchar(120) not null,calendar_name varchar(200) not null,calendar blob not null,primary key (sched_name,calendar_name))engineinnodb;create table qrtz_paused_trigger_grps (sched_name varchar(120) not null,trigger_group varchar(200) not null,primary key (sched_name,trigger_group))engineinnodb;create table qrtz_fired_triggers (sched_name varchar(120) not null,entry_id varchar(95) not null,trigger_name varchar(200) not null,trigger_group varchar(200) not null,instance_name varchar(200) not null,fired_time bigint(13) not null,sched_time bigint(13) not null,priority integer not null,state varchar(16) not null,job_name varchar(200) null,job_group varchar(200) null,is_nonconcurrent varchar(1) null,requests_recovery varchar(1) null,primary key (sched_name,entry_id))engineinnodb;create table qrtz_scheduler_state (sched_name varchar(120) not null,instance_name varchar(200) not null,last_checkin_time bigint(13) not null,checkin_interval bigint(13) not null,primary key (sched_name,instance_name))engineinnodb;create table qrtz_locks (sched_name varchar(120) not null,lock_name varchar(40) not null,primary key (sched_name,lock_name))engineinnodb;create index idx_qrtz_j_req_recovery on qrtz_job_details(sched_name,requests_recovery);
create index idx_qrtz_j_grp on qrtz_job_details(sched_name,job_group);create index idx_qrtz_t_j on qrtz_triggers(sched_name,job_name,job_group);
create index idx_qrtz_t_jg on qrtz_triggers(sched_name,job_group);
create index idx_qrtz_t_c on qrtz_triggers(sched_name,calendar_name);
create index idx_qrtz_t_g on qrtz_triggers(sched_name,trigger_group);
create index idx_qrtz_t_state on qrtz_triggers(sched_name,trigger_state);
create index idx_qrtz_t_n_state on qrtz_triggers(sched_name,trigger_name,trigger_group,trigger_state);
create index idx_qrtz_t_n_g_state on qrtz_triggers(sched_name,trigger_group,trigger_state);
create index idx_qrtz_t_next_fire_time on qrtz_triggers(sched_name,next_fire_time);
create index idx_qrtz_t_nft_st on qrtz_triggers(sched_name,trigger_state,next_fire_time);
create index idx_qrtz_t_nft_misfire on qrtz_triggers(sched_name,misfire_instr,next_fire_time);
create index idx_qrtz_t_nft_st_misfire on qrtz_triggers(sched_name,misfire_instr,next_fire_time,trigger_state);
create index idx_qrtz_t_nft_st_misfire_grp on qrtz_triggers(sched_name,misfire_instr,next_fire_time,trigger_group,trigger_state);create index idx_qrtz_ft_trig_inst_name on qrtz_fired_triggers(sched_name,instance_name);
create index idx_qrtz_ft_inst_job_req_rcvry on qrtz_fired_triggers(sched_name,instance_name,requests_recovery);
create index idx_qrtz_ft_j_g on qrtz_fired_triggers(sched_name,job_name,job_group);
create index idx_qrtz_ft_jg on qrtz_fired_triggers(sched_name,job_group);
create index idx_qrtz_ft_t_g on qrtz_fired_triggers(sched_name,trigger_name,trigger_group);
create index idx_qrtz_ft_tg on qrtz_fired_triggers(sched_name,trigger_group); 原理 Quartz实现集群的原理就是将各个任务持久化到数据库每个节点根据数据库的记录来判断是否需要执行调度任务。 所以任务相关的类都需要实现Serializable接口来进行序列化和反序列化。转载于:https://www.cnblogs.com/irain/p/7458751.html