在几乎所有的业务系统或互联网应用中,预警系统几乎到处可见,预警系统主要分成2大模块:
- 预警系统条件的设置,可以基于Cron表达式或其他;
- 预警条件的提醒,可以是一个弹出窗,或者是后台自动发送一封邮件等;
预警条件的设置可以基于quartz开源框架,或者通过一个线程每隔N秒定时扫描,预警系统的难点在于在Web应用领域,后台触发的预警条件如何通知前台,因为Web是基于短连接的,实现思路可分为两大类,一类是实时的,一类是非实时的,本文主要实现基于Ice的实时预警提醒。
想要实现基于Ice的实时提醒,分以下步骤:
- 编写基于Applet的subscribe,让每个客户端订阅系统的预警主题;
- 每个subscribe收到预警提醒时,过滤非本文的预警提醒;
- 根据预警提醒设置,进行预警提醒;
这里使用的是发布—订阅模式,主要利用IceStorm,要使用IceStrom,必须启动IceBox,主要的技术点:
在JSP页面中嵌入Applet,并允许Applet中调用js函数,类似的代码如下:
<jsp:plugin archive="Ice.jar" code="youClass " width="20" height="20" codebase="yourCodeBase" type="applet">
<jsp:params>
<jsp:param value="true" name="mayscript"/>
</jsp:params>
</jsp:plugin>
编写基于Ice的发布主题Slice代码:
interface PubScriAction
{
void publishAlarm(ProductL2AlarmBean alarmbean);
void publishTopic(string content);
};
服务端向客户端发布主题调用代码:
Publisher app = new Publisher();
app.publishTopic("gjk_subscribe", String.valueOf(Math.random()));
app.getCommunicator().destroy();
Applet中订阅某个主题:
SubscriberNoArg app = new SubscriberNoArg(null);
app.subscribe("yourTopicName");
Applet中调用页面的js函数:
window = JSObject.getWindow(this);
window.call("exeOnsubscribeTopic", new Object[] {topic,"[applet]:"+str});
这里有一个Demo,展现了服务端发布一个主题时,客户端实时收到的效果:
- 大小: 9.9 KB
分享到:
相关推荐
基于ICE中间件的分布数据处理系统设计与实现_刘欢.caj基于ICE中间件的分布数据处理系统设计与实现_刘欢.caj
框架实现了基于WebRTC的视频会议系统,总体包括服务端和客户端的设计与实现。服 务端包括媒体服务器、信令服务器、防火墙打洞服务器。其中媒体服务器釆用SFU架构 进行实现,信令服务器采用...
基于ICE方式的综合性SIPNAT解决方案设计与实现
基于ICE中间件的文件传输方法的设计与实现,李琦,陈伟,石油,电力,银行等行业是国家的国民经济的重要部门,其系统组织结构复杂,部门繁多。要维持整个系统的高效准确的运行,必须对很
基于ICE中间件实现的传文件 InstallService UpdateService dllICE
#资源达人分享计划#
基于ICE2QS03G芯片准谐振反激电源设计.pdf
基于TCP和ICE的网络传输,服务器端实现方法
这是我从中国优秀硕士学位论文全文数据库下载的优秀硕士学位论文《大型联网视频监控系统中ICE中间件的设计与实现》,如果文件格式为*.kdh或者*.nh,请到中国知网下载阅读阅读器CAJViewer, 网址为...
#资源达人分享计划#
linux下c++实现ice amd ami模式的服务端同客户端,实现双向通信,客户端同时也是ice服务
基于Ice的网络编程测试程序,可做为Ice程序测试所用。
利用行业标准ICE穿越的哈尔滨工业大学的硕士论文,有需要的朋友下载了一定不会后悔。
第 14 章 Ice 属性与配置 第 15 章 C++ 线程与并发 第 16 章 Ice Run Time 详解 第 17 章 异步程序设计 第 18 章 Ice 协议 第 19 章 Ice 的 PHP 扩展 第 20 章 IcePack 第 21 章 Freeze 第 23 章 IceSSL 第 24 章...
基于ICE方式SIP信令穿透Symmetric_NAT技术研究
前面我们提到过在设计网站架构的时候可以使用ICE实现对网站应用的基础对象操作,将基础 对象操作和数据库操作封装在这一层,在业务逻辑层以 及表现层(java,php,.net,python)进行更丰富的表现与操作,从而实现比较好...
Ice 是一种面向对象的中间件平台。从根本上说,这意味着Ice 为构建面 向对象的客户-服务器应用提供了工具、API 和库支持。Ice 应用适合在异 种环境中使用:客户和服务器可以... 本例子是用java写的ice实现的HelloWorld
基于ICE方式SIP穿透SymmetricNAT技术研究
16.17 对比 Ice 与 CORBA Run Time 430 16.18 总结 432 第 17 章 异步程序设计 443 17.1 本章综 443 17.2 引言 443 17.3 使用 AMI 446 17.4 使用 AMD 452 17.5 总结 459 第 18 章 Ice 协议 463 18.1 本章综 463 18.2...
前面我们提到过在设计网站架构的时候可以使用ICE实现对网站应用的基础对象操作,将基础 对象操作和数据库操作封装在这一层,在业务逻辑层以及表现层(java,php,.net,python)进行更丰富的表现与操作,从而实现比较好的...