@@ -102,28 +102,29 @@ DBStreamContext.getInstance().addEventPusher(new DBEventPusher() {
102102实现并注册 ` SQLExecuteListener ` ,可以获取原始 SQL 和参数信息:
103103
104104``` java
105- import com.codingapi.dbstream.DBStreamContext ;
106- import com.codingapi.dbstream.interceptor.SQLExecuteState ;
105+
106+ import com.codingapi.dbstream.listener.SQLRunningState ;
107107import com.codingapi.dbstream.listener.SQLExecuteListener ;
108108
109109public class MySQLListener implements SQLExecuteListener {
110110
111111 @Override
112112 public int order () {
113+ // 执行顺序 小的在前,大的在后
113114 return 0 ;
114115 }
115-
116+
116117 @Override
117- public void before (SQLExecuteState executeState ) {
118- System . out. println(" 执行前 - SQL: " + executeState . getSql());
119- System . out. println(" 执行前 - 参数: " + executeState . getListParams());
118+ public void before (SQLRunningState runningState ) {
119+ System . out. println(" 执行前 - SQL: " + runningState . getSql());
120+ System . out. println(" 执行前 - 参数: " + runningState . getListParams());
120121 }
121122
122123 @Override
123- public void after (SQLExecuteState executeState , Object result ) {
124- System . out. println(" 执行后 - SQL: " + executeState . getSql());
125- System . out. println(" 执行后 - 参数: " + executeState . getListParams());
126- System . out. println(" 执行后 - 耗时: " + executeState . getExecuteTimestamp());
124+ public void after (SQLRunningState runningState , Object result ) {
125+ System . out. println(" 执行后 - SQL: " + runningState . getSql());
126+ System . out. println(" 执行后 - 参数: " + runningState . getListParams());
127+ System . out. println(" 执行后 - 耗时: " + runningState . getExecuteTimestamp());
127128 System . out. println(" 执行后 - 结果: " + result);
128129 }
129130}
@@ -224,8 +225,8 @@ List<DBMetaData> metaDataList = DBStreamContext.getInstance().metaDataList();
224225// 通过 jdbcKey 获取指定数据库的元数据信息
225226DBMetaData metaData = DBStreamContext . getInstance(). getMetaData(String jdbcKey);
226227
227- // 主动更新表的元数据信息,在使用改变时将会先更新metadata然后再执行业务。(动态更新表的元数据)
228- metaData. addUpdateTableMateList (String tableName);
228+ // 添加数据表更新订阅,当执行对应表的数据事件分析时将会自动更新同步该表的元数据信息到DBMetaData数据中。
229+ metaData. addUpdateSubscribe (String tableName);
229230
230231// 获取所有已缓存的数据库连接 jdbcKey 列表
231232List<String > dbKeys = DBStreamContext . getInstance(). loadDbKeys();
@@ -245,6 +246,7 @@ DBStreamContext.getInstance().clearAll();
245246- ` type ` : 操作类型(INSERT/UPDATE/DELETE)
246247- ` data ` : 变更的数据(Map 格式,key 为字段名,value 为字段值)
247248- ` primaryKeys ` : 主键列表
249+ - ` jdbcKey ` : 数据库唯一标识
248250- ` jdbcUrl ` : 数据库连接 URL
249251- ` transactionKey ` : 事务标识(同一事务内的操作共享相同标识)
250252- ` timestamp ` : 事件产生时间戳
0 commit comments