services-config.xml 配置文件引用其他配置文件(如果存在)、配置 BlazeDS 日志记录并建立任何通道。一个通道 是对协议的一个抽象,供客户端与服务器通信时使用。本文应用程序使用没有轮询的标准 AMF 协议。轮询 是指客户端持续与服务器通信,以确保连接始终成立 — 不过在本应用程序中不需要。
通道端点指定服务器 URL。该端点是编译项目所必需的;客户端 Flash 应用程序将其作为一个硬编码值使用,因此它知道要连接到哪个服务器上。您实际上可以在 MXML 或 ActionScript 中定义端点 URL。
最后,remoting-config.xml 配置文件(如 清单 7 所示)指定适配器类,用于处理远程操作和响应远程调用的实际类。(本例中是将 bcit.contacts.ContactsService 类作为对远程请求的响应者提供。)
清单 7. remoting-config.xml 配置文件的子集
<?xml version="1.0" encoding="UTF-8"?>
<service id="remoting-service"
class="flex.messaging.services.RemotingService">
<adapters>
<adapter-definition id="java-object" default="true"
class="flex.messaging.services.remoting.adapters.JavaAdapter"/>
</adapters>
<default-channels>
<channel ref="contacts-amf"/>
</default-channels>
<destination id="contacts">
<properties>
<source>bcit.contacts.ContactsService</source>
<!--<scope>application</scope>-->
</properties>
</destination>
</service>
<service id="remoting-service"
class="flex.messaging.services.RemotingService">
<adapters>
<adapter-definition id="java-object" default="true"
class="flex.messaging.services.remoting.adapters.JavaAdapter"/>
</adapters>
<default-channels>
<channel ref="contacts-amf"/>
</default-channels>
<destination id="contacts">
<properties>
<source>bcit.contacts.ContactsService</source>
<!--<scope>application</scope>-->
</properties>
</destination>
</service>
结束语
本文向您展示了如何编写一个运行在 Tomcat 内,并响应联系信息请求的 Java 服务器端 Web 应用程序。您学习了如何同时使用 MXML 和 ActionScript 编写一个 Flex 应用程序,以创建一个客户端 Flash 应用程序。MySQL 充当数据存储,而 Hibernate — 一个 ORM 框架 — 用于将 Java 对象转换成能查询和更新 MySQL 数据库的 SQL 语句。最后,BlazeDS 框架允许 Flash 应用程序进行远程过程调用并在 Java 服务器端 Web 应用程序执行远程调用。