Java怎么监听Mysql中某张表某个字段的update

CookieMonsterJ 2018-03-02 09:26:43
我看到有Mysql有触发器这种东西,但是监听后只能执行Mysql语句,有什么办法吗
...全文
1481 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
Sam_Deep_Thinking 2018-03-06
  • 打赏
  • 举报
回复
第一种方案:只用开源框架,一般都是基于binlog来搞的,一旦字段有变化,会发消息到MQ队列中,你只需要定义消费者监听一下。我用过这种方案,但是用的是公司内部的框架来达到监听的目的。 第二种方案:将改变这个字段的接口,单独抽取出来,形成一个公共方法,让所有开发人员,都使用这个基本方法来更新数据。然后你再这个方法里面,就可以知道字段是否有修改,如果需要通知其他人这个字段有修改,可以通过发MQ的方式。这种方案我也用过。 另外:欢迎查看我的技术博客,http://blog.csdn.net/linsongbin1
kampoo 2018-03-04
  • 打赏
  • 举报
回复
通过数据库来向访问者发消息的做法相对少些,因为数据库轮询效率偏低;为提高轮询效率,可以设置内存临时表提供更高的速度。如下为更常见的做法: 服务端编写一个socket server,web更新数据库的同时,connect to 服务端socket server通知更改的字段,再由服务端通知设备客户端改变的字段。
引用 4 楼 sinat_32487535 的回复:
[quote=引用 2 楼 lye2000000_super 的回复:] 关键是你打算做什么呢?
一个设备监测和控制平台 结构是 设备客户端-服务端-Mysql-Web 想通过web以改变数据库的方式让服务端给客户端发命令来控制设备,又不想让服务端去轮询数据库。 ------------------------------------------------------------------------------------------------------------------------------------------- 或者有别的方法吗 我就是想实现对设备发命令(比如在servlet里面写socket不通过数据库直接发命令?) [/quote]
CookieMonsterJ 2018-03-02
  • 打赏
  • 举报
回复
引用 2 楼 lye2000000_super 的回复:
关键是你打算做什么呢?
一个设备监测和控制平台 结构是 设备客户端-服务端-Mysql-Web 想通过web以改变数据库的方式让服务端给客户端发命令来控制设备,又不想让服务端去轮询数据库。 ------------------------------------------------------------------------------------------------------------------------------------------- 或者有别的方法吗 我就是想实现对设备发命令(比如在servlet里面写socket不通过数据库直接发命令?)
新晋的菜 2018-03-02
  • 打赏
  • 举报
回复
是打算监听到update操作之后干嘛呢?
  • 打赏
  • 举报
回复
关键是你打算做什么呢?
maradona1984 2018-03-02
  • 打赏
  • 举报
回复
有个开源框架叫canal 阿里的,有一定学习成本
  • 打赏
  • 举报
回复
你在你更新数据库字段的程序里就能检测该字段是否改变,然后存入数据库,再通知设备就可以了。。。。

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧