在上一节已经配置好Blazeds 并实验成功,但是看下来需要手动配置的地方实在太多了。而且很多例子又不太全,搞到最后估计也搞不出来。其实如果你不做手动配置,直接代码写,就实在太方便了。
譬如你现在已经下载下来了Blazeds的安装包,并且启动了自带的Tomcat。你会发现在Tomcat文件下\tomcat\webapps\blazeds 有两个文件夹,META-INF 和 WEB-INF。
WEB-INF 下的
classes 文件夹是放置你的java的class文件的;
flex 文件夹下
sevices-confi.xml: 配置服务和目的地,也就是一些channel的定义
remoting-confi.xml : 配置 RemotingService,也就是你要访问的后台的类的destination。
proxy-config.xml :配置 HTTPProxyService
messaging-config.xml:配置MessageService,也就是你要发送消息给后台,一般是指Consummer 和Producer时用到的。
现在开始配置:
1.首先编写Java并放到tomcat下。
package Kenny; public class Test { public String word(String name) { return name; } }编译为class文件,并放到tomcat\webapps\blazeds\WEB-INF\classes\Kenny 文件夹下。
2. 配置remoting-confi.xml .
在service节点下添加一个节点:
<destination id="HelloWorldService"> <properties> <source>Kenny.Test</source> </properties> </destination>3.创建Flex项目
private function resultHandler(e:ResultEvent):void { Alert.show("resultHandler"); } private function faultHandler(e:FaultEvent):void { Alert.show(e.message + "-" + e.headers); } protected function button1_clickHandler(event:MouseEvent):void { var remoteObj:RemoteObject = new RemoteObject(); var channelSet:ChannelSet = new ChannelSet(); var channel:AMFChannel = new AMFChannel("ddddddddd","http://localhost:8400/blazeds/messagebroker/amf"); channelSet.addChannel(channel); remoteObj.channelSet = channelSet; remoteObj.initialize(); remoteObj.destination = "HelloWorldService"; var operation:AbstractOperation = remoteObj["word"]; var token:AsyncToken = operation.send("aaa"); token.addResponder(new Responder(resultHandler,faultHandler)); }其中http://localhost:8400/blazeds/messagebroker/amf 是 channel的endpoint地址,word是要调用的方法,aaa是传过去的参数。
你怎么会知道这个endpoint呢?你可以看下remoting-config.xml中定义了default-channels,也就是说如果你不为自己的destination 指定channel的话,就默认用这个channel。这个channel(my-amf)其实是在services-config.xml 中定义的channel的id。
这样就实验成功了。
相关推荐
在本例子中,我们将探讨如何使用Flex与Java后端进行远程调用,借助Adobe的BlazeDS服务。BlazeDS是Flex与Java服务器之间通信的一个中间件,支持AMF(Action Message Format)协议,提供数据推送、拉取和消息代理等...
1. **Remoting服务**:它允许Flex客户端直接调用后端的Java方法,实现了远程方法调用(RPC)。通过AMF(Action Message Format)协议,Blazeds可以高效地传输数据,大大降低了网络延迟。 2. **Message Brokering服务...
1. **Remoting**:这是Blazeds的基础,它允许Flash应用程序通过AMF直接调用服务器上的远程方法,实现了远程过程调用(RPC)。这种调用方式比XML-based的Web服务更为快速和高效。 2. **Message Brokering**:Blazeds...
BlazeDS是一款由Adobe开发的开源服务器端软件,主要用来支持远程调用和消息传递服务。它能够实现Java应用服务器和Flex客户端之间的通信,通过AMF(Action Message Format)协议来简化数据交换过程。BlazeDS可以作为...
这使得远程方法调用(RPC)变得非常便捷,极大地提高了开发效率。 4. **MessageBroker服务**: MessageBroker服务则负责消息代理,支持发布/订阅模型的事件驱动通信。它允许Flex客户端和Java服务之间进行异步通信...
BlazeDS是Adobe提供的一个开源工具,它支持Java远程调用(RPC)和Web消息传递,允许Flex客户端与Java服务器之间进行通信。 在Flex和Spring的整合中,关键在于Spring容器管理的Bean如何被Flex客户端访问。Spring社区...
BlazeDS不仅支持远程方法调用(RPC),还支持发布和订阅消息模型,使得实时数据同步成为可能。 2. **AMF与数据传输** AMF是一种二进制数据格式,用于在Flex客户端和BlazeDS服务器之间高效地传输数据。相比于XML或...
1. **Remoting服务**:允许Flex客户端与Java后端进行远程方法调用(RPC),使得客户端可以直接操作服务器端的业务对象,极大地提高了开发效率。 2. **Messaging服务**:通过AMF(Action Message Format)协议支持...
2. **Remoting**: 提供了远程方法调用(RPC)的功能,使得Flex客户端可以直接调用服务器上的Java或ColdFusion方法,就像它们是本地方法一样。 3. **LiveCycle Data Services (LCDS)**: Blazeds的基础版本,提供了更...
RPC(远程过程调用)服务允许客户端应用像调用本地函数一样调用服务器上的方法。BlazeDS的RPC服务提供了高性能的数据交换能力,使得客户端可以轻松地访问服务器上的业务逻辑,无需了解底层网络细节。 ##### 3.2 ...
1. **Remoting服务**:允许Flex客户端与Java服务器端进行远程方法调用(RPC),使客户端能够直接操作服务器对象,如同它们在本地一样。 2. **Message服务**:支持AMF(Action Message Format)协议,这是一种高效的...
BlazeDS支持WebSocket、HTTP和RTMP协议,使得Flex客户端可以轻松地与Java后端进行通信,实现远程方法调用(Remote Procedure Call, RPC)。 **Flex框架** Flex是一种基于MXML和ActionScript的开放源代码UI框架,...
RPC服务是BlazeDS的重要组成部分,它支持HTTP GET/POST、SOAP Web服务和Java对象调用。RemoteObject服务使得客户端能以简单的方式访问企业级功能,如数据交换、身份验证、日志记录等,而无需复杂的SOAP配置。 消息...
1. **Remoting服务**:通过HTTP协议提供远程方法调用(RPC)的能力,使Flex客户端可以直接调用Java服务器上的业务逻辑方法。 2. **Message Broker服务**:实现基于发布/订阅的消息传递模型,允许Flex客户端与Java...
BlazeDS提供了远程方法调用(RPC)功能,使Flex客户端能够直接调用Java服务器上的方法。Remoting允许开发者在Flex界面中使用Java服务,简化了客户端与服务器的交互。 5. **消息传递**: BlazeDS集成了Apache ...
3. **Remoting服务**:讲解如何使用BlazeDS的Remoting服务将Java对象暴露给客户端,实现远程方法调用(RPC)。这一部分会涉及ActionScript类映射、服务端的Java类定义,以及如何处理异常。 4. **消息服务**:介绍...
AMF-RPC(AMF远程过程调用)是一种基于AMF协议的远程通信方式,能够在客户端和服务器之间高效地传输数据和对象。在Java平台上,有两种主要的技术可以实现AMF-RPC功能:LCDS(LiveCycle Data Services)和BlazeDS。...
RPC(Remote Procedure Call)服务是BlazeDS的一个重要组成部分,它为客户端提供了一种简单高效的方式来访问服务器上的资源。通过使用BlazeDS的RPC服务,客户端可以向服务器发起异步请求,并直接接收服务器返回的...
3. **Remoting服务**:BlazeDS支持通过HTTP协议提供远程方法调用(Remote Procedure Call, RPC),使Flex客户端可以调用服务器上的Java方法,实现了客户端和服务器的双向通信。 4. **Messaging服务**:BlazeDS还...