`
kongshanxuelin
  • 浏览: 926857 次
  • 性别: Icon_minigender_1
  • 来自: 宁波
社区版块
存档分类
最新评论

基于Ice发布订阅模式的预警系统的设计与实现

阅读更多

在几乎所有的业务系统或互联网应用中,预警系统几乎到处可见,预警系统主要分成2大模块:

 

  1. 预警系统条件的设置,可以基于Cron表达式或其他;
  2. 预警条件的提醒,可以是一个弹出窗,或者是后台自动发送一封邮件等;
预警条件的设置可以基于quartz开源框架,或者通过一个线程每隔N秒定时扫描,预警系统的难点在于在Web应用领域,后台触发的预警条件如何通知前台,因为Web是基于短连接的,实现思路可分为两大类,一类是实时的,一类是非实时的,本文主要实现基于Ice的实时预警提醒。

想要实现基于Ice的实时提醒,分以下步骤:
  1. 编写基于Applet的subscribe,让每个客户端订阅系统的预警主题;
  2. 每个subscribe收到预警提醒时,过滤非本文的预警提醒;
  3. 根据预警提醒设置,进行预警提醒;
这里使用的是发布—订阅模式,主要利用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
1
4
分享到:
评论

相关推荐

    基于ICE中间件的分布数据处理系统设计与实现_刘欢.caj基于ICE中间件的分布数据处理系统设计与实现_刘欢.caj

    基于ICE中间件的分布数据处理系统设计与实现_刘欢.caj基于ICE中间件的分布数据处理系统设计与实现_刘欢.caj

    基于WebRTC的视频会议系统的设计与实现_王昕.caj

    框架实现了基于WebRTC的视频会议系统,总体包括服务端和客户端的设计与实现。服 务端包括媒体服务器、信令服务器、防火墙打洞服务器。其中媒体服务器釆用SFU架构 进行实现,信令服务器采用...

    基于ICE中间件的分布式应用开发研究.pdf

    通过介绍中间件的特点,分析了ICE中间件的架构及主要构成,以地面测试人员获取远端被测设备的系统时间为例,介绍了一种基于ICE中间件的分布式应用程序开发过程与方法,并给出了详细的开发步骤和实现代码。...

    基于ICE的分布式爬虫设计与实现.pdf

    综合来看,基于ICE中间件的分布式爬虫系统设计与实现,不仅适应了社交网络平台的数据采集需求,而且通过分布式架构的设计提升了系统的可扩展性和爬取效率。这对于后续进行社交网络数据分析和管理的人员来说,提供了...

    基于ICE2QS03G芯片准谐振反激电源设计.pdf

    根据提供的文件信息,我们可以提炼出以下几个关键知识点: ...以上知识点详细阐述了基于ICE2QS03G芯片的准谐振反激电源设计的各个方面,从芯片介绍、电源电路设计到关键器件的计算与选型,以及测试验证等重要环节。

    基于ICE方式的综合性SIPNAT解决方案设计与实现

    ### 基于ICE方式的综合性SIPNAT解决方案设计与实现 #### 一、引言 随着互联网的快速发展,IPv4地址资源日益紧张,为了应对这一挑战,NAT(Network Address Translation)技术应运而生,使得多个内部主机能够共享...

    基于ICE中间件实现的传文件

    在IT行业中,ICE(Internet Communications Engine)是一种流行的分布式对象中间件,由Object-oriented Software Corporation(OSCC)开发,现在...通过理解ICE的基本原理和组件,我们可以更好地设计和实现这样的系统。

    基于移动Agent和ICE混合模式的分布式系统架构应用研究.pdf

    本文研究的核心内容在于将移动Agent技术引入到基于ICE的分布式系统架构中,旨在改进传统的事件发布/订阅模式。在ICE提供的框架基础上,移动Agent可以在服务器之间自由移动,动态地对事件进行响应和处理,从而实现...

    基于ICE中间件平台的短波分布式分集接收系统架构设计.pdf

    总结来说,基于ICE中间件的短波分布式分集接收系统架构设计,融合了分布式计算的优势,通过优化的系统部署、调用模式、负载均衡和容错性设计,实现了高效、可靠的短波通信接收。对于短波通信领域的研究和实践,这样...

    基于ICE中间件的分布式卫星地面测试系统研究.pdf

    这种设计允许系统具有灵活性配置以及高效的数据发布,同时实现了目标服务器的动态定位与负载均衡。这种系统架构能够有效应对网络环境较差和满负载条件下的性能需求,保证测试的有效性。 5. ICE中间件技术: ICE...

    基于ICE的分布式火箭遥测数据处理架构设计.pdf

    该架构使用了ICE的多个组件,例如IceStorm(一个发布/订阅的消息系统),IceGrid(用于配置和部署分布式应用的服务)以及Slice(一种用于定义ICE接口和类型的语言)等。 分布式系统的概念是指将计算任务或数据分散...

    基于Ice的网络编程测试程序

    而"ice"文件可能是Ice库的源代码或者是编译后的二进制文件,它是实现基于Ice的网络编程的基础。 在实际应用中,基于Ice的网络编程测试程序可以帮助我们验证以下关键点: - **网络连接的建立和断开**:测试程序可以...

    基于ICE中间件的分布式搜索服务

    #### 基于ICE的分布式搜索服务设计 在构建基于ICE的分布式搜索服务时,主要考虑了以下几个方面: 1. **动态配置**:通过路由配置的方式,可以灵活地添加、删除或修改子搜索逻辑。这意味着可以根据实际需求调整搜索...

    ice异步模式源码实例

    标题"ice异步模式源码实例"指的是通过C++在Linux环境下使用ICE框架实现AMD和AMI模式的服务端和客户端,以便进行双向通信。这种通信方式允许服务端和客户端同时处理多个请求,提高系统的响应速度和效率。 描述中的...

    ICE分布式程序设计

    它支持发布/订阅和点对点两种模式,可以根据需求选择合适的通信模式。此外,ICE还提供了事务和确认机制,确保消息的完整性和一致性,这对于金融交易等对数据准确度要求极高的应用场景至关重要。 对于网格计算,ICE...

    Ice-3.3.1 ICE

    Ice框架包含了一系列的服务,如IceGrid(用于自动部署和管理分布式组件)、IceStorm(用于发布/订阅模式的事件通知)和IceBox(用于创建轻量级服务器)。这些服务为开发者提供了构建高度可扩展和可靠的分布式系统的...

    基于ARM744B0的LED显示屏控制系统设计与实现.pdf

    ### 基于ARM744B0的LED显示屏控制系统设计与实现 #### 知识点解析 **1. ARM744B0处理器** ARM744B0是ARM7系列微处理器的一种,属于RISC(精简指令集计算机)架构。ARM7TDMI-S是ARM744B0的基础版本,它包含了...

    基于ICE的分布式高可用性电力SCADA主站架构.pdf

    本文详细探讨了基于互联网通讯引擎(ICE)中间件的分布式高可用性电力SCADA主站架构的设计与实现。SCADA系统是电力系统的关键组成部分,用于数据采集和监视控制。随着电力网络的复杂化和对可再生能源的兼容需求,确保...

    ICE客户端实现代码

    在本案例中,我们将深入探讨ICE客户端的VC++实现,以及如何通过ICE客户端与服务端进行通讯。 首先,ICE客户端的核心是通过ICE接口来调用服务端提供的功能。这些接口定义了客户端和服务端之间的通讯协议,包括方法名...

Global site tag (gtag.js) - Google Analytics