关闭

关闭

关闭

封号提示

内容

首页 Flex通信机制及与JAVA集成研究报告.pdf

Flex通信机制及与JAVA集成研究报告.pdf

Flex通信机制及与JAVA集成研究报告.pdf

上传者: jokiye 2012-07-25 评分 0 0 0 0 0 0 暂无简介 简介 举报

简介:本文档为《Flex通信机制及与JAVA集成研究报告pdf》,可适用于IT/计算机领域,主题内容包含上海迈辰信息科技有限公司Flex通信机制及与JAVA集成研究报告文档编号:MC当前版本:修改日期:年月上海迈辰Flex通信机制及java集成研究说明符等。

上海迈辰信息科技有限公司Flex通信机制及与JAVA集成研究报告文档编号:MC当前版本:修改日期:年月上海迈辰Flex通信机制及java集成研究说明文档上海迈辰信息科技有限公司机密文件未经授权禁止传播目录第一章通信一、通信协议二、数据协议第二章FlexRPC一、HttpService二、WebService三、RemoteObject第三章数据协议对比第四章AMF第五章FlexAMF数据协议性能对比图二、传输数据量三、客户端内存占用第六章Flexjava一、LCDS介绍二、BlazeDS三、LCDS与BlazeDS对比四、选择BlazeDS理由第七章BlazeDS、BlazeDS介绍、BlazeDS组件、远程过程调用服务、HTTPService组件、WebService组件、RemoteObject组件、消息服务、介绍、定时轮询服务、长轮询访问上海迈辰Flex通信机制及java集成研究说明文档上海迈辰信息科技有限公司机密文件未经授权禁止传播、配置服务、在启动时动态配置、远程对象进行动态配置、安全服务、基本安全约束、自定义安全约束、系统默认安全约束、配置说明、日志服务、设置日志记录级别、设置日志属性、客服端日志、服务器端日志记录、BlazeDS序列化机制、RemoteClass元素标记、Transient元素标记、自定义序列化介质、BlazeDSSession、FlexCookie实现第八章springFlex、SpringBlazeDS集成概述背景最低版本集成功能最低要求、配置和使用BlazeDSMessageBroker与Spring.介绍.环境搭建.配置Spring的DispatcherServlet.在spring中配置MessageBroker上海迈辰Flex通信机制及java集成研究说明文档上海迈辰信息科技有限公司机密文件未经授权禁止传播、自定义异常错误!未定义书签。、自定义消息拦截、spring使用FlexRemoting、介绍、配置远程服务、注解实现通道、外部提供通道IDS、使用RESTful方式与springMVC实现AMF、介绍、spring长轮询访问第一章通信一、通信协议通过通信信道和设备互连起来的多个不同地理位置的数据通信系统要使其能协同工作实现信息交换和资源共享它们之间必须具有共同的语言。交流什么、怎样交流及何时交流都必须遵循某种互相都能接受的规则。这个规则就是通信协议。通信协议(communicationsprotocol)是指双方实体完成通信或服务所必须遵循的规则和约定。协议定义了数据单元使用的格式信息单元应该包含的信息与含义连接方式信息发送和接收的时序从而确保网络中数据顺利地传送到确定的地方。在计算机通信中通信协议用于实现计算机与网络连接之间的标准网络如果没有统一的通信协议电脑之间的信息传递就无法识别。通信协议是指通信各方事前约定的通信规则可以简单地理解为各计算机之间进行相互会话所使用的共同语言。两台计算机在进行通信时必须使用的通信协议。通信协议有TCPUDPHTTPFTP等等二、数据协议数据通信协议Datacommunicationprotocol亦称数据通信控制协议。是为保证数据通信网中通信双方能有效可靠通信而规定的一系列约定。这些约定包括数据的格式顺序和速率数据传输的确认或拒收差错检测重传控制和上海迈辰Flex通信机制及java集成研究说明文档上海迈辰信息科技有限公司机密文件未经授权禁止传播询问等操作。数据通信协议分两类:一类称为基本型通信控制协议用于以字符为基本单位的数据传输如xml,amf,soap协议另一类称为高级键路控制协议用于以比特为基本单位的数据传输如HDLC(高级数据键路控制协议)和SDLC(同步数据键路控制协议)。第二章FlexRPC使用FlexRPC开发基于BS结构企业应用客户端和服务器端的通信协议是我们所熟知的HTTP协议。在Flex中基于HTTP协议访问服务器的通信组件有三个:一、HttpService(mxrpchttpmxmlHTTPService)二、WebService(mxrpcsoapmxmlWebService)三、RemoteObject(mxrpcremotingmxmlRemoteObject)一、HttpServiceHttpService组件可以调用很多不同技术的服务端页面比如JSP、ASP、PHP、JavaServlet、ColdFusionPage等。在大多数情况下使用HttpService访问服务器端页面来完成Flex客户端与服务器端的数据交互服务器端返回的结果一般都是XML格式的数据HttpService的工作方式主要通过请求URL获取XML格式数据。二、WebServiceFlex应用可以调用URL所表示WSDL服务返回SOAP格式的调用结果。SOAP也是基于XML格式规范通过WebService组件调用了服务器所提供的WebService服务返回SOAP格式的XML数据。三、RemoteObjectRemoteObject组件在“第三方软件”的配合下能够调用后台服务器对象上的方法比如Java对象或者net对象上的方法从而实现客户端与服务器端的通信。在客户端应用RemoteObject可以直接将ActionScript对象序列化为AMF数据格式作为调用的参数和返回成果。上海迈辰Flex通信机制及java集成研究说明文档上海迈辰信息科技有限公司机密文件未经授权禁止传播第三章数据协议对比HttpService和WebService)无需第三方框架。)Flex客户端和服务器之间传递的都是XML数据格式的文本数据。)使用XML作为数据交换格式会降低传输效率和转换效率。)处理XML数据的代码也远比处理对象的代码繁琐并且难以阅读和调试。)使用这两个组件应当用传递少量、数据格式不易变化的数据。RemoteObject)客户端RemoteObject将调用参数中的ActionScript对象序列化为AMF数据格式然后发出调用请求。)服务器的“第三方软件”获取HTTP请求流。)服务器的“第三方软件”对HTTP请求流进行解析并且建立消息响应。解析过程包括解释AMF格局数据将ActionScript对象的AMF数据按照事先确定协议“反序列化”为服务器端对象比如Java对象然后用这些参数调用客户端指定的服务器对象上的方法。)服务器的“第三方软件”将调用的结果“序列化”为AMF格局的数据流)服务器发送HTTP响应给Flex客户端。)Flex客户端解析AMF格式数据流将调用结果序列化为ActionScript对象。第四章AMFAMF是FlashRemoting的核心技术为了处理复杂数据类型采用一种独有的方式使Flash与应用服务器间可以来回传送数据势在必行。于是AMF应运而生。AMF是Adobe独家开发出来的通信协议它采用二进制压缩序列化、反序列化、传输数据从而为Flash播放器与FlashRemoting网关通信提供了一种轻量级的、高效能的通信方式。如下图所示上海迈辰Flex通信机制及java集成研究说明文档上海迈辰信息科技有限公司机密文件未经授权禁止传播AMF将数据类型转换成二进制对照表marker=Uundefinedmarker=xmarker=xfalsemarker=xtruemarker=xintegermarker=xdoublemarker=xstringmarker=xxmldocmarker=xdatemarker=xarraymarker=xobjectmarker=xAxmlmarker=xBbytearraymarker=xC上海迈辰Flex通信机制及java集成研究说明文档上海迈辰信息科技有限公司机密文件未经授权禁止传播第五章FlexAMF数据协议性能对比图以下有八种数据协议在请求相同数据量的情况下所占用的响应时间、解析时间、绘制时间、传输数据量、客服端内存占用对照图。一、请求响应时间上图分别展示了八种不同数据协议在同等数据量的情况下所消耗资源的情况。分别是请求时间、解析时间、绘制时间。上海迈辰Flex通信机制及java集成研究说明文档上海迈辰信息科技有限公司机密文件未经授权禁止传播二、传输数据量上图分别展示了八种不同数据协议在同等数据量的情况下传输数据量对照图。三、客户端内存占用上图分别展示了八种不同数据协议在同等数据量的情况下在客户端所在的内存对照图。上海迈辰Flex通信机制及java集成研究说明文档上海迈辰信息科技有限公司机密文件未经授权禁止传播第六章FlexjavaFlex与java通信需要第三方软件的支持有一下几种:、LCDS(LifeCycleDataServices)、BlazeDS、Hessian、Granite一、LCDS介绍LCDS(LiveCycleDataService)之前叫做FDS(FlexDataService)他是基于java(也有ColdFusion版的)后端的数据服务工程功能包括映射Java对象到Flex对象(包括调用Java类的方法)、RTMP(RealTimeMessageProtocol)、代理、服务端生成PDF等等功能。LCDS提供了三种与服务端的基本通信方式。通过这三种通信方式Flex可以与JEE客户端实现非常强大数据交互功能。这三种通信方式如表所示表LCDS与服务端通信的三种基本方式名称说明remoting远程调用的方式与服务端通信与基于HTTP的文本调用方式不同。remoting是基于amf协议的对象级别的调用datamanagement通过amf协议与rtmp协议的混合使用Flex客户端与数据库数据同步的通信方式。能够实现由服务端向客户端推送数据。messaging通过与服务端JMS通信的方式进行消息服务传递的数据通信方式。这三种通信方式可以实现在对象层面的与服务端通信这样与服务端进行通信时就会涉及到数据类型转换的问题。LCDS与服务端通信的通信结构是前端的SWF发送ActionScript调用。再由LCDS转换为针对Java的调用。最后Java代码完成于数据库的通信以及业务处理。整体结构如图所示。上海迈辰Flex通信机制及java集成研究说明文档上海迈辰信息科技有限公司机密文件未经授权禁止传播二、BlazeDSBlazeDS是一个基于服务器的Java远程调用(remoting)和Web消息传递(messaging)技术使得后台的Java应用程序和运行在浏览器上的Flex应用程序能够相互通信。如果你想通过使用RPCServices提供一些企业级功能如不同域之间数据交换的代理功能、客户端认证、服务器端日志、本地化支持、RPCServices服务集中化管理等功能时BlazeDS通过使用RemoteObject控件可以轻松实现而不需要配置他们像SOAPcompliant网络服务。当客户端RPC控件调用远程服务时该控件就会把服务端返回的数据保存在一个ActionScript对象中这样在程序中就能够很轻松的获取想要的数据而这些客户端控件包括HTTPService、WebService、RemoteObject控件。三、LCDS与BlazeDS对比下图是Adobe官方的Blazeds与LCDS的对比FeaturesBlazeDSLCDSDatamanagementServicesClientServersynchronizationConflictresolutionDatapagingSQLadapter上海迈辰Flex通信机制及java集成研究说明文档上海迈辰信息科技有限公司机密文件未经授权禁止传播HibernateadapterDocumentServicesLiveCycleremotingRIAtoPDFconversionEnterpriseClassFlexapplicationservicesDataaccessremotingProxyserviceAutomatedtestingsupportSoftwareclusteringWebtiercompilerEnterpriseIntegrationWSRPgenerationAjaxdataservicesFlexAjaxbridgeRuntimeconfigurationOpenadapterarchitectureJMSadapterServersidecomponentframeworkintegrationColdFusionintegrationOfflineApplicationSupportOfflinedatacacheLocalmessagequeuingRealTimeDataPublishandSubscribemessagingRealtimedataqualityofserviceRTMPtunneling四、选择BlazeDS理由、更加容易连接Flex与AdobeAIR应用程序和后端java逻辑、为快速响应的应用程序提供高性能的数据传输、基于HTTP协议的实时数据推送、通过扩展有消息服务结构支持发布订阅模式的消息服务、免费且开源、完善的社区支持、可以在任何java应用服务器上运行、可以通过java来扩展和修改BlazeDS、HTML和JSP也能调用BlazeDS、Flex和BlazeDS的数据传输性能远胜于其它Ajax解决方案、Java客户端能够直接调用BlazeDS上海迈辰Flex通信机制及java集成研究说明文档上海迈辰信息科技有限公司机密文件未经授权禁止传播、Spring已经集成了BlazeDS第七章BlazeDS、BlazeDS介绍略、BlazeDS组件、Operation和AsyncRequestOperation代表了远程服务中的单个方法RemoteObject委托mxrpcremotingOperation,而webservice则使用mxrpcsoapOperation来调用远程服务中的方法。这两个Operation都是从mxrpcAbstractInvoker继承而来的。AbstractInvoker是所有远程过程调用的抽象基类。由于HTTPService访问的是远程URL并不涉及远程方法调用因此被设计成直接从AbstractInvoker继承。AbstractInvoker则提供了这样一种机制:它允许对远程Destination进行多个请求并在服务器处理完请求后回调请求者。Flex的远程调用都是异步的不能保证请求与响应以同一顺序完成。设想A和B依次发出对同一Destination的远程调用请求如果B请求的响应先于A返回那么AsyncRequest既可以保证对B请求的响应回调B而对A请求的响应回调A。、Message消息特指以BlazeDS能识别的格式封装的数据包括消息头和消息体。消息头一般用于存储消息的处理指令消息体包含传输的业务数据。Flex应用和BlazeDS之间通过消息通信。消息的定义同时以ActionScript代码和java代码的形式存在并在两种代码形式之间透明地序列化和反序列化。Message接口定义了消息的基本的数据结构最重要的属性就是destination、body、messageId,分别是标示消息的目的地消息的内容、消息的唯一标识符。、Producer和ConsumerProducer和Consumer用于消息服务前者是消息的生成者用于发布消息后者是消息的消费者用来订阅消息。两者都有属于destination和subtopic。destination指定了消息的远程目的地subtopic则限定了消息的类别。如果使用JMSAdapter连接JMS服务subtopic将不可用但是可以通过附加消息头上海迈辰Flex通信机制及java集成研究说明文档上海迈辰信息科技有限公司机密文件未经授权禁止传播同事设置Consumer的selector来过滤消息。要发布消息需要创建一个mxmessageingmessageAsyncMessage的消息实例然后调用Producersend方法。在此之前必须制定Producer和destination使用Consumersubscribe来订阅消息一旦订阅就可以接收Producer发布的消息。接收消息有两种方法:主动接收和别动接收通知如果使用实时或轮询channel那么一旦有新消息Consumer会收到acknowledge事件通知否则需要调用Consumerreceive来接收消息。不需要接收消息时使用Consumerunsubscribe取消对消息的订阅。、Channel和channelSet与Message不同的是Channel的定义只存在于前端即Flex应用中。Channel的作用是帮助我们传输消息它是用标准的URL与Endpoint通信。不借助channel,我们自己也可以编写大量的代码来将消息传输到后端。、MessageBrokerServletMessageBrokerServlet以servlet的形式注册到javaeeweb服务器中它统一接收前端channel发送的http请求然后根据请求的URL将信息分发给相对应的endpoint在endpoint对消息处理完成后将结果写入http响应流。MessageBrokerServlet启动时需要载入BlazeDS的配置文件并验证其正确性只有配置正确才能正常启动。在连接到http请求后MessageBrokerServlet的service方法负责处理并将HttpServletRequest、HttpServletResponse等对对象保存到flexmessageFlexContext的线程对象中然后验证客户端的身份(如果需要的话)最后清除flexContext中当前线程保存的环境信息。FlexContext是一个线程安全的容器在BlazeDS的整个处理过程都可以通过它获得线程相关对象如HttpServletRequest、HttpServletResponse、FlexClient、FlexSession对象等等。、EndpointEndpoint就是消息传输接收器。BlazeDS为前端flex中定义的每种Channel都定义了相应的Endpoint。Flex调用远程或所在web应用的BlazeDS服务时必须建立和远端的通道channel,才能正常通信。、ServiceEndpoint并不真正处理消息他将处理过程委托给service。前面说过channel和endpoint是协议相关的消息通道如果endpoint直接处理消息那么会使协议和消息类型耦合。BlazeDS将消息交给service处理的好处就在分离了上海迈辰Flex通信机制及java集成研究说明文档上海迈辰信息科技有限公司机密文件未经授权禁止传播协议和消息类型。Endpoing在接收到消息时会根据消息的destination获得合适的service,然后调用serviceServiceMessage方法处理消息。BlazeDS定义了RemotingService、HTTPProxyService、MessageService三类service分别处理前端的RemoteObject、HTTPService和WebService、Producer等组件发起的请求。、Destination和AdapterDestination和Adapter都是service的子组件destination标示消息的目的地是客户组件(javaobject、webservice或JMS等)在BlazeDS中的抽象Adapter用于适配service和客户组件。因此destination使用的Adapter的不同它能够代表的客户组件也不同。Service是为了分离协议和消息类型两个关注点而引入的Adapter则是为了解耦消息类型和消息处理方式。下图BlazeDS在应用系统所处的地位BlazeDSFlex应用程序WebServiceAIR应用程序业务逻辑或服务Web应用程序下图介绍BlazeDS应用客户端架构HTTPChannelAMFChannelHTTPServiceRemoteObjectWebServiceFlexRPC组件Flex消息组件ProducerConsumerOperationAsyncRequestChannelSet可用的ChannelBlazeDSWeb应用程序Flex应用程序下图介绍BlazeDS应用服务器端架构上海迈辰Flex通信机制及java集成研究说明文档上海迈辰信息科技有限公司机密文件未经授权禁止传播分别展示了BlazeDS应用中客户端和服务器端的体现结构。在客户端由FlexRPC或者Message组件发起会话请求由Channel将参数或命令使用指定的网络协议(HTTP或HTTPS)与服务器端进行会话在服务器端由一个servlet统一接收所有Channel的请求然后根据Channel请求的URL将请求分发给相应的Endpoint最终将请求转换成适配器(Adapter)的源客服组件能识别的命令这些客户组件可能是javaobject、web页面、webservice或JMS组件等。通过自定义Adapter可以支持更多的客户端。、远程过程调用服务远程过程调用(RemoteprocedureCallRPC)服务通过调用返回的形式访问外部数据它允许客服端异步请求远程程序请求被处理后直接返回给客服端。)HTTPService组件)WebService组件)RemoteObject组件、HTTPService组件HttpService组件以标准的的HTTP请求(GET、POST等)访问位于服务器的URL调用结果以object、array、xml、ex、text等格式返回HTTPService组件虽然可以不通过BlazeDS而直接访问位于服务器的URL但是这样就无法获得BlazeDS提供的跨域访问、集中式的安全控制和日子等服务。在服务器端BlazeDS使用HTTPProxyService、HTTPProxyDestination和HTTPProxyAdapte协助完成前端HTTPService组件的RPC请求。运行实例RemoteObjectsimplemxml:第一步:编写java方法上海迈辰Flex通信机制及java集成研究说明文档上海迈辰信息科技有限公司机密文件未经授权禁止传播第二步:配置flex客服端与服务器端java通信通道打开remotingconfigxml配置如下Destination:客服端调用服务器端目标ID<properties><source>:java类路径第三步:mxml页面编写连接通道增加标签<mx:RemoteObjectid=""destination=""result=""fault="">Id:元素标示符Destination:客服端访问服务器服务的目标IDResult:当服务调用成功返回并且操作自身不处理时将分派result事件。Fault:当服务调用失败并且操作自身不处理时将分派fault事件。第四步:实现方法的调用remoteObjectIDjava方法()、WebService组件WebService组件支持访问发布的SOAP兼容的Webservice请求参数和返回结果都以SOAP格式封装。在服务器端BlazeDS使用HTTPProxyService、HTTPProxyDestination和SOAPAdapter协助完成前端WebService组件的RPC请求。运行实例webServicemxml:第一步:Mxml页面增加<s:WebServiceid=""wsdl="http:wsdl"result=""fault="">Id:元素标示符Wsdl:webservice访问地址这里必须要以wsdl结尾Result:当服务调用成功返回并且操作自身不处理时将分派result事件。Fault:当服务调用失败并且操作自身不处理时将分派fault事件。第二步:实现WebServiceIDwebservicd方法(„)send()、RemoteObject组件RemoteObject组件允许Flex应用程序访问服务器端的JAVA对象请求参数和返回结果会被BlazeDS透明地转换成JAVA对象和ActionScript对象它是企业应用中效率最高、最常用的RPC组件。在服务器端BlazeDS使用上海迈辰Flex通信机制及java集成研究说明文档上海迈辰信息科技有限公司机密文件未经授权禁止传播RemotingService、RemotingDestination和JavaAdapter协助完成前端RemoteObject组件的RPC请求。运行实例HttpServicemxml:第一步:Mxml页面增加<mx:HTTPServiceid=""url="http:xml"method="GET"makeObjectsBindable="true"result=""fault=""showBusyCursor="true">Id:元素标示符url:访问远程服务器xml地址method:GET"请求可以用GET或POSTmakeObjectsBindable:当该置为true时返回的匿名对象将强制成为可绑定的对象。result:当服务调用成功返回并且操作自身不处理时将分派result事件。fault:当服务调用失败并且操作自身不处理时将分派fault事件。showBusyCursor:如果为true在执行服务时会显示忙状态光标。默认值为false。第二步:实现xml节点循环RPC组件依赖的服务、目标、适配器如下ComponentServiceDestinationHTTPServiceHTTPProxyServiceHTTPProxyDestinationWebServiceHTTPProxyServiceHTTPProxyDestinationRemoteObjectRemotingServiceRemotingDestination、消息服务、介绍消息(Messageing)服务允许多个客服端通过它发布、订阅消息或者进行点对点的消息通信。使用消息服务可以构建实时通讯或者多点数据同步的系统。Flex应用程序使用客服端消息API发送消息到定义在BlazeDS服务器中的destination,并从它接收消息。消息在Channel中传输在Endpoint中处理。BlazeDS既可以将消息推送到连接至它的客服端此时BlazeDS使用destination广播消息所以订阅此destination的Flex应用程序都可以得到消息。BlazeDS的消息还可以借助一个JMSAdapter支持嵌入或外部的JMS服务使用JMS服务的主题(topic)和列队(queue)。消息流行图如下上海迈辰Flex通信机制及java集成研究说明文档上海迈辰信息科技有限公司机密文件未经授权禁止传播消息架构图在消息结构中最重要的有三个属性、Destination消息目的地、Body消息内容、messageId消息的唯一标示符、定时轮询服务Flex应用程序使用客户端消息API发送消息到定义在BlazeDS服务器中destination,并从它接收消息。消息在Channel中传输,在Endpoint中处理。BlazeDS亦可以将消息推送到连接至它的客户端此时BlazeDS使用destination广播消息所有订阅此destination的Flex应用程序都可以收到消息。运行实例flexmessagepollingxml:第一步:mxml页面配置消息生产者<s:Producerid=""destination="">上海迈辰Flex通信机制及java集成研究说明文档上海迈辰信息科技有限公司机密文件未经授权禁止传播Id:元素标示符Destination:客服端访问服务器服务的目标IDAs代码privatefunctionsend():void{varmessage:IMessage=newAsyncMessage()messagebodychatMessage=textInputtextproducersend(message)textInputtext=""}消息消费者<s:Consumerid=""destination=""message="">Id:元素标示符Destination:客服端访问服务器服务的目标IDMessage:接收到消息As代码privatefunctionreceiveHandler(event:MessageEvent):void{varo:Object=eventmessagebodyasObjectgetMesstext=">"ochatMessage"n"}消费必须实现subscribe()方法才能实现远程与服务订阅如:creationComplete="consumersubscribe()"第二步:服务端配置打开messageingconfigxml配置消息服务目标ID<destinationid="配置消息服务目标ID"channels="mypollingamf">说明这里的channels的值是serviceconfigxml中的channeldefinition如:<channeldefinitionid="mypollingamf"class="mxmessagingchannelsAMFChannel"><endpointurl="http:{servername}:{serverport}{contextroot}messagebrokeramfpolling"class="flexmessagingendpointsAMFEndpoint"><properties><pollingenabled>true<pollingenabled><!每隔秒轮询服务器><pollingintervalseconds><pollingintervalseconds><properties><channeldefinition>、长轮询访问当其他更加有效率的实时机制不合适的时候你可以使用AMF和HTTP通道的长期轮询模式来“推”消息到客户端。这一机制的使用标准应用服务器的HTTP请求处理逻辑并与典型的JEE架构协同工作。第一种长轮询运行实例flexmessagestreamingmxml消息生产者上海迈辰Flex通信机制及java集成研究说明文档上海迈辰信息科技有限公司机密文件未经授权禁止传播<s:Producerid=""destination="">Id:元素标示符Destination:客服端访问服务器服务的目标ID消息消费者<s:Consumerid=""destination=""message="">Id:元素标示符Destination:客服端访问服务器服务的目标IDMessage:接收到消息As代码protectedfunctionsendMessage():void{varval:String=messagenametextvarmsg:AsyncMessage=newAsyncMessage()msgbody=valproducersend(msg)messagenametext=""}消费必须实现subscribe()方法才能实现远程与服务订阅如:creationComplete="consumersubscribe()"第二步:服务端配置打开messageingconfigxml配置消息服务目标ID<destinationid="配置消息服务目标ID"channels="mystreamingamf">说明这里的channels的值是serviceconfigxml中的channeldefinition如:<channeldefinitionid="mystreamingamf"class="mxmessagingchannelsStreamingAMFChannel"><endpointurl="http:{servername}:{serverport}{contextroot}messagebrokerstreamingamf"class="flexmessagingendpointsStreamingAMFEndpoint"><properties><recordmessagetimes>true<recordmessagetimes><

热点搜索换一换

用户评论(0)

0/200

精彩专题

上传我的资料

每篇奖励 +2积分

资料评价:

/44
2下载券 下载 加入VIP, 送下载券

意见
反馈

立即扫码关注

爱问共享资料微信公众号

返回
顶部