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

Flex BlazeDS消息实现注意

    博客分类:
  • Flex
阅读更多
发送消息的示例代码如下:

var message:AsyncMessage = new AsyncMessage();
            message.body = {userId:"student" , text:”hello”}
            producer.send(message); 


在接收前必须调用consumer.subscribe();  来订阅主题。

接收消息的示例代码如下:

private function messageHandler(event:MessageEvent):void
        {
            trace(event.message.body.userId + ": " + event.message.body.text + "\n");                
        } 



【使用副主题来过滤消息】
副主题能力可以让你将P发送的消息分解成指定的种类。你可以配置订阅的C来接收指定的副主题或者一系列副主题。使用广义字符(*)来发送或接收多于一个的副主题。

在P的subtopic属性中指定副主题。
var message:AsyncMessage = new AsyncMessage();
producer.subtopic = "chat.john";
producer.destination="ChatTopic"
// Generate message.
producer.send(message);
在C的subtopic属性中指定C想订阅的副主题。

consumer.destination = "ChatTopic";
consumer.subtopic = "chat.john";
consumer.subscribe();
如果想允许副主题,必须在配置文件的destination的定义中将allow-subtopics设置为true,需要注意的是副主题分隔符在<subtopic-separator>.</subtopic-separator>里面定义。

【用消息选择器过滤消息】你可以使用C的selector属性来过滤收到的消息。一个消息选择器就是一个字符串,它包含了SQL的条件表达式。这样C只接收消息头与选择器的规范相符合的消息。

将额外的信息包含在消息头内,消息头包含关联数组,键就是头名。

AS代码:

var message:AsyncMessage = new AsyncMessage();
message.headers = new Array();
message.headers["prop1"] = 5;
message.body = ...;
producer.send(message);


java代码:
MessageBroker msgBroker = MessageBroker.GetMessageBroker(null);
AsyncMessage msg = new AsyncMessage();
msg.destination = ...;
msg.headers.Add("prop1", 5);
msg.clientId = Guid.NewGuid().ToString("D");
msg.messageId = Guid.NewGuid().ToString("D");
msg.timestamp = Environment.TickCount;
msg.body = ...;
msgBroker.RouteMessage(msg);


消息选择器与消息体无关。它只过滤消息头内的值域和属性值。

评估的过程是从左向右,括号可以改变顺序。
选择器元素 描述 例子
文字 单引号引起来的文字
确切的没有小数点的数字(57, -57)
用科学计数法表示的近似数字(-57.9E2),有小数的数字(57.2)
Boolean型文字 TRUE 和 FALSE
标识符 标识符使用C#的标识语法,大小写敏感,标识符不能是以下名字NULL, TRUE, FALSE, NOT, AND, OR, BETWEEN, LIKE, IN, IS
表达式 选择器就是一个条件表达式,评估得true的就匹配,如果为false或者unknown的就不匹配。()用来规范评估的顺序。逻辑操作的优先顺序为:NOT, AND, OR。比较操作符如下:=, >, >=, <, <=, <> "p1 < 23"
"p1 = 1 OR p1 = 2"
数学操作符 +, - 正负号,*, / 乘除,+, - 加减
BETWEEN arithmetic-expr1 [NOT] BETWEEN arithmetic-expr2 AND arithmetic-expr3 "1 BETWEEN -1 AND 2"
"p1 BETWEEN -1 AND (2-5)"
"age BETWEEN 15 AND 19"
IN identifier [NOT] IN (string-literal1, string-literal2,... ) "1 IN (1,2,3)"
"p1 NOT IN (1,2,3)"
"Country IN (' UK', 'US', 'France')"
LIKE identifier [NOT] LIKE pattern-value [ESCAPE escape-character]  "phone LIKE '12%3'"
IS 测试null "user IS NOT NULL"


分享到:
评论

相关推荐

    flex blazeDS开发使用手册,对于集成blaze开发很有用处。

    BlazeDS是一款开源的服务器端技术,它为富互联网应用(RIA)提供了数据推送、消息传递和Remoting功能,主要用于Flash/Flex与Java后端之间的通信。 1. **BlazeDS概述**: BlazeDS是Adobe Flex企业版的一部分,它...

    Flex Blazeds java实现企业级Web系统页面【源码】

    Blazeds是Adobe推出的一个开源项目,它作为Flex与服务器端技术之间的桥梁,尤其与Java平台的整合非常紧密,实现了数据的双向通信。 1. **Flex**:Flex是一种用于创建RIA的框架,基于ActionScript和Flash Player运行...

    Flex+blazeds实现与mySQL连接数据库

    而 BlazeDS 是一款免费的服务器端 Java 软件,它作为 Flex 应用程序与 Java 后端服务之间通信的桥梁,实现了高效的数据交换与实时消息传递。 #### 二、Flex 与 BlazeDS 的结合优势 1. **高性能通信**:通过 ...

    使用BlazeDS实现flex与java 整合

    总结,使用BlazeDS整合Flex和Java能实现高效的前后端交互,但同时也需要注意性能优化、安全配置以及错误处理等多个方面。通过熟练掌握BlazeDS的使用,开发者可以构建出响应快速、功能强大的富互联网应用。

    跟我一步步搭建PureMVC+Flex+BlazeDS+Spring+Hibernate

    根据提供的文件信息,本文将详细介绍如何一步步搭建PureMVC+Flex+BlazeDS+Spring+Hibernate的技术栈。这个过程涉及到了多个技术领域的整合,包括前端的Flex开发、后端的Java开发以及数据库交互等多个方面。 ### 一...

    Blazeds 的flex端主动订阅消息

    总结来说,Blazeds的Flex端主动订阅消息功能是通过BlazeDS提供的AMF通道、`RemoteObject`、`MessagingAgent`等组件实现的,它允许Flex应用实时接收服务器推送的消息,增强了应用的交互性和实时性。在实际应用中,...

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

    Flex + BlazeDS + Java 后台分页的实现是一个关键的技术环节,特别是在开发大型Web应用程序时,为了提高用户体验和系统性能,数据通常需要通过分页的方式进行加载。本方案主要探讨了如何在Flex前端和BlazeDS中间件与...

    Flex+blazeds实现与mySQL数据库的连接[收集].pdf

    本文主要讲解如何使用Flex结合BlazeDS来实现与MySQL数据库的连接,以便在Flex前端展示数据库中的数据。Flex是一款强大的富互联网应用程序(RIA)开发工具,而BlazeDS是Adobe提供的一个服务器端Java库,用于支持Flex...

    flex与Myeclipse、blazeds整合开发

    它使得Java应用程序可以利用远程方法调用和消息传递技术与Flex前端进行交互,实现了前后端的无缝通信。 总结以上过程,Flex与MyEclipse、Blazeds整合开发的要点包括JDK和Tomcat的环境配置、MyEclipse的安装与配置、...

    j2ee+flex+blazeds 配置实践

    3. **配置 BlazeDS**:编辑`/WEB-INF/flex/blazeds-config.xml`配置文件,定义远程服务和消息通道。这一步涉及设置AMF端点、服务命名以及数据转换策略。 4. **创建Flex项目**:在Flex Builder或IntelliJ IDEA等IDE...

    flex与java--Blazeds学习(配置)

    - **实时消息传递**: 利用 Blazeds 的 Message Broker 功能实现实时消息推送。 #### 四、总结 通过上述步骤,我们可以构建一个基于 Flex 和 Java 技术栈的 Web 开发环境。这样的环境不仅支持高效的前后端交互,还...

    Flex+Blazeds与J2ee整合

    ### Flex+Blazeds与J2ee整合 #### 背景介绍 随着技术的发展,企业级应用开发中,前端与后端之间的交互变得尤为重要。Adobe Flex作为一种强大的RIA(Rich Internet Applications)技术,允许开发者创建丰富的用户...

    BlazeDS集成Flex+Tomcat开发J2EE模块整合实例

    BlazeDS、Flex和Tomcat是Java服务器端与富互联网应用程序(RIA)客户端之间通信的重要技术组合。在J2EE环境中,这种集成提供了一种高效、动态的方式,以实现数据的实时双向传输,增强了Web应用的用户体验。下面将详细...

    Flex+BlazeDS

    以上步骤详细介绍了如何在 MyEclipse 6.5 环境下,结合 Flex 3.0 插件和 BlazeDS 3.0.1 实现 Flex 客户端与 Java 服务端的交互。遵循这些步骤,可以帮助开发者快速搭建起基于 Flex 和 BlazeDS 的应用程序框架。

    Flex4.5 + Tomcat6.0 + MyEclipse 9.0+ Java+Blazeds环境配置和使用

    尤其要注意的是,选中LiveCycle Data Services选项,以启用Blazeds的支持,这是实现Flex与Java后端通信的关键组件。 ### Java 作为整个技术栈的核心语言,Java提供了强大的后端处理能力。在配置项目时,需确保...

Global site tag (gtag.js) - Google Analytics