`
sjkgxf7191
  • 浏览: 256978 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

LCDS:Messaging Service 学习(一)

    博客分类:
  • lcds
阅读更多

Messaging Service流程图


Messaging Service架构图


Channels

可以使用的实时channal(Real-time channels )有启用pollingRTMPChannel , AMFChannel HTTPChannel ,还有StreamingAMFChannel StreamingHTTPChannel 。其中RTMPChannel 是绝对实时的,一直保持着 客户端和服务器端的socket连接

<channel-definition id="my-polling-amf" class="mx.messaging.channels.AMFChannel">
        <endpoint url="http://{server.name}:{server.port}/{context.root}/messagebroker/amfpolling" class="flex.messaging.endpoints.AMFEndpoint"/>
        <properties>
            <polling-enabled>true</polling-enabled>
            <polling-interval-seconds>8</polling-interval-seconds>
        </properties>
</channel-definition>
 

Adapters

LCDS为Messaging Service提供了三种adapter:

  • ActionScriptAdapter :当需要在各个客户端之间发送/接收AS3对象 的时候使用
  • JMSAdapter :它搭建了从destination到JMS destination的通道,使得Flex客户端可以直接同JMS服务器通信
  • A custom adapter :使你可以创建一个adapter来同其他的messaging implementations或者你自定义的实现来进行交互

Working with Producer components  

  • 确定发布消息是否成功,acknowledge fault
  • Producer.requestTimeout 可以设置请求的超时时间
  • 当请求发送成功后 Producer.connected 的值会被设为true
var message:AsyncMessage = new AsyncMessage();
message.body = new Object();
message.body.uName = userName.text;
message.body.uInput = input.text;
producer.send(message);

 

Working with Consumer components

  • 使用 message fault 来确认消息是否订阅成功
  • resubscribeAttempts :Consumer 在目标不可用或连接到目标失败的情况下进行的重新订阅尝试次数
  • resubscribeInterval :重新订阅尝试之间间隔的毫秒数
  • 当订阅成功后 Consumer.subscribed 的值会被设为true
  • 如果使用non-real-time channel,例如一个polling-enabled 值为falseAMFChannel ,可以 调用subscribe() 订阅这则消息,然后 调用receive() 来接收消息
  • 接收消息:如果Consumer使用的是实时轮询流通道 ,那么无需 向服务器发出初始化请求 ,消息会自动地发送到Consumer;然而,如果我们使用非实时通道 ,例如没有启用轮询的AMF通道 (polling-enable=false的AMFChannel) ,那么必须调用Consumer.receive() 方法来直接向服务器端发出请求以接收消息队列中的数据
consumer.subscribe();

private function messageHandler(event:MessageEvent):void {
	// Handle message event.
	ta.text = String(event.message.body.uName) + " ," +
	String(event.message.body.uInput);
}
 

 

  • 大小: 31.1 KB
  • 大小: 81.3 KB
1
0
分享到:
评论

相关推荐

    Adobe LiveCycle Data Services 2.6 高性能配置

    它利用Adobe Flex和Adobe AIR技术,通过其核心的Messaging Service以及更高级别的Data Management Service和Remoting Service来实现这一目标。本篇文档重点介绍了Adobe工程师在2008年进行的一系列软件基准测试结果,...

    flex利用LCDS与java通信

    LCDS提供了多种服务,包括Remoting服务(用于远程方法调用),Dataservice服务(支持ORM映射,方便与数据库交互),以及Messaging服务(支持发布/订阅模型的事件传递)。这些服务使得Flex应用能够无缝地与Java服务...

    flex与后台通讯方式

    var remoteService:RemotingObject = new RemotingObject(); remoteService.destination = "myService"; ``` 4. 调用后台方法:通过RemotingObject实例调用后台服务的方法,例如: ```as3 remoteService....

    flex与java通信

    - BlazeDS/Lightweight Messaging (LCDS):Adobe提供的中间件,支持Flex与Java应用之间的数据传输。BlazeDS是开源版本,LCDS是商业版本,两者都支持AMF协议,提供高效的数据序列化和反序列化。 - Java:后端服务,...

    flex通信之BlazeDS通信实例源码

    1. **LiveCycle Data Services (LCDS)**:BlazeDS是LCDS的一个开源版本,提供了一套完整的数据服务,包括Remoting、Messaging、Data Management和Service Invocation。 2. **Remoting**:通过AMF(Action Message ...

    flex dataservice

    数据服务的架构涉及多个方面,包括远程调用(Remoting)、消息传递(Messaging)和媒体流(Media Streaming)。 #### 远程调用与RPC Flex应用程序可以通过Data Services访问Java服务器端。具体来说,Flex可以访问...

    flex+java+remoteObject

    var remoteService:RemoteObject = new RemoteObject(); remoteService.destination = "javaService"; remoteService.javaMethod.addEventListener(ResultEvent.RESULT, onResult); remoteService.javaMethod....

    java 中Flex开发RemoteOject 配置详解

    在Java中进行Flex开发时,RemoteObject是一种关键的技术,它允许Flex客户端与后端服务器进行数据交换。本文将深入解析如何配置和使用Flex RemoteObject,以便在Java环境中实现高效的远程调用。 首先,理解Flex ...

    Flex之BlazeDS文档

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

    FLex 服务器端:配置remote-config.xml.docx

    `&lt;service&gt;`标签是顶级元素,它定义了一个名为`remoting-service`的服务,类型为`flex.messaging.services.RemotingService`。服务中的`&lt;adapters&gt;`部分定义了适配器,这里默认使用的是`JavaAdapter`,允许Flex...

    BlazeDS官方簡介

    **示例**:一个典型的 RemoteObject 示例展示了如何轻松地通过远程对象与服务器进行交互,实现数据查询或更新操作。 ##### 2. **消息传递(Messaging)** - **发布订阅模式**:发布订阅模式使得发布和订阅变得非常...

    BlazeDS实现flex与java通信

    BlazeDS提供了丰富的消息传递服务,包括Remoting、LiveCycle Data Services (LCDS) 和 Messaging,使得开发人员可以方便地构建富互联网应用程序(RIA)。在本文中,我们将深入探讨如何使用BlazeDS实现Flex与Java之间...

    《BlazeDS开发指南》学习笔记

    它源于Adobe的另一款产品LiveCycle Data Services(LCDS)的开源版本,其核心优势在于提供了以下几项关键功能: 1. **数据访问**:允许客户端(如Flex、AIR应用)通过AMF协议与Java后端进行高效数据交互。 2. **...

    Flex使用RemotingObject和后台通信的基本步骤

    RemotingObject是Flex的 Cairngorm 框架中的一部分,它提供了与后端服务(如AMF服务器,如BlazeDS或LCDS)交互的能力。RemotingObject允许我们调用远程方法,就像调用本地对象的方法一样,极大地简化了客户端与...

    blazeDs解决flex客户端与Server的远程通讯

    1. **LiveCycle Data Services (LCDS)**:这是BlazeDS的一个高级版本,提供了更全面的企业级功能,如数据缓存、事务处理和用户会话管理等。 2. **Remoting Services**:提供AMF通道,使得Flex客户端可以通过HTTP...

    BlazeDs开发应用.pdf

    BlazeDS是一款由Adobe公司推出的免费开源产品,它是Lightweight ColdFusion Data Services (LCDS)的精简版,主要用于Web开发,特别是针对Flex和AIR客户端。BlazeDS的主要目标是促进客户端与服务端之间的数据交互,...

    Flex和j2ee整合.rar

    6. ** Messaging **:如果应用需要实时通信或发布/订阅模式,可以利用Flex的LiveCycle Data Services(LCDS)或者BlazeDS的MessageBroker,配合JMS(Java Message Service)实现实时数据传输。 7. ** Error ...

    Flex前端与Java服务端交互反射机制.doc

    BlazeDS是Adobe LiveCycle Data Services (LCDS)的一个分支,它提供了一种基于AMF(Action Message Format)的数据传输协议,使得Flex客户端能够直接调用Java服务端的方法。这一过程的核心就是反射机制,它允许运行...

    《BlazeDS开发指南》.doc

    BlazeDS是一款由Adobe公司推出的免费开源产品,它是Lightweight ColdFusion Data Services (LCDS)的开源简化版。BlazeDS的主要目的是为Flex和AIR客户端提供与Java服务端之间的高效通信。它提供了多种功能,包括AMF...

Global site tag (gtag.js) - Google Analytics