MySQL數(shù)據(jù)庫某些字段發(fā)生變化時(shí),將信息發(fā)送到rabbitMq。
GoodsChange goodsChangeBefore =new GoodsChange();
GoodsChange goodsChangeAfter =new GoodsChange();
Goods goodsBefore;
Goods goodsAfter;
...
else if (operator != null && tableName != null && Arrays.asList(tableList).contains(tableName)
&& "u".contains(operator)) {
goodsBefore = JSONObject.parseObject(jsonObj2Map(before), Goods.class);
goodsAfter = JSONObject.parseObject(jsonObj2Map(after), Goods.class); BeanUtils.copyProperties(goodsBefore,goodsChangeBefore);
BeanUtils.copyProperties(goodsAfter, goodsChangeAfter);
//判斷關(guān)注的字段值是否有變化,有變化時(shí)向MQ發(fā)送消息
if((ObjectToJson.ObjectToJson(goodsChangeBefore)).equals(ObjectToJson.ObjectToJson(goodsChangeAfter))){
goodsProducer.send(goodsAfter);
log.info(tableName+"表發(fā)生更新"+goodsAfter);
} else{
log.info("非關(guān)注字段發(fā)生變化,不需要發(fā)送消息");
}
}
...