在项目中,经常会用到定时任务,这就需要使用quartz框架去进行操作. 今天就把我最近做的个人主页项目里面的定时刷新功能分享一下,很简单. 首先需要配置一个配置文件,因为我是基于spring框架的,所以在spring的applicationContext.xml配置文件中,导入了另一个配置文件: <!-- spring整合quartz框架 --> <import resource="applicationContext-quartz.xml"/> 这是由于防止s…
在我们的web开发过程中,经常需要用到功能权限校验,验证用户是否有某个角色或者权限,目前有很多框架,如Shiro Shiro有基于自定义登录界面的版本,也有基于CAS登录的版本,目前我们的系统是基于CAS单点登录,各个公司的单点登录机制略有差异,和Shiro CAS的标准单点登录校验方式也自然略有不同. 在尝试将自定义登录的普通版Shiro改造失败后,在系统登录.校验角色.权限我认为相对简单后,觉得模仿Shiro自己实现一个权限校验小框架,说是框架,其实就是一个aop advisor,几个注解(…
前段时间在项目中一直使用正常的Quartz突然出现了任务漏跑的情况,由于我以前看过Quartz的内部实现,凭借记忆我觉得是由于Quartz的线程池的使用出现问题导致了故障的发生.为了搞清问题的真相,我又重新看了一下Quartz的代码. 在看Spring的代码时发现Spring对Quartz封装过以后对Quartz的初始化过程还是比较复杂的,我对比较关键的几点提取出来画出了上面的时序图.大家可以结合代码看上面的时序图应该可以理解Quartz的初始化过程.图中的SpringContext只是用来代表…
Quartz框架是Java开源的定时任务调度器,Quartz框架中有如下核心概念: 1. Job 任务接口,接口中只声明方法void execute(JobExecutionContext context),接口的声明如下: public interface Job { void execute(JobExecutionContext context) throws JobExecutionException; } 2.   JobDetail Quartz执行Job时,需要重新创建新Job实例…
最近做一个小项目,要每7天去调用webservice获取一次数据.所以就用定时器来完成spring是4.1.6,quartz是2.2.1. 首先配置spring的xml文件.首先定义你要被执行的类 <!-- 被执行类 --> <bean id="remote" class="com.real.api.utils.InfoQuartz"> </bean> 将用来调度的类注入到job中.其中targetMethod是你在被调度的方法.…
项目地址 码云:https://git.oschina.net/null_584_3382/business-flow-parent github:https://github.com/Athlizo/business-flow-parent 先通俗的介绍一下框架 该框架的灵感来自于现实中的公交系统.公交系统的中最重要的几个元素,及其对工作流框架的对应: 乘客:对应工作流框架的中的数据(data) 公交车:数据的载体, 车站:一个车站可以看成工作流中的一个节点,负责处理"公交车"上的&…
在很多时候,我们会需要执行一些定时任务 ,Spring团队提供了Spring Task模块对定时任务的调度提供了支持,基于注解式的任务使用也非常方便. 只要跟需要定时执行的方法加上类似 @Scheduled(cron = "0 1 * *  *  *") 的注解就可以实现方法的定时执行. cron 是一种周期的表达式,六位从右至左分别对应的是年.月.日.时.分.秒,数字配合各种通配符可以表达种类丰富的定时执行周期. /** * Cron Example patterns: * <…
1)自定义JobFactory,通过spring的AutowireCapableBeanFactory进行注入,例如: public class MyJobFactory extends  org.springframework.scheduling.quartz.SpringBeanJobFactory { @Autowired private AutowireCapableBeanFactory beanFactory; /** * 这里覆盖了super的createJobInstance方…
功能描述:刚开始接触Quartz,试着用Quartz整合spring实现每隔一分钟发送一封邮件连续发送10次 核心jar: 邮件发送:commons-email-1.2.jar mail.jar(必须的) quartz:quartz-all-.jar quartz-all-/lib/下所有jar spring:spring-context-support.ajr(必须的) 只贴出核心代码: Email发送:使用apache commons-email跟mail package com.ssh.c…
百度爬虫这个词语,一般出现的都是python相关的资料. py也有很多爬虫框架,比如scrapy,Portia,Crawley等. 之前我个人更喜欢用C#做爬虫. 随着对nodejs的熟悉.发现做这种事情还是用脚本语言适合多了,至少不用写那么多的实体类.而且脚本一般使用比较简单. 在github上搜索node+spider,排名第一的就是node-crawler github:https://github.com/bda-research/node-crawler 简单使用 npm 安装: np…