根据自己在项目中用到的调度,简单说说:(如有不正确的地方,请留言。。。)

Java调度:他是用来解决访问时间慢的手段。

通俗的讲就是为需要的数据(你需要展示的数据)建立一张中间表存放,提前把数据读出来插入到中间表中,当需要的时候再从中间表读数据就可以,如何存放数据呢,那么就需要所谓的调度,他可以设置某个时间,比如凌晨几点让服务器执行一段非常耗时的代码。这样就提高了访问速度。

调度实现:1.编写调度类;2.进行配置

调度类 例如如下代码:

public class ReportSchedule {
@Inject
private xxxMapper xxxMapper; @Inject
private xxxMapper xxxMapper; //调度执行插入数据
public void qdwy_loginReport(){
System.out.println(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())+":调度开始"); //想办法拿到自己想插入的数据,其实就是select操作
//调用mapper层接口实现向中间表插入数据,其实就是插入表操作insert System.out.println("**********************************");
System.out.println(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())+":调度结束");
bgTongjibaobiaoMapper.dispatchBg();
System.out.println("========================调度结束==========================");
}

在spring-application中配置如下:

<?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-3.0.xsd"> <!-- ______________________________调度配置开始______________________________ -->
<!-- 配置调度类 -->
<bean id="reportSchedule" class="com.ly.filter.ReportSchedule"></bean>
<!-- 配置MethodInvokingJobDetailFactoryBean -->
<bean id="jobtask2" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject" ref="reportSchedule"></property> <!--当有多个调度方法时,需要单独在写一个bean-->
<property name="targetMethod" value="qdwy_hyloginReport"></property>
</bean> <!-- 配置定时表达式 -->
<bean id="doTime2" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail" ref="jobtask2"></property>
<!-- 0 0 15 * * ? * 代表秒 分 小时 日 月 星期 年 -->
<property name="cronExpression" value="0 0 15 * * ? *"></property>
</bean> <!-- 配置调度工厂:如果将lazy-init='false'那么容器启动就会执行调度程序 -->
<bean id="startQuertz" lazy-init="false" autowire="no" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref bean="doTime2"/>
</list>
</property>
</bean>
<!-- 调度配置结束 -->
</beans>

关于调度关键实现就是上面代码了,有需要的可以看看。

Java调度实现的更多相关文章

  1. Java调度线程池ScheduleExecutorService(续)

    链接 Java线程池详解(一) Java线程池详解(二) Java调度线程池ScheduleExecutorService 上面列出了最近写的关于java线程池ScheduleExecutorServ ...

  2. Java调度线程池ScheduledThreadPoolExecutor源码分析

    最近新接手的项目里大量使用了ScheduledThreadPoolExecutor类去执行一些定时任务,之前一直没有机会研究这个类的源码,这次趁着机会好好研读一下. 该类主要还是基于ThreadPoo ...

  3. Java调度线程池ScheduleExecutorService

    如果在一个ScheduleExecutorService中提交一个任务,这个任务的调度周期设置 的时间比任务本身执行的时间短的话会出现什么情况?也就是在线程调度时间已经到了 但是上次的任务还没有做完的 ...

  4. Java调度框架Quartz简单示例

    Quartz的大名如雷贯耳,这里就不赘述,而且本文也不作为深入探讨,只是看完Quartz的官方文档后,下个简单示例,至少证明曾经花了点时间学习过,以备不时之需. Quartz使用了SLF4J,所以至少 ...

  5. java 调度框架quartz

    核心代码如下: public class SchedulerTest { public static void main(String[] args) { //创建schedulerFactory类 ...

  6. Java调度池的实现原理

    下图是关于ScheduledFutureTask的继承体系结构图.

  7. Java定时调度

    一.实现方式 Timer:单线程,串行: ScheduledExecutor:并行,论询,实现麻烦: Spring Scheduler:适合小任务: JcronTab:按照crontab语法编写的ja ...

  8. 开源调度框架Quartz最佳实践

    开源调度框架Quartz最佳实践 Quartz是一个Java调度框架,当前的最新版本为2.2.1. 以Quartz 2.2.1版为例,Quartz最佳实践(用于生产系统)总结如下: 1.跳过更新检查Q ...

  9. Java并发编程有多难?这几个核心技术你掌握了吗?

    本文主要内容索引 1.Java线程 2.线程模型 3.Java线程池 4.Future(各种Future) 5.Fork/Join框架 6.volatile 7.CAS(原子操作) 8.AQS(并发同 ...

随机推荐

  1. MQ产品比较-ActiveMQ-RocketMQ

    几种MQ产品说明: ZeroMQ :  扩展性好,开发比较灵活,采用C语言实现,实际上他只是一个socket库的重新封装,如果我们做为消息队列使用,需要开发大量的代码 RabbitMQ :结合erla ...

  2. Dojo初探之4:dojo的event(鼠标/键盘)事件绑定操作(基于dojo1.11.2版本)

    前言: 上一章详解了dojo的dom/query操作,本章基于dom/query基础上进行事件绑定操作 dojo的事件 dojo的事件绑定操作分为鼠标和键盘两种进行详解 1.鼠标事件 我们沿用上一章中 ...

  3. python之路第一篇

    一.python环境的搭建 1.window下环境的搭建 (1).在 https://www.python.org/downloads/ 下载自己系统所需要的python版本 (2).安装python ...

  4. 将某个日期字符串转换为java.sql.Date的类型

    import java.text.ParseException; import java.text.SimpleDateFormat; public class date { /** * @param ...

  5. Hadoop 2.7 伪分布式环境搭建

    1.安装环境 ①.一台Linux CentOS6.7 系统 hostname                ipaddress              subnet mask             ...

  6. ios开发 oc 的类方法与对象方法

    --------开始前先申明一下:小编为了让大家看出效果,在编码中命名方式会又些不规范. 首先我们先来了解一下什么是类方法与对象方法. 对象方法: 对象是由“-”开头.比如:-(void)Runner ...

  7. C# 短信发送 邮件发送

    兴趣是最好的老师. --爱因斯坦 一.实现短信发送 1.使用短信mao的方式进行短信发送,前提要购买硬件设备,这里就不考虑展示了: 2.使用中国网建提供的短信平台,但是用几次后要收费: 我们这里主要介 ...

  8. 搭建开源java博客并通过域名访问

    这个博客系统是王爵在GitHub上开源的,通过简单几步就可以部署成功. 前面几步可以参照如下几个链接: 1.https://www.qcloud.com/community/article/29008 ...

  9. celery的使用

    1.celery的任务调度 # -*- coding: utf-8 -*- import threading from bs4 import BeautifulSoup from tornado im ...

  10. 浅析ConcurrentHashMap

    一.导论 这些天一直在看关于多线程和高并发的书籍,也对jdk中的并发措施了解了些许,看到concurrentHashMap的时候感觉知识点很乱,有必要写篇博客整理记录一下. 当资源在多线程下共享时会产 ...