Spring定时器Quartz,定时调用存储过程
来源:互联网 发布:网络摄像机球机 编辑:程序博客网 时间:2024/06/05 14:20
- maven依赖导入:
<dependency> <groupId>org.quartz-scheduler</groupId> <artifactId>quartz</artifactId> <version>1.8.5</version> </dependency> <spring.version>4.0.8.RELEASE</spring.version> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>${spring.version}</version>
2、配置:
<!-- 定时加载的类 --> <bean id="time1" class="com.gent.timeTest"></bean> <!-- 定时器的配置 --> <bean id="timeDitail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"> <property name="targetObject" ref="time1"></property><!-- 指定任务类 --> <property name="targetMethod" value="getTime"></property><!-- 指定任务方法 --> </bean> <!-- 定时时间间隔触发器 --> <bean id="timeTigger" class="org.springframework.scheduling.quartz.CronTriggerBean"> <property name="jobDetail" ref="timeDitail"></property> <property name="cronExpression"> <value>0 27 08 * * ?</value> </property> </bean> <!-- 启动定时器 --> <bean id="startJob" class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> <property name="triggers"> <list> <ref bean="timeTigger"/> </list> </property> </bean>
3、定时任务:
public class timeTest { public timeTest(){} @Test public void getTime(){ System.out.println("定时任务启动"); /** * 1,定义变量 */ String driverClass ="oracle.jdbc.OracleDriver"; String url="jdbc:oracle:thin:@192.168.10.20:1421:sy"; String user="sy"; String password="sy"; try{ //映射 Class.forName(driverClass); //2、获取连接对象 Connection connection=DriverManager.getConnection(url,user,password); //3.创建执行存储过程的语句对象 String sql="{call TestProcess()}"; CallableStatement callableStatement=connection.prepareCall(sql); /** *告诉JDBC,这些个参数,哪些是输出参数,输出参数的类型用java.sql.Types来指定 *下面的意思是,第3个?和第4个?是输出参数,类型是INTEGER的 *Types后面具体写什么类型,得看你的存储过程参数怎么定义的 */ //CallableStatement cstmt = conn.prepareCall("{call p(?,?,?,?)}"); //4、设置参数 /* cstmt.registerOutParameter(3, Types.INTEGER); cstmt.registerOutParameter(4, Types.INTEGER); */ /** *在我这里第1个?和第2个?是输入参数,第3个是输出参数,第4个既输入又输出 *下面是设置他们的值,第一个设为3,第二个设为4,第4个设置为5 *没设第3个,因为它是输出参数 */ /* cstmt.setInt(1, 3); cstmt.setInt(2, 4); cstmt.setInt(4, 5); */ //5、执行 //callableStatement.executeQuery(); callableStatement.execute(); //6、获取数据 // int three = cstmt.getInt(3); ResultSet set=callableStatement.getResultSet(); System.out.print("set:"+set); //释放资源 }catch(Exception e){ e.printStackTrace(); } }}
4、存储过程:
create or replace procedure TestProcess
AS
innamee varchar2(2000);
cursor cour is select name from sys_user where del_flag=’0’;
Begin
open cour;
loop
fetch cour into innamee;
exit when cour%NOTFOUND;
DBMS_OUTPUT.PUT_LINE(cour);
end loop;
close cour;
End;
5.
附表:
“0 0 12 * * ?” 每天中午12点触发
“0 15 10 ? * *” 每天上午10:15触发
“0 15 10 * * ?” 每天上午10:15触发
“0 15 10 * * ? *” 每天上午10:15触发
“0 15 10 * * ? 2005” 2005年的每天上午10:15触发
“0 * 14 * * ?” 在每天下午2点到下午2:59期间的每1分钟触发
“0 0/5 14 * * ?” 在每天下午2点到下午2:55期间的每5分钟触发
“0 0/5 14,18 * * ?” 在每天下午2点到2:55期间和下午6点到6:55期间的每5分钟触发
“0 0-5 14 * * ?” 在每天下午2点到下午2:05期间的每1分钟触发
“0 10,44 14 ? 3 WED” 每年三月的星期三的下午2:10和2:44触发
“0 15 10 ? * MON-FRI” 周一至周五的上午10:15触发
“0 15 10 15 * ?” 每月15日上午10:15触发
“0 15 10 L * ?” 每月最后一日的上午10:15触发
“0 15 10 ? * 6L” 每月的最后一个星期五上午10:15触发
“0 15 10 ? * 6L 2002-2005” 2002年至2005年的每月的最后一个星期五上午10:15触发
“0 15 10 ? * 6#3” 每月的第三个星期五上午10:15触发
- Spring定时器Quartz,定时调用存储过程
- spring定时调用数据库存储过程
- 【Spring】Quartz定时器动态设置定时时间
- spring定时任务线程配备(quartz定时器)
- spring---定时任务(quartz定时器)
- java spring-quartz定时器实现定时任务
- 定时调用存储过程
- spring 定时任务调用存储过程配置示例(未测试)
- oracle定时器调用存储过程
- oracle定时器调用存储过程
- oracle 定时器调用存储过程
- mysql 定时器调用存储过程
- oracle定时器调用存储过程
- 定时器中调用存储过程
- mysql定时器调用存储过程
- Oracle定时器调用存储过程
- Spring+Quartz定时器结合调用service
- Spring+Quartz定时器结合调用service
- Tensor数据相关的运算、函数讲解及与numpy区别
- css选择器优先级
- ACM-ICPC北京站网络赛A题---Visiting Peking University
- QtableView 刷新行数
- kobject和kset的一些学习心得
- Spring定时器Quartz,定时调用存储过程
- [USACO08FEB][bzoj1611]流星雨Meteor Shower
- VMware12安装VMware Tools不成功会出现 /mnt/hgfs下不会出现共享文件夹
- 安装eclipse ADT
- 数据库练习题(当A列大于B列时选择A列否则选择B列)
- Android中添加两个(多个)FileProvider节点问题
- 关於 Parcelable 实作以及继承
- MySql语法(2):高级查询1
- Android数据业务发起流程