`
keren
  • 浏览: 1584053 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Flex BlazeDS Message Service

    博客分类:
  • Flex
阅读更多
   消息服务(Message Service )提供发布(publish)/订阅(subscribe)机制允许Flex 应用程序发布消息、订阅消息终端(messaging destination),从而实现实时数据的推和协作。

  一、Message Service

  Message Service 提供发布(publish)/订阅(subscribe)机制允许Flex 应用程序发布消息、订阅消息终端(messaging destination),从而实现数据的实时推动和协作传送。

  消息终端在messaging-config.xml配置,其中频道(channel)是其关键元素,它用来实现客户端和服务器端交换数据。使用BlazeDS,消息终端通常用作streaming频道或者polling频道。

  使用streaming频道,服务器端会一直响应HTTP请求直到该频道连接被关闭,它允许服务器向客户端不断传送大量的数据。因为HTTP连接是独一无二的,这实现数据的双向传送,每个streaming AMF或者HTTP频道事实上需要两个浏览器 HTTP连接, 一个连接需要不断处理服务器端与频道紧密相关的客户端的响应。另外需要一个短暂连接,只有当数据需要传送到服务器时,它才脱离浏览器连接池;当短暂连接不再需要时,它立即被释放回浏览器连接池。

  polling频道可以通过简单的时间间隔或者使用服务器等待来配置,如果数据不马上可用 (长轮循)的话。另外,每次轮循响应完成请求。默认下浏览器HTTP 1.1的连接是持续的,浏览器轮循已有的连接,发送并发的轮循请求,以此来减轻轮循的开销。

  当需要准实时通信时,streaming 频道是最好选择。

  二、IE 与 Firefox浏览器下的不同

  浏览器对每个session都有连接数限制。不同的浏览器,连接最大数以及对session的处理方式都不一样。

  IE中每个session的最大连接数为2。 但如果从开始菜单或快捷方式打开多个IE实例,每个IE实例开启不同的进程并拥有各自session。另外,如果我们通过CTRL+N 开启对已有的IE实例一个新的IE窗口,该窗口将与创建它的IE实例共用一个session 。也就是说,如果程序实例开启不同的进程,我们可以通过HTTP streaming建立不限量应用取得服务器端数据;如果通过CTRL+N开启多个窗口,每个session最多建立2个连接。

  Firefox中每个session最多建立8个连接。如果从开始菜单或快捷方式打开多个Firefox实例,所有实例开启使用同一进程并共用一个session。既然浏览器对普通的HTTP请求通常只需要一个连接, 理论上我们可以最多可以建立7个HTTP streaming连接。

  三、messaging-config.xml

  另外,如果每个session到达最大连接数,使用streaming channel连接到服务器的下一次尝试将失败:Endpoint with id 'my-streaming-amf' cannot grant streaming connection to FlexClient with id 'D640B86F-6B1D-92DF-8288-1B737A371AFE' because max-streaming-connections-per-session limit of '1' has been reached。不过,BlazeDS提供一种优雅的退后机制来处理这种情况:客户端始终会尝试使用频道表(messaging-config.xml中为服务终端定义)中的第一个频道来连接。如果该连接失败, 客户端将自动退后到频道表中的下一频道。在本实例中,我们为所有的服务终端定义了如下默认的ChannelSet:

<default-channels>
  <channel ref="my-streaming-amf"/>
  <channel ref="my-polling-amf"/>
</default-channels>


  也就是说,客户端应用会首先尝试使用streaming channel连接,如果连接失败会使用polling channel。


http://tech.ddvip.com/2009-02/1234861000109040.html
分享到:
评论

相关推荐

    Flex Spring JAVA BLAZEDS整合

    但通过`SpringRemotingDestinationBootstrapService`,我们可以自动导出带有@Service注解且名称以“FlexService”结尾的Spring Bean,将其转换为BlazeDS的RemoteObject。 3. **配置属性**: `...

    flex java整合案例(使用BlazeDS和LCDS整合)

    - **建立连接**:通过Flex的Service配置工具,创建到BlazeDS/LCDS的HTTP或AMF连接。 - **定义数据服务**:在Java服务器端创建服务接口和服务实现,处理业务逻辑。 - **调用服务**:在Flex客户端调用Java服务,...

    用一个HelloWorld例子手把手教会你使用FLEX BlazeDS

    1. **修改配置文件**:打开`[tomcat-home]/webapps/blazeds/WEB-INF/flex/remoting-config.xml`文件,在`&lt;/default-channels&gt;`标签之后和`&lt;/service&gt;`标签之前添加以下节点: ```xml &lt;source&gt;...

    spring flex BlazeDS 集成官方文档(英文)

    **背景**:Spring BlazeDS 集成是Springsource为了更好地将Spring框架与Adobe Flex应用程序结合而开发的一个解决方案。它使得开发者能够利用BlazeDS作为中间件来连接前端Flex应用程序与后端Spring服务层。 **依赖...

    Flex之BlazeDS文档

    BlazeDS还可以与其他消息系统集成,例如JMS(Java Messaging Service)和ActiveMQ。由于其远程技术和消息系统都采用了基于HTTP的AMF数据传输方式,因此在性能方面具有明显优势。 #### 二、BlazeDS的组成部分 ...

    Flex+blazeds+java发布/订阅聊天程序

    Flex+BlazeDS+Java发布/订阅聊天程序是一种基于Adobe Flex前端、BlazeDS作为中间件、Java作为后端服务的实时通信解决方案。这个程序利用了发布/订阅(Publish/Subscribe)模式,允许用户实时地收发消息,类似于即时...

    使用BlazeDS实现flex与java 整合

    BlazeDS通过AMF(Action Message Format)协议,实现了高性能、低延迟的数据传输,使得Flex前端可以高效地与Java后端进行交互。在本文中,我们将深入探讨如何使用BlazeDS来整合Flex和Java,以及在这个过程中可能遇到...

    ecplice 中用Flex插件 BlazeDS 开发flex web应用

    BlazeDS是Flex和Java之间的桥梁,它支持AMF(Action Message Format)协议,这是一种高效的数据传输格式,可以将复杂的数据结构在客户端和服务器之间快速交换。BlazeDS还提供了LiveCycle Data Services(LCDS)的...

    MyEclipse 8.5+Flex+BlazeDs通信

    BlazeDs 是 Adobe 的轻量级中间件,它提供了多种与 Flex 客户端通信的方式,如 AMF (Action Message Format)、HTTP 服务、Remoting 和 LiveCycle Data Services。AMF 是一种高效的二进制数据格式,可以显著减少网络...

    Flex+BlazeDS+java通信详细笔记和源代码

    BlazeDS支持AMF(Action Message Format),这是一种高效的数据交换格式,能减少网络传输的数据量,提高性能。它还支持Remoting(远程方法调用)和Messaging(消息传递)服务,使得Flex应用能够实时地与Java后端进行...

    FLEX——blazeDS原理.pdf

    ### FLEX与BlazeDS原理概述 #### 一、FLEX与BlazeDS简介 - **FLEX**:Adobe Flex是一种用于构建跨平台桌面应用程序、移动应用和Web应用的开源框架。它支持丰富的用户界面(UI)组件和数据可视化功能,能够创建高度...

    Flex + BlazeDS + Java + JMS 通信实例(附源码)

    2. **BlazeDS**:BlazeDS是Flex与Java后端之间的桥梁,它支持AMF(Action Message Format)协议,使得数据传输更高效。BlazeDS还提供了LiveCycle Data Services扩展,其中包括对JMS的支持,使得Flex能够订阅和发布...

    Flex +BlazeDS+java后台分页的实现

    BlazeDS支持AMF(Action Message Format)协议,使得Flex与Java之间的数据交换高效且轻量级。 在Java后台,我们通常会利用像Spring、Hibernate这样的框架来处理数据库操作。在分页场景下,我们需要执行SQL查询,带...

    Flex4+J2EE+Blazeds配置jspweb工程

    Blazeds使用AMF(Action Message Format)协议,实现了低延迟、高效的数据传输,使得Flex客户端能与Java后端服务进行实时交互。Blazeds包含Flex Remoting、MessageBrokering和LiveCycle Data Services等模块。 配置...

    构建全栈式Flex、BlazeDS和Spring集成解决方案

    BlazeDS支持AMF(Action Message Format)协议,这是一种高效的数据交换格式,能实现Flex与Java之间的低延迟、高效率的数据传输。BlazeDS还提供了LiveCycle Data Services的功能,如远程方法调用(RPC)、消息代理和...

    PureMVC+Flex+BlazeDS+Spring+Hibernate

    3. **BlazeDS**:BlazeDS是Adobe提供的一个开源项目,它允许Flex客户端与Java服务器之间进行双向通信,通过AMF(Action Message Format)实现高效的数据传输。BlazeDS支持HTTP和WebSocket协议,可以轻松集成到Spring...

    Flex+BlazeDS+Spring环境一步步搭建

    3. **BlazeDS**:下载BlazeDS的war文件,解压后,这个轻量级的服务器端组件可以提供AMF(Action Message Format)数据传输,便于Flex与Java之间的数据交换。 4. **Apache Tomcat 6.0**:一个流行的Java Servlet容器...

    Flex通过BlazeDS与JAVA通信之HelloWord(图解)

    BlazeDS在这里起到了关键作用,它允许Flex客户端通过AMF(Action Message Format)协议与Java后端进行数据交换。这种方式使得Flex应用程序能够轻松地与Java服务进行交互,提供了灵活且高性能的数据通信机制。

    Flex+BlazeDS+Spring+Hibernate

    BlazeDS 支持 AMF(Action Message Format)协议,使得 Flex 和服务器之间的数据交换更加高效。在案例中,BlazeDS 负责在 Flex 客户端和 Spring+Hibernate 后端之间传输数据。 3. **Spring**:Spring 是一个全面的...

    flex-spring blazeds integration基本框架搭建记录

    2. 配置MessageBroker:在Spring上下文中,通过&lt;flex:message-broker&gt;标签配置BlazeDS的MessageBroker,使Spring Bean可以通过AMF与Flex客户端通信。 五、Flex客户端开发 1. 创建Flex项目:使用Flex Builder或...

Global site tag (gtag.js) - Google Analytics