以Flash Remoting for J2EE为例,分为两部分:J2EE部分与Flash部分。
Flash Remoting for Java自带的文档《flashRemoting.pdf》很详细。
之所以写这篇笔记有两个原因:
1 该文档可能有点过时,比如导入外部类的代码无法工作。
2 介绍OpenAMF的使用及对其Spring的支持。
1 J2EE部分
J2EE应用通过Flash Remoting Gateway暴露服务(可以是Java对象,Servlet,EJB等 )。
Adobe提供了一个商业产品,开源产品可以选择OpenAMF。
web.xml配置分别如下:
Adobe Flash Remoting for J2EE
<servlet>
<servlet-name>FlashGatewayServlet</servlet-name>
<servlet-class>
flashgateway.controller.GatewayServlet
</servlet-class>
</servlet> OpenAMF
<servlet>
<servlet-name>DefaultGateway</servlet-name>
<servlet-class>org.openamf.DefaultGateway</servlet-class>
<init-param>
<param-name>OPENAMF_CONFIG</param-name>
<param-value>/WEB-INF/openamf-config.xml</param-value>
</init-param>
</servlet>OpenAMF配置文件openamf-config.xml
与spring结合:配置invoker
<invoker>
<name>Spring</name>
<class>org.openamf.invoker.SpringBeanInvoker</class>
</invoker>这样就可以暴露spring配置的bean
2 Flash部分
又可分为client-side和server-side。Flash 8与FMS 2使用的脚本版本不同,因此具体编程存在差别。
2.1 client-side
如果使用Flash 8开发,需要需要安装相应的flash remoting component。
下载地址是:http://www.adobe.com/products/flashremoting/downloads/components/
示例代码:
import mx.remoting.NetServices;
import mx.remoting.Service;
System.security.allowDomain("*");
var gateway:String = "flash_remoting_gateway_url"; // modify this
NetServices.setDefaultGatewayUrl(gateway);
var gatewayConnection:NetConnection = NetServices.createGatewayConnection();
var service:Service = gatewayConnection.getService("SampleBean");
var sampleMethod_Result:Object = new Object();
sampleMethod_Result.onResult = function(result) {
trace("result: " + result);
}
service.sampleMethod(sampleMethod_Result, "param1");关于传递对象参数的问题参见文档。
2.2 server-side
FMS 2内置了对Flash Remoting的支持。
示例代码:
load("netservices.asc"); // use flash remoting
gateway = "flash_remoting_gateway_url"; // modify this
NetServices.setDefaultGatewayUrl(gateway);
gatewayConnection = NetServices.createGatewayConnection();
service = gatewayConnection.getService("SampleBean");
var sampleMethod_Result = new Object();
sampleMethod_Result.onResult = function(result) {
trace("---------" + result);
}
service.sampleMethod(sampleMethod_Result, "param1");
本文探讨了如何将FlashRemoting与J2EE技术进行整合,并提供了Adobe Flash Remoting for J2EE和开源产品OpenAMF的具体配置方法。此外还介绍了客户端和服务端的实现细节。
1158

被折叠的 条评论
为什么被折叠?



