提交 | 用户 | age
|
c83c1b
|
1 |
package com.duxinglangzi.canal.starter.mode; |
D |
2 |
|
|
3 |
import com.alibaba.otter.canal.protocol.CanalEntry; |
|
4 |
|
|
5 |
import java.io.Serializable; |
|
6 |
|
|
7 |
/** |
|
8 |
* 监听事件的 返回信息, 主要将 CanalEntry 里不同层级的常用数据组装到同一层级使用.<p> |
cf3e03
|
9 |
* entryHeader 是为了方便获取其他数据,比如: 获取日志文件名、日志文件偏移量等 |
c83c1b
|
10 |
* |
D |
11 |
* @author wuqiong 2022/8/15 |
|
12 |
*/ |
|
13 |
public class CanalMessage implements Serializable { |
|
14 |
private static final long serialVersionUID = 730485362580815032L; |
|
15 |
|
|
16 |
/** |
|
17 |
* 发生变化的 事件类型 |
|
18 |
*/ |
|
19 |
private CanalEntry.EventType eventType; |
|
20 |
|
|
21 |
/** |
|
22 |
* 发生变化的数据 |
|
23 |
*/ |
|
24 |
private CanalEntry.RowData rowData; |
|
25 |
|
|
26 |
/** |
|
27 |
* 头信息, 包含: sql执行时间、数据库日志文件名、数据库日志文件偏移量 等信息 |
|
28 |
*/ |
|
29 |
private CanalEntry.Header entryHeader; |
|
30 |
|
|
31 |
/** |
|
32 |
* 构造返回数据信息 |
|
33 |
* |
|
34 |
* @param entryHeader 头信息 |
|
35 |
* @param eventType 事件类型 |
|
36 |
* @param rowData 变化的数据 |
|
37 |
* @author wuqiong 2022/8/15 16:18 |
|
38 |
*/ |
|
39 |
public CanalMessage(CanalEntry.Header entryHeader, CanalEntry.EventType eventType, CanalEntry.RowData rowData) { |
|
40 |
this.entryHeader = entryHeader; |
|
41 |
this.eventType = eventType; |
|
42 |
this.rowData = rowData; |
|
43 |
} |
|
44 |
|
cf3e03
|
45 |
/** |
D |
46 |
* 数据库名 |
|
47 |
*/ |
c83c1b
|
48 |
public String getDataBaseName() { |
cf3e03
|
49 |
return getEntryHeader().getSchemaName(); |
c83c1b
|
50 |
} |
D |
51 |
|
cf3e03
|
52 |
/** |
D |
53 |
* 表名 |
|
54 |
*/ |
c83c1b
|
55 |
public String getTableName() { |
cf3e03
|
56 |
return getEntryHeader().getTableName(); |
c83c1b
|
57 |
} |
D |
58 |
|
|
59 |
public CanalEntry.EventType getEventType() { |
|
60 |
return eventType; |
|
61 |
} |
|
62 |
|
|
63 |
public CanalEntry.RowData getRowData() { |
|
64 |
return rowData; |
|
65 |
} |
|
66 |
|
|
67 |
public CanalEntry.Header getEntryHeader() { |
|
68 |
return entryHeader; |
|
69 |
} |
|
70 |
} |