- 浏览: 11919 次
-
最新评论
在网上找了许多的Flex与java 通信做ServerPush 的例子,发现有许多不正确,今天就做了一小程序。希望对大家有用
1. Product 类 package com.east.flex.serverpush.entity; /** * 产品类 * @author East(张栋芳) * * 2010-6-12 */ public class Product { private String month; private int profit; private int expenses; private int amount; public String getMonth() { return month; } public void setMonth(String month) { this.month = month; } public int getProfit() { return profit; } public void setProfit(int profit) { this.profit = profit; } public int getExpenses() { return expenses; } public void setExpenses(int expenses) { this.expenses = expenses; } public int getAmount() { return amount; } public void setAmount(int amount) { this.amount = amount; } } 2. ServerPushThread package com.east.flex.serverpush.chart; import java.util.ArrayList; import java.util.List; import java.util.Random; import com.east.flex.serverpush.entity.Product; import flex.messaging.MessageBroker; import flex.messaging.messages.AsyncMessage; import flex.messaging.util.UUIDUtils; /** * 构造数据后台线程 * * @author East(张栋芳) * * 2010-6-13 */ public class ServerPushThread extends Thread { public boolean running = true; @Override public void run() { MessageBroker msgBroker = MessageBroker.getMessageBroker(null); String clientId = UUIDUtils.createUUID(); while (running) { /* ============================== */ // TODO do someing /* ============================== */ List productList = getProductList(); AsyncMessage msg = new AsyncMessage(); msg.setDestination("serverpush"); msg.setClientId(clientId); msg.setMessageId(UUIDUtils.createUUID()); msg.setTimestamp(System.currentTimeMillis()); /* 设置消息信息,发布到客户端去 */ msg.setBody(productList); msgBroker.routeMessageToService(msg, null); try { Thread.sleep(10000); } catch (InterruptedException se) { } } } /** * 模拟数据信息 * * @return */ public List getProductList() { List productList = new ArrayList(); for (int i = 1; i --> 5. remoting-config.xml com.east.flex.serverpush.CreateProduct com.east.flex.serverpush.chart.ServerPushServer 6. Product.as package com.east.flex.entity { import mx.rpc.remoting.RemoteObject; [RemoteClass(alias="com.east.flex.serverpush.entit y.Product")] public class Product { public var month:String; public var profit:int; public var expenses:int; public var amount:int; public function Product() { } } } 7.ServerPushChart.mxml import com.east.flex.entity.Product Flex Server Push 功能*/ import mx.messaging.messages.IMessage; import mx.messaging.events.MessageEvent; import mx.utils.ArrayUtil; import mx.rpc.events.ResultEvent; import mx.collections.ArrayCollection; import mx.controls.Alert; import mx.messaging.ChannelSet; import mx.messaging.Consumer; [Bindable] private var p:Product; private var array:ArrayUtil; [Bindable] private var expensesAC:ArrayCollection = null; public var consumer2:Consumer = null; public function messageHandler(event:MessageEvent):void { linechart.dataProvider = event.message.body; trace("server push data to client.............."); } public function remoteServerCallback(event:ResultEvent):void { trace("Server is start...."); //Alert.show("Server is start....."+event.message); } public function startServer(event:MouseEvent):void { server.start(); } public function stopServer(event:MouseEvent):void { server.stop(); } /* public function submsg():void { Alert.show("click start"); consumer= new Consumer(); consumer.destination = "serverpush"; consumer.subtopic = "tick"; consumer.channelSet = new ChannelSet(["my-streaming-amf"]); consumer.addEventListener(MessageEvent.MESSAGE, messageHandler); consumer.subscribe(); Alert.show("click end"); } */ ]]--> height="100%" width="100%" layout="absolute"> height="100%" width="1030" paddingLeft="5" paddingRight="5" showDataTips="true" x="0" y="0">
发表评论
-
字符串的存储方式以及静态存储区域、栈、堆
2012-07-06 09:52 674下面两篇文章分析得比较详细.转自http://blog.c ... -
正则表达式测试工具
2012-07-06 09:45 762主要功能, 1.语法高亮显示 2.智能提示 3 ... -
perl学习日记7正则表达式
2012-07-06 09:37 7061. 正则表达式 1.1 什么是正则表 ... -
纯css实现未知大小的图片水平垂直居中的方法
2012-07-06 09:30 1170方法一: .box { /*非IE的主流浏览器识别的 ... -
net 2.0下的asp.net ajax基本使用方法 (备忘)
2012-07-05 20:45 699asp.net ajax中用到了几个dll文件,这些可以从 ... -
vb 调用c#做的com 组件
2012-07-03 13:43 1113vb 调用c#做的com 组件 1:建立c# 项目 (注 ... -
flex 界面改进
2012-07-02 12:15 596f 代码如下: ... -
flex图片截取保存本地
2012-07-02 12:15 651height="222" creat ... -
Flex4+Spring3+Hibernate3+BlazeDS整合笔记
2012-07-02 12:15 524普通Java Web工程流行使用ssh框架,而当前台使用F ... -
学习flex 初步实现与java进行数据交互
2012-07-01 09:49 501本人是从事BS架构应用开发的,现在发现客户越来越关注用户的 ... -
Flex+BlazeDS整合J2ee示例
2012-07-01 09:49 485一、首先配置好eclipse下Flex开发环境 二、下载部 ... -
将 Flex 3 的应用程序迁移到 Flex 4 ―第 1 部分:将 Flex 3 Dashboard 应用程序导入 Flash Builder 4
2012-07-01 09:49 701本系列一共 4 个部 ... -
Flex嵌入jsp开发心得
2012-07-01 09:49 664PM搞了个外包的小项目,要求使用jsp显示数据统计图表。研 ... -
笔记本频道-eNet笔记本大全-硅
2012-06-30 16:12 659笔记本频道-eNet笔记本大全-硅 2011年09月15日 ... -
笔记本电脑小知识
2012-06-30 16:12 717笔记本电脑小知识 2011年11月22日 笔记本电脑小知 ... -
[独家新闻][热门]【笔记本电脑报价】笔记本电脑
2012-06-30 16:12 370[独家新闻][热门]【笔记本电脑报价】笔记本电脑 2011年 ... -
[热门]【笔记本电脑报价】笔记本电脑
2012-06-30 16:11 318[热门]【笔记本电脑报价】笔记本电脑 2011年08月11日 ...
相关推荐
标题中的“Flex与Java Server Push数据”涉及到的技术是基于Adobe Flex客户端和Java服务器端的数据实时推送技术。在Web开发中,传统的HTTP协议是基于请求-响应模型的,但这种模式无法实现服务器主动向客户端推送数据...
以告警数据为例,告警数据通过mq、socket等方式进入系统,在java服务器通过监听来监听消息队列数据,接收后推送到flex各个客户端。blazeDS采用amf协议。该协议可以传输Object, Array, Date, XML。由于AMF采用二进制...
3. **Real-time Data Push**:BlazeDS支持Server-Sent Events和Long Polling,实现数据的实时推送,使Flex客户端能够实时更新视图。 4. **Security**:在整合过程中,确保数据安全是非常重要的。可以通过配置...
Flex与Java的消息推送技术主要涉及的是前端Flex应用与后端Java服务器之间的实时数据交互。...然而,对于需要实时更新...在压缩包文件"serverPush"中,可能包含了实现这一技术的相关示例代码和配置文件,供开发者参考学习。
`PushTest6`可能包含了Flex客户端的源代码,用于订阅Java服务器发布的数据,以及服务器端的Java代码,负责生成并推送数据。 在实际项目中,Flex+BlazeDS+Java通信的应用场景包括股票报价、实时聊天、在线协作工具等...
在Flex客户端与Server的远程通讯中,BlazeDS起到了关键作用。Flex作为RIA(Rich Internet Applications)开发平台,其强大的图形用户界面和富交互性需要与服务器进行频繁且高效的数据交换。BlazeDS通过以下方式实现...
本场景中,我们关注的是使用Flex进行截图并利用Java后台处理上传的流程。Flex是一种开源的、基于Adobe Flash Player运行时的开发框架,常用于创建富互联网应用(RIA)。而Java则是一个广泛使用的后端编程语言,它...
### Flex与Java集成:利用Data Services获取数据服务 在探讨Flex如何与Java集成以及通过不同方式(如Web Service、HTTP及RemoteObject等)获取Java的数据服务时,我们首先需要了解Flex与Java集成的基础概念。 ####...
request.requestHeaders.push(header); file.addEventListener(ProgressEvent.PROGRESS, handleProgress); file.addEventListener(Event.COMPLETE, handleComplete); file.upload(request, "uploaded_file"); }...
BlazeDS is the server-based Java remoting and web messaging technology that enables developers to easily connect to back-end distributed data and push data in real-time to Adobe® Flex® and Adobe AIR...
此外,LCDS还提供了服务端推(server-push)API,允许服务端主动将消息传递到客户端,这在实时性要求高的应用场景中尤其有用。 总的来说,Flex的LCDS服务器架构提供了一个强大的工具集,使得Flex和Java应用之间的...
#### 6.3 创建一个 Java 项目,用来充当 Server - **定义**:创建一个 Java 项目作为服务端,与 Flex 客户端进行通信。 #### 6.4 配置 BlazeDS - **定义**:配置 BlazeDS 使其能够正确处理来自 Flex 客户端的请求...
**SSR**(Server-Side Rendering):在服务器端生成HTML内容,然后发送给客户端。有助于SEO和首次加载速度。 **CSR**(Client-Side Rendering):在客户端生成HTML内容,适用于交互性更强的应用,但可能会影响SEO和...