blazeds通道、端点配置

选择端点

 

BlazeDS提供了下列基于servlet的通道、端点组合。使用安全协议 HTTPS  AMF 端点发送消息安全的通道和端点都以“Secure”开头;比如,SecureAMFChannelSecureAMFEndpoint

 

 

      

 

描述

AMFChannel/AMFEndpoint

一对简单的通道/端点组合,基于HTTP协议,以异步请求、响应的模式通过二进制AMF格式传输数据。也可以配置一个通道,专门通过这个端点来轮询新消息。你可以为轮询配置一个较长的等待间隔,实现类似实时通讯。

HTTPChannel/HTTPEndpoint

提供同样的通道/端点行为,但是是通过XML代替AMF传输数据,称为AMFX格式化。它的速度没有AMFEndpoint快。

StreamingAMFChannel/StreamingAMFEndpoint

基于HTTP协议实时传递二进制格式数据流。在实时数据服务,例如消息服务的时候使用,因为数据流对性能来说是决定性的。

StreamingHTTPChannel/StreamingHTTPEndpoint

streaming AMF 通道/端点提供同样的行为,但是是用XML代替AMF实现数据传输。它没有streaming AMF快。

 

 

       AMFHTTP通道都支持无轮询的请求/响应模式和客户端轮询模式(模拟实时通信),而AMFHTTP流通道模式提供了真正的数据流实时模式

 

选择通道

 

   基于你的应用需求,你可以选择简单AMFHTTP通道以及基于非轮询、搭载式、轮询或者长轮询模式。当然你也可以选择streaming AMFHTTP通道。

 

    AMF和HTTP通道的最大不同就是前者基于二进制的AMF格式传输数据,而后者则是XML格式(AMFX)。因为AMF通道比HTTP通道性能要好,所以只有当你的应用有特殊需求的时候才适合使用HTTP通道(事先已经知道二进制格式不能在你的应用网络中传输或者想让数据在防火墙上更好理解)

 

       下面分别讲一下前面提到的几种模式:

 

1)        无轮询AMFHTTP通道

 

你可以使用这些通道无轮询的方式来提供RPC 服务,比如远程服务调用、代理HTTP服务调用以及Web service请求。这些方案不要求客户端轮询信息或者服务端将消息“推”给客户端。

 

              <!-- Simple AMF -->

<channel-definition id="samples-amf"

type="mx.messaging.channels.AMFChannel">

 

<endpoint url="http://{server.name}:8400/myapp/messagebroker/amf"

type="flex.messaging.endpoints.AmfEndpoint"/>

 

</channel-definition>

 

<!-- Simple secure AMF -->

<channel-definition id="my-secure-amf"

class="mx.messaging.channels.SecureAMFChannel">

 

<endpoint url="https://{server.name}:9100/dev/messagebroker/

amfsecure" class="flex.messaging.endpoints.SecureAMFEndpoint"/>

 

</channel-definition>

 

<!-- Simple HTTP -->

<channel-definition id="my-http"

class="mx.messaging.channels.HTTPChannel">

 

<endpoint url="http://{server.name}:8400/dev/messagebroker/http"

class="flex.messaging.endpoints.HTTPEndpoint"/>

 

</channel-definition>

 

 

<!-- Simple secure HTTP -->

<channel-definition id="my-secure-http" class="mx.messaging.channels.SecureHTTPChannel">

 

<endpoint url=

"https://{server.name}:9100/dev/messagebroker/

httpsecure"

class="flex.messaging.endpoints.SecureHTTPEndpoint"/>

 

 

</channel-definition>

 

 

 

2)        搭载式AMFHTTP通道

 

搭载式确保独立于客户端发送信息到服务端或者服务端响应消息到客户端的数据传输。搭载式提供了轻量级的假轮询:一种比固定或者适当时间间隔轮询服务端更好的方式,s特别是当客户端发送一个非命令消息到服务器(使用一个生产者或RemoteObject对象)时,服务器发送任何未确定的数据到客户端或数据管理订阅随着客户端的信息响应。

 

也可以在一个需要确保轮询,但是间隔却比较长,例如5秒或者10秒甚至更多的通道中使用,在这种情况下,应用程序似乎更加敏感。这种模式下,客户端的轮询请求独立于任何其他消息发送给服务端

 

 

3)        轮询AMFHTTP通道

 

AMFHTTP通道提供了简单的轮询机制,客户端可以用这个机制定期发送请求消息到服务端。当长期轮询或者流通道不能使用时,或者作为一个流通道的备用通道时候,轮询AMFHTTP通道是适用的。

 

<!-- AMF with polling -->

<channel-definition id="samples-polling-amf"

type="mx.messaging.channels.AMFChannel">

 

<endpoint url="http://{server.name}:8700/dev/messagebroker/amfpolling"

type="flex.messaging.endpoints.AMFEndpoint"/>

 

<properties>

<polling-enabled>true</polling-enabled>

<polling-interval-seconds>8</polling-interval-seconds>

</properties>

 

</channel-definition>

 

<!-- HTTP with polling -->

<channel-definition id="samples-polling-http"

type="mx.messaging.channels.HTTPChannel">

 

<endpoint url="http://{server.name}:8700/dev/messagebroker/httppolling"

type="flex.messaging.endpoints.HTTPEndpoint"/>

 

<properties>

<polling-enabled>true</polling-enabled>

<polling-interval-seconds>8</polling-interval-seconds>

</properties>

 

</channel-definition>

 

              注意:这种模式中你也可以使用secure通道。

 

 

4)        长轮询AMFHTTP通道

当其他更加有效率的实时机制不合适的时候,你可以使用AMFHTTP通道的长期轮询模式来“推”消息到客户端。 This mechanism uses the normal application server HTTP request processing logic and works with typical J2EE deployment architectures.这一机制的使用标准应用服务器HTTP请求处理逻辑,并与典型的J2EE架构协同工作。

You can establish long polling for any channel that uses a non-streaming AMF or HTTP endpoint by setting the , and properties in a channel definition; for more information, see Simple channels and endpoints .您可以为任何通道建立长期轮询来使用相应端点,需要设置一下参数:polling-enabledpolling-interval-milliswait-interval-millisclient-w ait-interval-mills。有关wait-interval-millis的更多内容请参考Blazeds文档。

<!-- Long polling AMF -->

<channel-definition id="my-amf-longpoll" class="mx.messaging.channels.AMFChannel">

 

<endpoint

url="http://servername:8700/contextroot/messagebroker/myamflongpoll"

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>

<client-wait-interval-millis>3000</client-wait-interval-millis>

<max-waiting-poll-requests>100</max-waiting-poll-requests>

</properties>

 

</channel-definition>


http://www.niftyadmin.cn/n/1551868.html

相关文章

一、Blazeds初步

客户端应用 Blazeds包括客户端和服务端应用。客户端应用是典型的Adobe flex或者AIR应用。Flex和AIR应用使用flex组件和blazeds服务通信&#xff0c;包括Remote Object、HTTPService、WebService、Produce和Consumer。其中的HTTPService、WebService、Produce和Consum…

AWK命令用法与举例

awk是行处理器: 相比较屏幕处理的优点&#xff0c;在处理庞大文件时不会出现内存溢出或是处理缓慢的问题&#xff0c;通常用来格式化文本信息 awk处理过程: 依次对每一行进行处理&#xff0c;然后输出 awk命令形式: awk [-F|-f|-v] ‘BEGIN{} //{command1; command2} END{}’…

Blazeds体系结构

Blazeds体系结构 一个Blazeds应用包含了一个运行在浏览器或者Adobe AIR的客户端应用并且和J2EE应用服务端通信。客户端可以是Flex也可以是结合Flex、HTML/JavaScript的应用程序。 整个体系主要包括通道、端点、消息、服务、目的地、适配器等&#xff0c;把这些搞懂也就…

CentOS7使用systemctl添加自定义服务

一、简介 Centos7开机第一个程序从init完全换成了systemd这种启动方式&#xff0c;同centos 5 6已经是实质差别。systemd是靠管理unit的方式来控制开机服务&#xff0c;开机级别等功能。 在/usr/lib/systemd/system目录下包含了各种unit文件&#xff0c;有service后缀的服务u…

Zabbix告警队列清理

场景&#xff1a;由于网络故障导致&#xff0c;导致zabbix几百上千台机子告警&#xff0c;邮件失败多次尝试发送&#xff0c;导致堆积了很多告警队列&#xff0c;其他邮件产生了时延 处理&#xff1a; 方法1、通过修改mysql的zabbix库alerts表,把状态改为已发送或发送失败 &a…

Blazeds体系结构(二)

服务端FlexClient、MessageClient、FlexSession类的实例代表了Flex应用和服务端的连接。你可以使用这些对象管理FLEX应用程序和服务端的同步。 FlexClient, MessageClient, and FlexSession objects FlexClient 每一个MXML或者AS的Flex应用都被编译进SWF文件。当SWF文件和Blaze…

flex networkmonitor正确配置

在eclipse 中设置flex server: 例如&#xff1a;Root URL http://localhost:8080/nmsflex Context root /nmsflex 然后用validate校验一下&#xff0c;是否正确

Cairngorm框架

Cairngorm框架结构图转自官方 <object classid"clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width"644" height"600" codebase"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version6,0,40,0"> <…