提交 bfe5904f authored 作者: xc's avatar xc

xc

上级 08c93622
...@@ -19,5 +19,5 @@ public class Columns { ...@@ -19,5 +19,5 @@ public class Columns {
/** /**
* 是否主键 * 是否主键
*/ */
private boolean isKey; private boolean key;
} }
...@@ -134,6 +134,7 @@ public class CanalClientExample implements CommandLineRunner { ...@@ -134,6 +134,7 @@ public class CanalClientExample implements CommandLineRunner {
CanalEntry.EventType eventType = rowChage.getEventType(); CanalEntry.EventType eventType = rowChage.getEventType();
String tableName = entry.getHeader().getTableName(); String tableName = entry.getHeader().getTableName();
System.out.println(rowChage);
for (CanalEntry.RowData rowData : rowChage.getRowDatasList()) { for (CanalEntry.RowData rowData : rowChage.getRowDatasList()) {
// System.out.println(rowData); // System.out.println(rowData);
...@@ -146,11 +147,19 @@ public class CanalClientExample implements CommandLineRunner { ...@@ -146,11 +147,19 @@ public class CanalClientExample implements CommandLineRunner {
} }
private void getChangeData(CanalEntry.EventType eventType, String tableName, CanalEntry.RowData rowData) { private void getChangeData(CanalEntry.EventType eventType, String tableName, CanalEntry.RowData rowData) {
List<CanalEntry.Column> columns = rowData.getAfterColumnsList(); List<CanalEntry.Column> columns;
if(eventType.equals(CanalEntry.EventType.DELETE)){
columns = rowData.getBeforeColumnsList();
}else {
columns = rowData.getAfterColumnsList();
}
if (columns.size() == 0 || StringUtils.isBlank(tableName)) { if (columns.size() == 0 || StringUtils.isBlank(tableName)) {
log.error("字段列表为空或数据库名为空");
return; return;
} }
ChangeData changeData = new ChangeData(); ChangeData changeData = new ChangeData();
List<Columns> list = new ArrayList<>(); List<Columns> list = new ArrayList<>();
changeData.setEventType(eventType.toString()); changeData.setEventType(eventType.toString());
...@@ -168,7 +177,8 @@ public class CanalClientExample implements CommandLineRunner { ...@@ -168,7 +177,8 @@ public class CanalClientExample implements CommandLineRunner {
String jsonStr = JSONObject.toJSONString(changeData); String jsonStr = JSONObject.toJSONString(changeData);
System.out.println(jsonStr); System.out.println(jsonStr);
try { try {
HttpUtils.sendPost("http://localhost:8086/producer/receive", jsonStr); HttpUtils.sendPost("http://localhost:8080/test/add", jsonStr);
// HttpUtils.sendPost("http://localhost:8086/producer/receive", jsonStr);
} catch (UnsupportedEncodingException e) { } catch (UnsupportedEncodingException e) {
e.printStackTrace(); e.printStackTrace();
} }
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论