diff --git a/connector/core/src/main/java/com/alibaba/otter/canal/connector/core/producer/MQMessageUtils.java b/connector/core/src/main/java/com/alibaba/otter/canal/connector/core/producer/MQMessageUtils.java index 2e60ee24..1a15a8fa 100644 --- a/connector/core/src/main/java/com/alibaba/otter/canal/connector/core/producer/MQMessageUtils.java +++ b/connector/core/src/main/java/com/alibaba/otter/canal/connector/core/producer/MQMessageUtils.java @@ -374,6 +374,7 @@ public class MQMessageUtils { flatMessage.setEs(entry.getHeader().getExecuteTime()); flatMessage.setTs(System.currentTimeMillis()); flatMessage.setSql(rowChange.getSql()); + flatMessage.setGtid(entry.getHeader().getGtid()); if (!rowChange.getIsDdl()) { Map sqlType = new LinkedHashMap<>(); @@ -526,6 +527,7 @@ public class MQMessageUtils { flatMessageTmp.setEs(flatMessage.getEs()); flatMessageTmp.setTs(flatMessage.getTs()); flatMessageTmp.setPkNames(flatMessage.getPkNames()); + flatMessageTmp.setGtid(flatMessage.getGtid()); } List> data = flatMessageTmp.getData(); if (data == null) { diff --git a/protocol/src/main/java/com/alibaba/otter/canal/protocol/FlatMessage.java b/protocol/src/main/java/com/alibaba/otter/canal/protocol/FlatMessage.java index 0957b759..90f93af1 100644 --- a/protocol/src/main/java/com/alibaba/otter/canal/protocol/FlatMessage.java +++ b/protocol/src/main/java/com/alibaba/otter/canal/protocol/FlatMessage.java @@ -27,6 +27,7 @@ public class FlatMessage implements Serializable { private Map mysqlType; private List> data; private List> old; + private String gtid; public FlatMessage() { } @@ -146,10 +147,18 @@ public class FlatMessage implements Serializable { this.es = es; } + public String getGtid() { + return gtid; + } + + public void setGtid(String gtid) { + this.gtid = gtid; + } + @Override public String toString() { return "FlatMessage [id=" + id + ", database=" + database + ", table=" + table + ", isDdl=" + isDdl + ", type=" + type + ", es=" + es + ", ts=" + ts + ", sql=" + sql + ", sqlType=" + sqlType + ", mysqlType=" - + mysqlType + ", data=" + data + ", old=" + old + "]"; + + mysqlType + ", data=" + data + ", old=" + old + ", gtid=" + gtid +"]"; } }