基于canal的Spring-Boot-Starter
2018-03-22 15:59
4395 查看
前言
canal是阿里巴巴的基于数据库增量日志解析,提供增量数据订阅&消费,目前主要支持了mysql。可以用于比如数据库数据变化的监听从而同步缓存(如Redis)数据等。
由于项目中基本都是使用的Spring-Boot,所以写了一个基于Spring-Boot的starter方便使用。
特点
使用方便。可以通过简单的配置就可以开始使用,当对某些操作感兴趣的时候可以通过注解或者注入接口实现的方式监听对应的事件。eg:
注解方式:@CanalEventListener
public class MyEventListener {
@InsertListenPoint
public void onEvent(CanalEntry.EventType eventType, CanalEntry.RowData rowData) {
//do something...
}
@UpdateListenPoint
public void onEvent1(CanalEntry.RowData rowData) {
//do something...
}
@DeleteListenPoint
public void onEvent3(CanalEntry.EventType eventType) {
//do something...
}
@ListenPoint(destination = "example", schema = "canal-test", table = {"t_user", "test_table"}, eventType = CanalEntry.Even
4000
tType.UPDATE)
public void onEvent4(CanalEntry.EventType eventType, CanalEntry.RowData rowData) {
//do something...
}
}接口实现方式:@Component
public class MyEventListener2 implements CanalEventListener {
@Override
public void onEvent(CanalEntry.EventType eventType, CanalEntry.RowData rowData) {
//do something...
}
}或者:@Component
public class MyEventListener2 implements DmlCanalEventListener {
@Override
public void onInsert(CanalEntry.RowData rowData) {
//do something...
}
@Override
public void onUpdate(CanalEntry.RowData rowData) {
//do something...
}
@Override
public void onDelete(CanalEntry.RowData rowData) {
//do something...
}
}
使用方法
注意:基于已经有了数据库环境和canal-server环境的前提。获取源码。源码地址:chenqian56131
将源码中的starter-canl项目打包引入或者通过maven安装到仓库。
在自己的Spring-Boot项目中:
加入配置:
canal.client.instances.example.host=127.0.0.1 canal.client.instances.example.port=11111
编写自己的Listener(参照canal-test中的MyEventListener)
启动。---》OK!
相关文章推荐
- springboot学习1-使用 Spring Starter Project快速创建基于spring-boot的web项目
- Spring Boot 启动器starter详解
- 基于Spring Boot和Spring Cloud实现微服务架构学习(四)-Spring Cloud总结
- SpringBoot入坑笔记之spring-boot-starter-web 配置文件的使用
- 基于Spring Boot、Spring Cloud、Docker的微服务系统架构实践
- 基于Spring Boot和Spring Cloud实现微服务架构学习(一)-Spring框架介绍
- spring-boot-starter-data-redis 翻译官方文档 8.1 - 8.3
- 基于Spring Boot和Spring Cloud实现微服务架构学习(三)-Spring Boot应用
- 使用spring-boot-starter-mail实现邮件发送
- springboot ehcache starter自动配置
- 基于Spring Boot和Cloud Foundry实现微服务架构学习(2017227更新)
- 基于Spring Boot的Logback日志轮转配置
- 创建自己的Spring Boot starter
- 二、spring Boot构建的Web应用中,基于MySQL数据库的几种数据库连接方式进行介绍
- 编写spring boot的一个starter
- Spring Boot Starter 的基本封装
- 在Spring boot中自定义starter
- Spring Boot的启动器Starter详解
- 基于springboot+redis+bootstrap+mysql开发一套属于自己的分布式springcloud云权限架构(十)【权限架构生产者(用户管理)】
- spring-boot 自定义starter