quartz学习笔记一小目标

最近开始要负责分布式事务调度这块儿的实现,原来想想就是加个分布式锁,很简单,但是看了quartz和elastic-job的代码,貌似不是那么简单,所以还是老样子,学习借鉴下。

 

首先quartz的文档看一遍,有个大概的了解。

然后给自己一个小目标:把它跑起来。

 

首先按照教程,写个最简单的例子job trigger schduler咱都得有。

然后,就是连接数据库,简单的在quartz.properties里配置下即可。

# 定时任务信息

org.quartz.scheduler.instanceName = NooshScheduler

org.quartz.scheduler.instanceId = AUTO

org.quartz.threadPool.threadCount = 3



# 打开集群

org.quartz.jobStore.isClustered=true



# 数据库

org.quartz.jobStore.class:org.quartz.impl.jdbcjobstore.JobStoreTX

org.quartz.jobStore.driverDelegateClass = org.quartz.impl.jdbcjobstore.StdJDBCDelegate

org.quartz.jobStore.dataSource=nooshQuartzDB

org.quartz.dataSource.nooshQuartzDB.driver=org.h2.Driver

org.quartz.dataSource.nooshQuartzDB.URL=jdbc:h2:~/testdb

org.quartz.dataSource.nooshQuartzDB.user=sa

org.quartz.dataSource.nooshQuartzDB.password=

这里H2数据有点小插曲:

1. web无法再本地建数据库,到安装目录下执行命令建一个就行了

D:\dev\softpack\h2\bin> java -cp h2-1.4.199.jar org.h2.tools.Shell

2. 数据库文件被锁住,app连不上,停止本地的H2服务,使用自己app连就行了,二选一

 

好的,一个节点,一个数据库,小目标达成。

 

如何运行多个节点呢?

1. 打成jar包来运行。

maven assembly plugin了解一下,或者直接用maven的jar,dependency plugin把jar包打好,再手动写个manifest添加Class-Path和Main-Class,用jar命令把它两打包到一起,了解一下就行。

2. 我们还是直接把项目改装成sring-boot项目,分别换两个端口起起来就行了,真香。

3. 有条件的再加个docker文件,直接部署到docker里。

 

项目跑起来了,明天就去撸quartz源码,改造成自己想要的样子。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值