配置文件中配置 Channel 的代码片段:
<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>0</polling-interval-seconds>
<wait-interval-millis>60000</wait-interval-millis>
<max-waiting-poll-requests>100</max-waiting-poll-requests>
<client-wait-interval-millis>
<piggybacking-enabled>
<login-after-disconnect>
<flex-client-outbound-queque-processor>
<serialization>
<connect-timeout-seconds>
<invalidate-session-on-disconnect>
<add-no-cache-headers>
</properties>
</channel-definition>
<properties> 中各项的具体含义:
关于一般轮询:
使用一般轮询需要在配置文件中设置 [polling-enable] 和 [polling-interval-seconds] 选项,或者无视配置文件直接在 Flex 中对 Channel 设置 pollingEnabled 和 pollingInterval 属性。一般轮询模式下,服务器对客户端的请求立即作出反应:如果消息队列中存在请求的消息则返回该消息否则返回一个空结果。
关于长轮询:
使用长轮询需要在一般轮询的配置基础上增加 [wait-interval-millis] ,[max-waiting-poll-requests] 和 [client-wait-interval-millis],其中最关键的是 [wait-interval-millis] 。在长轮询模式下,如果消息队列里不存在客户端要求的消息,那么服务器对于客户端的轮询并不立即作出响应,而是将该请求的响应挂起,进入等待状态。一旦该轮询请求的消息进入消息队列则处于等待状态的响应线程立即激活并传递消息给客户端。响应线程在等待状态下等待的最长时间由 [wait-interval-millis] 指定,endpoint 中可以同时存在多少个处于等待状态的响应线程由 [max-waiting-poll-requests] 指定,这个数量的设置需要充分考虑服务器对于的HTTP请求的最大负载。
BlazeDS的三种推模式:实时连接--能最敏捷的反映数据的变化,但客户端需要独占宝贵的连接资源,对服务器环境的要求最高;一般轮询--只能在特定周期上获取数据变化,请求完成后立即释放连接,比较节省服务器资源;长轮询--是前两者的折中方案,即不会长期占用连接,也能在一定程度上快速反映数据变化。选择哪种推模式需要在实际项目中根据具体需求做出选择。
分享到:
相关推荐
配置Blazeds服务涉及定义Flex Remoting目的地,这通常在Java的flex-config.xml文件中完成。每个目的地代表一个可调用的Java服务。 7. **事件驱动编程**: Flex和Blazeds都支持事件驱动编程,使得应用程序能够响应...
### Flex与Java整合详解:LCDS与BlazeDS配置实践 #### 一、引言 随着Web技术的发展,客户端和服务器端之间的交互变得越来越重要。Flex作为一种强大的RIA(Rich Internet Applications)开发工具,与Java这样的...
【Flex + LCDS(Blazeds) + Java 入门教程】是一篇旨在引导初学者了解如何构建基于Flex、LCDS(LiveCycle Data Services)和Java的开发环境,并实现它们的集成与通信的教程。Flex是一种用于创建富互联网应用程序(RIA...
最近在搞flex,发现在flex与java进行通信是需要fds(lcds),下载大小比较大,而且仅仅需要里面的war包,非常麻烦,在网上找war包的下载也杳无音信,觉得应该做些事情为大家,免去冗余的下载,即见即得,反正都是open...
3. **Blazeds**:Blazeds是Adobe从LCDS中剥离出的开源数据服务中间件,保留了LCDS的核心功能,如实时通信、远程对象调用等,满足了大部分开发需求,降低了开发成本。 4. **Java**:Java是一种广泛使用的面向对象...
本教程将详细介绍如何在myEclipse环境中配置Flex、J2EE和LCDs,以便实现高效的前后端通信。 1. 安装myEclipse 首先,确保你已经安装了myEclipse集成开发环境。myEclipse支持多种Java和Web技术,包括Flex和J2EE,是...
- **设置BlazeDS/LCDS**:在服务器上部署BlazeDS/LCDS服务,并配置相应的Servlet。 - **创建Flex项目**:在Flex Builder或IDE中创建新的Flex项目,定义MXML界面和ActionScript逻辑。 - **建立连接**:通过Flex的...
### Blazeds入门教程知识点详解 #### 一、引言 ...此外,您还学习了如何配置开发环境、理解Blazeds与LCDS的区别,以及如何部署和运行项目。这些技能对于进一步深入研究Flex和Blazeds技术栈至关重要。
【Flex+J2EE+Lcds在myEclipse中的配置】 在开发Web应用程序时,Flex作为客户端的富互联网应用(RIA)框架,与J2EE服务器端技术和Lcds(LiveCycle Data Services)结合,可以创建高效的数据交互应用。myEclipse作为...
6. **Flex Builder集成**:在Flex Builder(现为Adobe Flash Builder)中,Blazeds作为服务器连接选项,提供了直观的配置界面和代码自动生成,极大地简化了开发流程。 在提供的文件“blazeds-bin-readme.htm”中,...
【MyEclipse_8_5_flex4+Blazeds配置例子和blazeds下载】是一个关于集成开发环境MyEclipse 8.5与Adobe的BlazeDS集成使用的教程资源包,包含了配置文档和示例代码,以及BlazeDS的下载链接。这个资源对于开发者来说是...
本教程通过图文介绍和对一些关键性的地方进行解释,让大家了解如何新建Flex的LCDS工程,并利用工具快速整合和部署J2EE项目和LCDS项目,掌握了简单的请求RemoteObject和配置的方法,初步掌握LCDS的应用之一。
配置BlazeDS时,你需要修改blazeds.war中的配置文件,例如flex-config.xml和services-config.xml,定义Remoting endpoints和MessageBroker channels。此外,你还需要在服务器端设置相应的数据源,并确保Java应用程序...
在本篇中,我们将深入探讨Blazeds与Java通信的核心概念和技术。 1. **Blazeds简介**: Blazeds是Adobe官方提供的一个开源项目,其全称是“BlazeDS Project”。它提供了一组服务,包括Remoting、MessageBroker和...
1. **LiveCycle Data Services (LCDS)**:这是BlazeDS的一个高级版本,包含更多企业级特性,如数据推送、消息代理和事务管理。 2. **Remoting**:BlazeDS通过AMF协议实现实时远程调用,使得客户端可以透明地调用...
3. **LiveCycle Data Services (LCDS)**: Blazeds的基础版本,提供了更高级的企业级特性,如数据缓存、事件广播和工作流支持。 4. **Integration with Server Technologies**: Blazeds可以轻松地与各种服务器技术...
Flex+LCDS+Java入门教程,如何使用MyEclips进行配置
【Flex + LCDS + Java配置详解】 Flex 是一种用于创建富互联网应用程序(RIA)的开源框架,它允许开发者构建交互性强、用户体验丰富的Web应用。它使用MXML和ActionScript编程语言,结合Adobe Flash Player或Adobe ...
描述中提到的“RemoteObject控件”是BlazeDS中的一个重要组件,它使得Flex客户端可以像操作本地对象一样操作远程服务。RemoteObject控件简化了服务调用过程,无需复杂的SOAP(Simple Object Access Protocol)配置,...