canal-spring-boot-starter

一个简单的canal starter

License

License

Categories

Categories

Spring Boot Container Microservices
GroupId

GroupId

io.github.tequilacn
ArtifactId

ArtifactId

canal-spring-boot-starter
Last Version

Last Version

1.0.1-RELEASE
Release Date

Release Date

Type

Type

jar
Description

Description

canal-spring-boot-starter
一个简单的canal starter
Project URL

Project URL

http://maven.apache.org
Source Code Management

Source Code Management

https://github.com/TequilaCN/canal-spring-boot-starter

Download canal-spring-boot-starter

How to add to project

<!-- https://jarcasting.com/artifacts/io.github.tequilacn/canal-spring-boot-starter/ -->
<dependency>
    <groupId>io.github.tequilacn</groupId>
    <artifactId>canal-spring-boot-starter</artifactId>
    <version>1.0.1-RELEASE</version>
</dependency>
// https://jarcasting.com/artifacts/io.github.tequilacn/canal-spring-boot-starter/
implementation 'io.github.tequilacn:canal-spring-boot-starter:1.0.1-RELEASE'
// https://jarcasting.com/artifacts/io.github.tequilacn/canal-spring-boot-starter/
implementation ("io.github.tequilacn:canal-spring-boot-starter:1.0.1-RELEASE")
'io.github.tequilacn:canal-spring-boot-starter:jar:1.0.1-RELEASE'
<dependency org="io.github.tequilacn" name="canal-spring-boot-starter" rev="1.0.1-RELEASE">
  <artifact name="canal-spring-boot-starter" type="jar" />
</dependency>
@Grapes(
@Grab(group='io.github.tequilacn', module='canal-spring-boot-starter', version='1.0.1-RELEASE')
)
libraryDependencies += "io.github.tequilacn" % "canal-spring-boot-starter" % "1.0.1-RELEASE"
[io.github.tequilacn/canal-spring-boot-starter "1.0.1-RELEASE"]

Dependencies

compile (5)

Group / Artifact Type Version
org.springframework.boot : spring-boot-configuration-processor Optional jar 2.1.4.RELEASE
org.springframework.boot : spring-boot-starter jar 2.1.3.RELEASE
org.springframework.boot : spring-boot-autoconfigure jar 2.1.4.RELEASE
org.apache.maven.plugins : maven-gpg-plugin jar 1.6
com.alibaba.otter : canal.client jar 1.1.4

provided (1)

Group / Artifact Type Version
org.projectlombok : lombok jar 1.18.12

Project Modules

There are no modules declared in this project.

canal-spring-boot-starter LICENSE

配置项说明:

配置项 说明 是否能为空
canal.instances.{destination}.server canal server端ip地址 YES
canal.instances.{destination}.port canal server端端口 YES
canal.instances.{destination}.userName canal server端账号 YES
canal.instances.{destination}.password canal server端密码 YES
canal.instances.{destination}.batchSize 单批次拉取最大消息数 YES
canal.instances.{destination}.sleepAfterFailAcquire 拉取不到消息时休眠间隔(ms) YES
canal.instances.{destination}.filter 订阅表过滤 YES

QuickStart

  1. 引入maven依赖
       <!-- https://mvnrepository.com/artifact/com.alibaba.otter/canal.client -->
        <dependency>
            <groupId>com.alibaba.otter</groupId>
            <artifactId>canal.client</artifactId>
            <version>1.1.4</version>
        </dependency>
        <dependency>
            <groupId>com.nacht</groupId>
            <artifactId>canal-spring-boot-starter</artifactId>
            <version>1.0.0-SNAPSHOT</version>
        </dependency>
  1. 配置canal实例地址
canal:
  instances:
    example:
      server: 127.0.0.1
      port: 11111
      batchSize: 100
  1. 主启动类添加@EnableCanal注解, 开启canal

  2. 实现CanalDmlRawEventListener接口, 分别处理增删改各个场景的rowData

@CanalEventListener
public class MyCanalDmlEventHandler implements CanalDmlRawEventListener {
    @Override
    public void onInsert(List<CanalEntry.Column> afterColumns) {
        System.out.println(afterColumns.toString());
    }

    @Override
    public void onUpdate(List<CanalEntry.Column> beforeColumns, List<CanalEntry.Column> afterColumns) {
        System.out.println(beforeColumns.toString());
        System.out.println(afterColumns.toString());
    }

    @Override
    public void onDelete(List<CanalEntry.Column> beforeColumns) {
        System.out.println(beforeColumns.toString());
    }
}

Versions

Version
1.0.1-RELEASE
1.0.0-RELEASE