起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1704|回复: 4

[处理中3] wex5后端baas服务怎么实现监听器啊?

[复制链接]

27

主题

89

帖子

197

积分

初级会员

Rank: 2

积分
197
QQ
发表于 2017-4-12 17:52:20 | 显示全部楼层 |阅读模式
rt,比如我想通过后台监听数据库表,当该表新增一条记录时,拿出该条记录信息处理后通过极光推送推送给用户

27

主题

89

帖子

197

积分

初级会员

Rank: 2

积分
197
QQ
 楼主| 发表于 2017-4-12 18:02:02 | 显示全部楼层
顶一下
回复

使用道具 举报

发表于 2017-4-12 18:08:22 | 显示全部楼层
1.可以换一个思路!
在java中启一个线程!专门用于查询这个表的数据!放在缓存中

新增数据时,有个字段状态 为0 表示  未推送!!

你的线程 一次性批量查询这个表  一批数据,过滤条件就是 状态等于 0
然后给状态赋值为1   表示处理中!!

查询的数据放在缓存里面,再循环发送给极光推送服务器!(可以是多线程的!)
推送完了再修改状态  为 2  表示已推送!!

我觉得这样的实现逻辑会比较好!

使用多线程  加 锁  的方式处理数据库中的数据推送出去!!
这样也能减少服务器压力!!否则如果并发太大了!使用拦截的方式处理,就会影响性能


2.也可以使用sevlet 的filter 进行过滤 获取前端请求的json 格式数据!判断它如果是新增的话 ,就解析获取它的数据,并推送!
BaasServer 就相当于一个sevlet  
http://docs.wex5.com/wex5-server-question-list-2027

建议使用第一种方案!!这样出错的概率低很多了

qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

27

主题

89

帖子

197

积分

初级会员

Rank: 2

积分
197
QQ
 楼主| 发表于 2017-4-15 16:28:16 | 显示全部楼层
liangyongfei 发表于 2017-4-12 18:08
1.可以换一个思路!
在java中启一个线程!专门用于查询这个表的数据!放在缓存中

大神,线程这块代码不会写啊,还有,线程怎么在服务器启动时就运行啊,能给个实例吗?公司数据库表的新增操作是pc端完成的,手机端不做新增操作,只负责推送,所以第二种方式行不通。
回复 支持 反对

使用道具 举报

发表于 2017-4-15 20:50:12 | 显示全部楼层
lxcmyf 发表于 2017-4-15 16:28
大神,线程这块代码不会写啊,还有,线程怎么在服务器启动时就运行啊,能给个实例吗?公司数据库表的新增 ...

这个我只是提供了一个思路!不一定非得在 web服务器端实现啊!
自己写一个java代码 得main方法就可以实现得!

其实就是直接通过 jdbc查询数据库  ,然后调用激光推送得API 推送消息出去,将数据库中得数据状态修改为已推送即可!!

就是从数据库中查出数据然后处理数据而已!!
自己写写吧
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-10-2 01:37 , Processed in 0.107698 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表