<%@ page contentType="text/html; charset=gb2312"%> 用STOMP集成Flex3.0和RabbitMQ
网站公告:   ◆北天JAVA技术网热情为java爱好者服务,本网内容包括JAVA(JSP、servlet、EJB、webservice、j2ee、javabean、应用服务器、JavaScript),数据库(MYSQL、SQL Server、Sybase、Oracle、DB2、数据库综合知识),设计研究(设计模式、Struts、Spring、Hibernate、设计框架、设计综合知识),WEB2.0新技术(主要介绍AJAX),以及各种技术的入门、实例、例子等等,欢迎各位多来坐坐!◆  诚邀各位JAVA爱好者加盟!◆  本网站内容丰富,更新快,保证每周20篇以上!  
加入收藏
设为首页
联系站长
承接项目
  相关资源:网站首页 | 免费培训学院 | 技术论坛 | JAVA聊天室 | 作家专栏 | 开发工具 | 认证考试 | 会员俱乐部
  JAVA技术初学者园地 | jsp与servlet | javascript | Java源代码 | EJB | web service | 应用服务器 | JAVA综合知识
  设计研究设计模式 | 设计框架 | Struts | Spring | Hibernate | 开源项目 | 面向对象设计 | 设计综合知识
  数 据 库MYSQL | SQL Server | Sybase | Oracle | DB2 | Informix | Access | 数据库综合知识
  其他资源:AJAX新技术 | 网站开发 | ERP软件 | OA办公软件 | 商业智能BI | 开发综合知识 | 承接项目 | 项目试用

 
 
用STOMP集成Flex3.0和RabbitMQ
     发布者: 发布时间:2008-03-27

RabitMQ是一个开源的企业消息传递系统:

RabitMQ是一个完整的、高可靠的企业消息传递系统。RabbitMQ客户端类库及后台程序(broker daemon)可一起被用于创建一个AMQP网络,或者单独使用它们以便给建立起来的网络带来RabbitMQ的好处。

RabitMQ是AMQP协议的实现,该协议是消息传递中间件的一个开放标准。STOMP则是面向流文本的消息传递协议。Wischusen所尝试的是去利用RabbitMQ的STOMP适配器

为了使读者理解该试验是如何工作的,Wischusen给我们共享了相应的资源和源代码:

接下来,Wischusen解释了这个Flex例子项目到底实现了什么:

该项目有两个单独的应用组成:ImageSender和ImageReceiver。该项目文件也包含了已编译的as3-stomp类库,这样你就无需单独下载它了。

ImageSender和ImageReceiver应用将通过STOMP协议使用RabbitMQ交换消息来进行通讯。为了证明来自两个应用的Flex代码是如何与STOMP客户端一起工作的,Wischusen分享了这一代码片断。

在ImageSender方面:

"stomp"  />
...

privatefunctioninit () :void
{
varch: ConnectHeaders =newConnectHeaders();
ch.login ="guest";
ch.passcode ="guest"
stomp.connect("localhost", 61613, ch);
}
...
privatefunctionsendImage():void
{
varimage: ByteArray = ImageSnapshot.captureImage(canvas).data;
stomp.send(destination, image);
}

在ImageReceiver方面:

"stomp" message="handleMessages(event)"/>
...
privatevardestination: String ="/queue/images";

privatefunctioninit () :void
{
varch: ConnectHeaders =newConnectHeaders();
ch.login ="guest";
ch.passcode ="guest"
stomp.connect("localhost", 61613, ch);
stomp.subscribe( destination );
}
...

privatefunctionhandleMessages(event: MessageEvent) :void
{
varbd: BitmapData =newBitmapData(canvas.width, canvas.height);
varloader : flash.display.Loader =newflash.display.Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onBytesLoaded);
loader.loadBytes(event.message.body);
functiononBytesLoaded (event: Event) :void
{
varcontent : DisplayObject = LoaderInfo(event.target ).content;
bd.draw( content );
canvas.graphics.beginBitmapFill(bd);
canvas.graphics.drawRect(0,0, canvas.width, canvas.height);
canvas.graphics.endFill();
}
}

该试验示范了一个图像是如何从Flex应用端(ImageSender)被捕获的,该图像怎么被发送至RabbitMQ服务器,消息如何被发送到消息消费者应用(ImageReceiver),以及这个消息怎样触发了一个事件而从RabbitMQ服务器装载这个图像。这是面向消息的RIA应用概念的 一个有趣的演示。



(转载文章请保留出处:北天JAVA技术网(www.java114.com))
 
更多精彩文章:
用STOMP集成Flex3.0和RabbitMQ
Java的核心升级 JDK 6 + JRE 6 Update 4
Java的核心升级 JDK 6 + JRE 6 Update 4
Sun为FireFox3.0与IE提供了更好的Java支持
Sun为FireFox3.0与IE提供了更好的Java支持
Sun决定6月份发布为iPhone开发Java虚拟机
 
        
标 题:   
内 容:   
 
                                  
 
免责声明:该文章由网友发表,如果对您造成侵权,请联系站长

首页 - 承接项目 - 网站地图 - 联系我们 -
版权所有北天JAVA技术工作室 ICP证号:粤ICP备06079815号