`
un268un
  • 浏览: 11900 次
社区版块
存档分类
最新评论

Java Server Push To Flex (ServerPush)

 
阅读更多

  在网上找了许多的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">                 
  
分享到:
评论

相关推荐

    Flex与java Server Push数据

    标题中的“Flex与Java Server Push数据”涉及到的技术是基于Adobe Flex客户端和Java服务器端的数据实时推送技术。在Web开发中,传统的HTTP协议是基于请求-响应模型的,但这种模式无法实现服务器主动向客户端推送数据...

    ServerPush

    以告警数据为例,告警数据通过mq、socket等方式进入系统,在java服务器通过监听来监听消息队列数据,接收后推送到flex各个客户端。blazeDS采用amf协议。该协议可以传输Object, Array, Date, XML。由于AMF采用二进制...

    使用BlazeDS实现flex与java 整合

    3. **Real-time Data Push**:BlazeDS支持Server-Sent Events和Long Polling,实现数据的实时推送,使Flex客户端能够实时更新视图。 4. **Security**:在整合过程中,确保数据安全是非常重要的。可以通过配置...

    Flex与Java的消息推送

    Flex与Java的消息推送技术主要涉及的是前端Flex应用与后端Java服务器之间的实时数据交互。...然而,对于需要实时更新...在压缩包文件"serverPush"中,可能包含了实现这一技术的相关示例代码和配置文件,供开发者参考学习。

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

    `PushTest6`可能包含了Flex客户端的源代码,用于订阅Java服务器发布的数据,以及服务器端的Java代码,负责生成并推送数据。 在实际项目中,Flex+BlazeDS+Java通信的应用场景包括股票报价、实时聊天、在线协作工具等...

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

    在Flex客户端与Server的远程通讯中,BlazeDS起到了关键作用。Flex作为RIA(Rich Internet Applications)开发平台,其强大的图形用户界面和富交互性需要与服务器进行频繁且高效的数据交换。BlazeDS通过以下方式实现...

    flex 截图并上传到服务器中

    本场景中,我们关注的是使用Flex进行截图并利用Java后台处理上传的流程。Flex是一种开源的、基于Adobe Flash Player运行时的开发框架,常用于创建富互联网应用(RIA)。而Java则是一个广泛使用的后端编程语言,它...

    flex dataservice

    ### Flex与Java集成:利用Data Services获取数据服务 在探讨Flex如何与Java集成以及通过不同方式(如Web Service、HTTP及RemoteObject等)获取Java的数据服务时,我们首先需要了解Flex与Java集成的基础概念。 ####...

    flex实现多文件上传

    request.requestHeaders.push(header); file.addEventListener(ProgressEvent.PROGRESS, handleProgress); file.addEventListener(Event.COMPLETE, handleComplete); file.upload(request, "uploaded_file"); }...

    blazeds java源码部分

    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...

    Flex的LCDS服务器架构

    此外,LCDS还提供了服务端推(server-push)API,允许服务端主动将消息传递到客户端,这在实时性要求高的应用场景中尤其有用。 总的来说,Flex的LCDS服务器架构提供了一个强大的工具集,使得Flex和Java应用之间的...

    flex学习笔记beginning

    #### 6.3 创建一个 Java 项目,用来充当 Server - **定义**:创建一个 Java 项目作为服务端,与 Flex 客户端进行通信。 #### 6.4 配置 BlazeDS - **定义**:配置 BlazeDS 使其能够正确处理来自 Flex 客户端的请求...

    一些前端面试题.pdf

    **SSR**(Server-Side Rendering):在服务器端生成HTML内容,然后发送给客户端。有助于SEO和首次加载速度。 **CSR**(Client-Side Rendering):在客户端生成HTML内容,适用于交互性更强的应用,但可能会影响SEO和...

Global site tag (gtag.js) - Google Analytics