读书人

组合webservice实现dwr推送

发布时间: 2012-11-23 00:03:43 作者: rapoo

结合webservice实现dwr推送
情景:
客户端需要实时提醒服务,比如某个日程已过期的提醒,并且是刚刚过期的时间(所以是实时),
1. 日程对象放在数据库,由webservice调用得到
2. webservice在拿到数据后必须主动把数据给我的主程序端
3. 主程序端在拿到数据后开始推送数据到客户端


代码:



这个任务会定时触发刚那个Job的execute方法,在这个方法中,会调用webservice端的接口
SignoutNoticeService 中定义的方法,该接口的实现类在我们的主程序端,而不是webservice端。

这个类需要在dwr.xml配置文件中进行配置,作为一个ajax类,dwr的ajax就不讲解了。
要实现dwr的reverseAjax,在上面这个类中已经用到了方法util.addFunctionCall("AlertSignoutNoticeTourBooking", bookId);其中AlertSignoutNoticeTourBooking就是在页面上定义的一个js方法,这个方法实现提醒服务,它是由服务器端调用的,就是说,服务器端调用客户端的方法。
在客户端,我们需要进行如下的初始化才能实现dwr的服务器推送功能:

 dwr.engine.setActiveReverseAjax(true);  SignoutNotice.init(roleId); 


dwr.engine.setActiveReverseAjax(true); 这句是dwr实现服务器推送必不可少的设置。
以前我有写过一个简单的dwr推送demo,可以去参考。

至此,webservice结合dwr实现服务器推送已经完成的差不多了,在客户端只要有过期的日程,就会被提醒。

读书人网 >Web前端

热点推荐