收藏 分享(赏)

第19章--消息服务.ppt

上传人:天天快乐 文档编号:569327 上传时间:2018-04-11 格式:PPT 页数:12 大小:104KB
下载 相关 举报
第19章--消息服务.ppt_第1页
第1页 / 共12页
第19章--消息服务.ppt_第2页
第2页 / 共12页
第19章--消息服务.ppt_第3页
第3页 / 共12页
第19章--消息服务.ppt_第4页
第4页 / 共12页
第19章--消息服务.ppt_第5页
第5页 / 共12页
点击查看更多>>
资源描述

1、第19章 消息服务,本章介绍Flex数据服务中的另外一个服务消息服务。Flex数据服务的核心是消息,它负责客户端和服务端之间来回的数据传递。理解消息架构可以更好地理解了Flex数据服务的核心架构。,19.1 初识消息服务,Flex的消息服务是基于现有的消息标准,通过为客户端提供消息接口和在相应的服务端创建消息服务,来构建消息应用。Flex的消息服务也支持与JMS(Java Messaging Services)的集成。另外,Flex消息服务通过ColdFusion Event Gateway适配器向CFC(ColdFusion Component)发送消息。通过消息服务,应用可以进行异步通信。

2、1相关概念2消息流程与消息类型3Flex中的消息服务,19.2 使用Flex消息服务,从上一节介绍可以知道,消息服务在客户端对应的是消息API,通过它与位于服务端的应用服务建立连接。本节主要介绍如何使用客户端的消息API创建消息应用,进行消息的发送和接收。,19.2.1 使用消息,在Flex中,使用消息指的是客户端应用使用位于客户端的消息API,向消息接收点发送并接收来自接收点的消息。客户端有两个最主要的消息组件Producer和Consumer。Producer组件负责向接收点发送消息。Consumer负责向服务端的接收点订阅消息,接收来自接收点的Producer发送的消息。可以在MXML和

3、ActionScript中创建Producer和Consumer组件。Producer和Consumer组件都需要有效的消息接收点,接收点信息需要在Flex服务配置文件进行配置设置。一个Flex应用通常包括至少一对Producer和Consumer组件。这样在每个应用中接收点可以需要接收Producer发送消息,并向Consumer组件发送接收到的消息。,19.2.2 使用Producer组件,Producer组件主要是用来发送消息的。可以使用MXML或者ActionScript创建Producer组件。在创建Producer组件的同时可以定义事件处理。Producer组件处理的事件主要有以下

4、两类。消息确认:当接收点成功接收到一个Produce组件发送的消息后,会广播一个消息确认事件。错误:当一个接收点由于连接、服务器或者应用层的错误不能成功处理一条消息,将会发布一个错误事件。1使用MXML创建Producer组件2使用ActionScript创建Producer组件3发送消息4向消息中添加额外信息5消息发送错误处理,19.2.3 使用Consumer组件,Consumer组件是用来接收消息的。同样可以使用MXML或者ActionScript来创建Consumer组件。在创建Consumer组件的同时可以定义事件处理。Consumer组件处理的事件主要有以下两类:接收消息:当接收点

5、收到某个Consumer订阅的消息后,会广播一条消息接收事件。对应Consumer组件的message属性。错误:当某个Consumer对应的通道不能与订阅的接收点建立连接,订阅请求被拒绝或者是receive()方法调用失败,会广播错误事件。,19.2.4 使用Subtopic,Subtopic是用来对Producer组件向接收点发送消息进行分类。在Consumer组件中可以设置Subtopic,使得它能从订阅的接收点接收特定Subtopic或者Subtopic集合的消息。使用通配符*可以发送或接收多个Subtopic消息。Subtopic的定义分别对应于Produce组件和Consumer的

6、subtopic属性。在Producer组件的subtopic属性中,指定了组件消息发送到的目标subtopic。在Consumer组件的subtopic属性中,指定了订阅的subtopic。,19.3 配置消息服务,Flex客户端应用要发送或接受消息,需要连接Flex消息服务。建立连接时,通过使用和标签或者相应的ActionScript API,声明与服务端接收点的连接完成的。消息服务的接收点是发送和接收消息的端点。对接收点的配置是Flex服务配置文件中对消息服务定义的一部分。本节主要讨论如何配置接收点。,19.3.1 消息服务配置概述,消息服务配置主要完成的任务是定义消息接收点,对消息接收

7、点使用安全策略,修改日志设置。消息服务的配置是在Flex服务文件中的消息服务部分进行。在默认情况下,Flex服务配置文件是services-config.xml,位于Web应用中Adobe Flex Data Services 2安装目录下WEB_INF/flex目录中。在Adobe加载服务配置文件时,与Flex数据服务有关的各个配置文件,如消息服务文件、RPC服务文件会经常被引用。在配置消息服务时,经常要涉及以下几个相关概念。1消息服务接收点2消息通道3消息服务适配器4安全,19.3.2 配置消息服务接收点,配置消息服务接收点,主要包括接收点的属性定义、消息通道引用、适配器引用。其中接收点属

8、性主要有网络属性和服务器属性。1设置网络属性2设置服务器属性3引用消息通道4引用消息适配器,19.3.3 配置消息服务适配器,Flex消息服务的配置还包括消息服务适配器的配置。这里以常用的JMS适配器为例简要介绍适配器的配置。JMS适配器用于Flex消息应用与Java消息系统交互。通过JMS适配器一个Java发布者或订阅者都可以作为Flex客户端。这样Java对象可以向Flex应用发布消息,也可以对Flex应用发布的消息做出响应。对于每个使用JMS适配器的接收点,需要进进行JMS适配器配置。JMS适配器配置对应于接收点配置中的标签下的子标签。,19.3.4 创建自定义的消息服务适配器,当用户在

9、应用中需要使用标准适配器不能提供的功能时,可以创建自定义的消息服务适配器。自定义的消息服务适配器必须要继承flex.messaging.services.ServiceAdapter类,调用flex.messaging. ServiceAdapter对象实例的方法。消息适配器核心方法是invoke()方法。当客户端向接收点发送消息时会调用该方法,同时接收点也会调用invoke()方法向所有订阅的客户端或者特定客户端发送消息。在自定义的消息服务器要给出invoke()方法的定义。在定义invoke方法时会涉及消息服务中两个重要的方法:MessageService.pushMessageToClients():向客户端发送消息。该方法有两个参数,第一个参数是消息对象;第二参数是个布尔值,表示是否要使用消息选择器语句。MessageService.sendPushMessageFromPeer():用来在集群环境下向每个服务器节点广播消息。该方法有两个参数,第一个参数是消息对象;第二参数是个布尔值,表示是否要使用消息选择器语句。,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 经营企划

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报