使用 Apache Geronimo 和 JMS 构建事件驱动的框架
2010-04-23 00:00:00 来源:WEB开发网核心提示: 事件的原因(事件因果关系)是理解该事件的重要因素,事件因果关系可分为水平因果关系 和垂直因果关系,使用 Apache Geronimo 和 JMS 构建事件驱动的框架(3),当事件发布者与事件接收者位于架构虚拟层中的同一层时,发生水平因果关系,在该模型中,可以将消息从一个或多个生产者发布给一个或
事件的原因(事件因果关系)是理解该事件的重要因素。事件因果关系可分为水平因果关系 和垂直因果关系。当事件发布者与事件接收者位于架构虚拟层中的同一层时,发生水平因果关系。当事件发布者与事件接收者位于不同层时,发生垂直因果关系。
EDA 和事件队列
事件驱动的编程是围绕事件生产者和事件消费者之间的无耦合关系的概念构造的。也就是说,事件消费者不关心事件发生的地点或原因;而是关注事件发生后它(消费者)将被调用。将事件生产者与事件消费者隔离开来的系统和应用程序通常依赖于事件分配器或通道。此通道包含事件队列,用作事件生产者和事件处理程序之间的中间层。
图 2 说明了生产者、消费者、事件通道和主题(或队列)之间的关系。
图 2. 事件队列
事件队列的角色是存储从生产者接收的事件,并在每个消费者可用时将这些事件传输给消费者 —— 通常是为了事件被接收。
事件队列和主题
多数事件驱动的系统依赖于预先构建的事件队列技术,如面向消息的中间件(Message-Oriented Middleware,MOM)框架。MOM 是一种基于消息队列的异步消息模型框架。
MOM 框架的主要优点是它能够无限期地存储消息,并在消费者准备接收消息时,将其路由到消费者。MOM 按照以下消息模型工作:
点对点:此模型基于称为队列 的消息库,在该模型中,可以将消息从一个或多个生产者发送给单个消费者。
发布/订阅:此模型基于称为主题 的消息库,在该模型中,可以将消息从一个或多个生产者发布给一个或多个已订阅的消费者。
图 3 说明了一个发布者、事件通道、主题和多个订阅了给定消息类型的消费者之间的交互。
- ››使用linux中的quota教程
- ››apache设置域名绑定 以及绑定不起作用的排查
- ››使用jxl生成带动态折线图的excel
- ››apache rewrite将指定URL转向指定的几个服务器
- ››使用mysql mysqldump进行数据库迁移
- ››使用jquery是新tab形式
- ››使用QUnit进行Javascript单元测试
- ››使用UITextFieldDelegate来隐藏键盘
- ››使用公式提取Excel中的日期后发现格式不对
- ››使用SQL Azure 的BI 解决方案
- ››使用PLSQL Developer工具导出sql文件
- ››使用双缓冲技术实现Android画板应用
更多精彩
赞助商链接