Spring boot定时+跨库传数据遇到的问题--解决方案

今天用spring boot做了一个小的定时器传数据的功能,总结一下自己遇到的bug

希望可以帮到跟我一样问题的选手。

首先是定时器,非常的简单。

1,在springboot的启动类加入@EnableScheduling(开启定时任务)

2,在config或task包中建立ScheduleConfig类实现SchedulingConfigurer(如果定时任务比较重的情况下,给任务分配线程池。如不需要也可以不配置)

3,在task或者service包中编写自己的任务器标注为@Component,然后在要定时任务前加入@Scheduled标注即可

现在就好了,你把@Scheduled写在你需要的方法上,就会定时执行这个方法,需要注意就是定时这个写法,有多种,根据自己的需求去写,例:每五秒 @Scheduled(cron = "*/5 * * * * ?") 一月一次@Scheduled(initialDelay = 5000, fixedRate = 5000)

这些写法自行百度,很简单。

定时实现之后就是今天我遇到的问题了。

我今天做的是很简单的跨库传数据。首先,说一个我遇到的时间最长的坑--不能加@Transactional注解!!

加了这个注解,你就会一直在你的默认库里查,走不出去。

然后,跨库的根本是在你的查询方法上面,需要加一个注解 @DS("库名")

这样子,你的查询对应就会去对应的库查了,所以,很明显就是,你的方法上面如果指定了库,他就去指定库,如果没有,则会在默认库中进行。此时,跨库实现。

当然,你要在配置文件先把这两个库都配置上,spring boot在启动时会自动把你的库都加载到,所以你才能用注解来指定库。

还有就是记得ID要自增。

记得Mapper不要写错。

楼主很久不用mybatis,写错mapper困扰了还久,望共勉。

 

---相逢莫厌醉金杯,别离多,欢会少。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值