1、private var service:RemoteObject = new RemoteObject("remote");
与
private var service:RemoteObject = new RemoteObject();
service.destination = "Cvbs-remote";
一致
2、var call:AsyncToken = service.executeFlex(data);
由于RemoteObject 继承的AbstractService 继承了Proxy 因此可以使用代理模式
查看AbstractService 的源代码
上面的代码与:
var remoteMethods:AbstractOperation = service.getOperation("executeFlex");
remoteMethods.send(data);
一致
AbstractService 中代码:
public dynamic class AbstractService extends Proxy implements IEventDispatcher { /** * @private */ override flash_proxy function callProperty(name:*, ... args:Array):* { return getOperation(getLocalName(name)).send.apply(null, args); } public function getOperation(name:String):AbstractOperation { var o:Object = _operations[name]; var op:AbstractOperation = (o is AbstractOperation) ? AbstractOperation(o) : null; return op; } 。。。 }
3、无论何时从你的flex/AIR应用中使用多个外部调用中的一个,你都不会知道这些调用是否或者何时返回结果(或者错误),你也不会知道它们返回的顺序。即使你按照"RO1","RO2","RO3"的顺序调用远程对象,它们返回的顺序还是可能不一样。你可能也希望针对这些结果能有不同的处理。
一种方式就是给每一个调用分配一个异步令牌(AsyncToken )来追踪这些调用。
不要这样来进行远程调用:
myRO.myRemoteMethod();
你应该这样:
var token:AsyncToken=myRO.myRemoteMethod();(确保导入了mx.rpc.AsyncToken)
现在就有了一个变量"token",代表这个单独的调用。像这样,你可以分配token自己的result和fault处理函数
token.addResponder(myResponderClass);
这里myResponderClass类实现了IResponder.实现Iresponder简单的意味着定义了如下两个方法签名:
* public function result(data:Object):void
* public function fault(info:Object):void
因此你可以对你的远程调用在调用时设置result和fault处理函数,而不用把硬编码放到你的远程对象,HTTPService或者WebService标签里。这也恰好就是Cairngorm和其他微体系结构的运行方式。
AsyncToken最后一点很酷的特性就是它是动态类。这意味着,当你进行远程调用时可以添加属性到token上,然后result/fault处理函数中读取这些属性。
另外,在flex sdk3.4中有CallResponder,可以用CallResponder实例的token属性引用这个异步令牌。在flex sdk3.2中式没有这个类的,如果要用的话就只能自己写了,只要这个类继承自Iresponder接口就可以了
相关推荐
标题中的"red5中使用...总的来说,理解并使用Red5中的RemoteObject涉及到服务器端的Java服务开发、客户端的Flex编程以及AMF通信协议。熟练掌握这一技术可以极大地提升Flex应用与Red5服务器之间的交互效率和用户体验。
首先,我们要理解RemoteObject的工作原理。RemoteObject通过HTTP、AMF(Action Message Format)等协议,将ActionScript对象转换为可被服务器理解的数据格式,然后发送到服务器。服务器处理完请求后,再将结果转换回...
在提供的Java代码中,我们看到了一个名为`MeetingService`的类,它包含了对数据库操作的各种方法,如插入、删除、更新和查询。这些方法使用Spring框架的`BaseDAO`来处理数据库交互。例如,`queryMeetingByID`方法会...
在Flex和Java的集成应用中,RemoteObject是关键的通信组件,它允许Flex客户端与Java后台服务进行数据交换。 RemoteObject是Flex框架中的一个关键组件,它通过AMF(Action Message Format)协议,提供了一种高效、轻...
- 需要考虑对传输的数据进行加密处理,以及对服务调用的身份验证等安全措施。 通过以上介绍,我们可以看到在Flex中使用ActionScript动态调用RemoteObject类的方法及其应用场景。这种方法不仅可以简化客户端与...
在本文中,我们将深入探讨如何使用Flex中的RemoteObject组件封装后与Java应用程序进行通信。RemoteObject是Adobe Flex框架的一部分,它允许Flex客户端与服务器端的业务逻辑进行交互,通常是通过AMF(Action Message ...
这个"remoteObject-java简单CURD例子.rar"压缩包提供了一个示例,演示了如何使用Java实现远程对象(Remote Object)进行基本的创建(Create)、读取(Read)、更新(Update)和删除(Delete)操作,也就是常说的CURD...
首先,让我们理解RemoteObject的基本工作原理。RemoteObject类是Flex与服务器之间进行数据交换的桥梁。当你创建一个RemoteObject实例时,你需要指定服务端的命名空间和方法名,以便在客户端调用这些服务。命名空间...
本篇文章将深入探讨如何使用`RemoteObject`与Java进行JSON格式的数据交换,以便更好地理解和应用这一技术。 首先,`RemoteObject`是Flex框架中的一个关键组件,它允许Flex应用通过AMF(Action Message Format)协议...
var remoteObject:RemoteObject = new RemoteObject(); remoteObject.destination = "myService"; remoteObject.endpoint = "http://localhost/myService"; ``` 4. **定义MX Messaging服务**:在Flex项目中,MX...
Flex与Java的通信是...理解RemoteObject的工作原理,正确配置和调用Java服务,以及灵活使用Datagrid组件,都是开发过程中不可或缺的知识点。通过深入学习和实践,我们可以构建出强大的、具有实时交互功能的RIA应用。
1、修改apache-tomcat-6.0.14\bin\catalina.bat文件中的JAVA_HOME的值,指向你所装的jdk的目录;我用的是jdk1.6,后台的java类也是用这个版本编译的; 2、启动tomcat ... 查看效果! 4、包含源代码。
RemoteObject是Flex提供的一种服务,它使得客户端与服务器端之间的通信变得简单,尤其是对于需要调用远程服务或业务对象的情况。 在Flex中,RemoteObject组件是实现AMF(Action Message Format)协议的关键。AMF是...
### Flex中RemoteObject与Java的通信 在Flex开发过程中,实现客户端与服务器端的数据交互是一项基本而又关键的任务。...对于初学者而言,理解这些基本概念和技术细节是非常重要的,因为它们构成了构建复杂应用的基础。
一个用Flex调用JAVA方法的例子ffffffff
eclipse3.7 + flash builder 4.5插件 + tomcat6.X调试通过,一个flex remoteobject简单例子(BlazeDS)。实际导入后指定flex server--java settings--blazeds.war的路径
.NET Framework提供了丰富的类库、强大的工具集和统一的运行时,但需要对.NET环境有深入理解。 在选择合适的多层开发方案时,开发者需要考虑多个因素:项目规模、性能需求、安全性、可扩展性、跨平台需求、团队技术...