知识大全 使用BEA Workshop Studio的Flex消息传递
Posted 消息
篇首语:古人已用三冬足,年少今开万卷余。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 使用BEA Workshop Studio的Flex消息传递相关的知识,希望对你有一定的参考价值。
使用BEA Workshop Studio的Flex消息传递 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
摘要 本教程演示了如何使用Flex LiveCycle Data Services Express (DS)消息传递功能在使用BEA Workshop Studio (Flex bundle)的Flex应用程序中实现 数据推送 我的目标是开发一个小型Flex消息传递应用程序发送和接收消息
Flex消息传递简介
本教程演示了如何在Flex应用程序中使用消息传递 消息传递 可算是相当普通的一个词 但请看 Flex文档 是怎样定义这个词的
消息传递系统允许各应用程序进行对等异步通信 方法是通过Message Service收发数据(或消息)包 消息通常由消息头和消息体组成 消息头包含标识符和路由信息 消息体包含应用程序数据
因此 我们将构建这样一个应用程序 它允许通过DS消息服务向我们的Flex客户端应用程序异步发送数据 以下是一些主要的DS消息传递术语
生产者 创建消息并将它发送到收信方的应用程序 使用者 通过收信方接收消息的应用程序 消息收信方 用于消息发布 订阅和点对点消息传递的资源 消息通道 连接生产者 使用者与收信方的方法(使用端点) 消息端点 负责消息数据编码和解码的接口 消息适配器 用于定义消息传递实现 其选项包括使用DS或外部Java Message Service (JMS)提供者所提供的ActionScriptAdapter 或者 DS提供了许多有用的特性 包括 持久的消息队列 安全性和外部消息系统集成 DS将部署为WAR文件 它可以运行在任何Java EE Servlet容器(像Apache Tomcat或BEA WebLogic)中 ActionScriptAdapter消息提供者不要求任何额外的Java EE特性 本教程将介绍实现一个非常基本的消息传递应用程序的设置和配置
软件需求
本教程使用下列软件产品构建和运行消息传递应用程序
BEA Workshop Studio / Flex Bundle trial Adobe LiveCycle Data Services ES Apache Tomcat 应用程序概述
在本教程中 您将学习如何创建简单的Flex生产者和使用者客户端 Flex用户接口运行于Flash Player客户端 而DS是服务器端网关 向Flex客户端应用程序发送消息并接收来自Flex客户端应用程序的消息
多个Flex客户端可以发送和接收来自同一消息队列的消息 生产者用户接口将允许您向收信方发送消息 而使用者的用户接口将接收创建的消息 因此 当不含任何用户轮询代码的消息显示在屏幕上时 这就演示了DS的 数据推送 特性
图1给出了源文件一览 具体来说 我将重点关注
services config xml 定义messaging config xml文件用法和通道定义 messaging config xml 定义收信方和适配器 flex_client mxml 创建和接收消息的客户端代码
图1 已完成的应用程序中的消息传递文件一览(单击放大图片)
现在 我将介绍如何创建应用程序
构建应用程序的步骤
以下内容将介绍Flex项目的创建和应用程序的配置 以及应用程序的部署和运行
设置IDE
首先 下载和安装软件需求一节中提到的软件 并启动BEA Workshop Studio 接着 导入flex war文件 并创建新的Flex Server项目 (此文件随DS安装 DS的下载链接请参见软件需求一节 )
现在 选择File→Import 然后选择WAR文件选项 指定随DS提供的flex war文件的位置(在windows中默认位置是 C:\\lcds\\flex war) 将Web项目名称指定为flex_server
最后 选择Finish
图2 从DS导入flex war文件
配置Flex Server和应用程序
接下来 我们将配置flex_server消息传递应用程序 设置消息传递服务器端应用程序包括消息通道 端点 收信方和适配器的配置
编辑services config xml文件 编辑<services>部分中的server includes代码 只在配置中包括messaging config xml <services>
<service include file path= messaging config xml />
</services> 将以下内容添加到<channel>部分 此处的配置目标是用于消息收发的消息端点 此处创建的my polling amf通道将提供给messaging config xml文件中配置的收信方使用 <channel definition id= my polling amf class= ssaging channels AMFChannel >
<endpoint uri=//server name:server port/context root/messagebroker/amfpolling
class= ssaging endpoints AMFEndpoint />
<properties>
<polling enabled>true</polling enabled>
<polling interval seconds> </polling interval seconds>
</properties>
</channel definition> 下面是完整的services config xml文件 供您参考
<?xml version= encoding= UTF ?>
<services config>
<services>
<service include file path= messaging config xml />
</services>
<channels>
<channel definition id= my polling amf class= ssaging channels AMFChannel >
<endpoint uri=//server name:server port/context root/messagebroker/amfpolling
class= ssaging endpoints AMFEndpoint />
<properties>
<polling enabled>true</polling enabled>
<polling interval seconds> </polling interval seconds>
</properties>
</channel definition>
</channels>
<logging>
<target class= ssaging log ConsoleTarget level= Debug >
<properties>
<prefix>[Flex] </prefix>
<includeDate>true</includeDate>
<includeTime>true</includeTime>
<includeLevel>true</includeLevel>
<includeCategory>false</includeCategory>
</properties>
<filters>
<pattern>Endpoint *</pattern>
<pattern>Service *</pattern>
<pattern>Configuration</pattern>
</filters>
</target>
</logging>
<system>
<redeploy>
<enabled>false</enabled>
</redeploy>
</system>
</services config> 编辑messaging config xml文件以配置simple topic收信方 Flex Client应用程序将会引用它进行收发消息 更新opening service标记 在messageTypes中包括AsyncMessage类 <service id= message service
class= ssaging services MessageService
messageTypes= ssages AsyncMessage >
</service> 创建该simple topic收信方作为一个非持久性主题 它将使用上述services config xml文件定义的my polling amf通道 这是将用来收发消息的消息队列 <destination id= simple topic >
<properties>
<neork>
<session timeout> </session timeout>
<throttle inbound policy= ERROR max frequency= />
<throttle outbound policy= REPLACE max frequency= />
</neork>
<server>
<durable>false</durable>
</server>
</properties>
<channels>
<channel ref= my polling amf />
</channels>
</destination>
下面是完整的messaging config xml文件 供您参考
<?xml version= encoding= UTF ?>
<service id= message service
class= ssaging services MessageService
messageTypes= ssages AsyncMessage >
<adapters>
<adapter definition id= actionscript
class= ssaging adapters ActionScriptAdapter
default= true />
</adapters>
<destination id= simple topic >
<properties>
<neork>
<session timeout> </session timeout>
<throttle inbound policy= ERROR max frequency= />
<throttle outbound policy= REPLACE max frequency= />
</neork>
<server>
<durable>false</durable>
</server>
</properties>
<channels>
<channel ref= my polling amf />
</channels>
</destination>
</service> 创建服务器
现在我们可以创建运行应用程序的服务器
选择File→New→Other 选择Server→Server 选择Next 选择Apache→Tomcat v 选择Next
图 选择运行应用程序的服务器
指定Tomcat的安装位置 并选择要使用的JRE 选择Next
图 指定Tomcat服务器位置
选择Available项目列表中的flex_server 选择Add将项目添加到Configured项目列表 选择Finish
图 添加项目到 Configured项目列表
客户端应用程序
现在 我们将创建消息传递客户端应用程序
创建新的Flex Client Project 选择File→New→Project并指定Flex Project 然后选择Next
图 在BEA Workshop中创建Flex Project
指定Flex Data Services 选中 Compile application on the server when the page is viewed 选项 然后选择Next
图 配置 Flex Client应用程序数据访问方式
更新服务器属性(Root folder Root URL和Context root) 然后选择Next
图 配置Flex Server信息
指定flex_client作为Project名称 然后选择Finish
图 编辑project名称并结束
现在 我们需要创建客户端 更新项目创建的flex_client mxml页面 如下所示
<?xml version= encoding= iso ?> <mx:Application xmlns:mx= xmlns= * pageTitle= Flex Messaging Example Application creationComplete= mySubscriber subscribe() >
<! Messaging Declarations > <mx:Producer id= myPublisher destination= simple topic /> <mx:Consumer id= mySubscriber destination= simple topic message= receiveMessage(event) />
<! UI Declarations > <mx:Panel title= Ining Messages Panel > <mx:TextArea id= output backgroundColor= #eeeeee
width= height= /> </mx:Panel>
<mx:Panel title= Input Panel (type your text and click enter) > <mx:TextInput id= input width= enter= sendMessage() /> </mx:Panel>
<! Event Handling Script >
<mx:Script> <![CDATA[
import ssaging events MessageEvent; import ssages AsyncMessage;
private function sendMessage():void var msg:AsyncMessage = new AsyncMessage(); msg body = input text; myPublisher send(msg); input text = ;
private function receiveMessage(msgEvent:MessageEvent):void var msg:AsyncMessage = AsyncMessage(ssage); output text += msg body + \\n ;
]]> </mx:Script>
</mx:Application>
flex_client mxml中代码的作用
mx:Producer标记创建的类用于接收来自simple topic队列的消息 mx:Consumer标记创建的类用于创建simple topic队列中的消息 从收信方收到新的消息时 应用程序将调用receiveMesssage(事件)方法 该功能将显示在Ining Messages Panel的输出中 提交输入消息时 应用程序将调用sendMessage()方法 每一次被调用时 它都会为队列创建一个新的消息 方法是通过使用我们创建的mx:Producer发送该消息至服务器上的simple topic队列 Panel标记创建一个带有输入框和显示区的简单用户接口 运行应用程序
现在来运行这个应用程序!启动服务器
在J EE Perspective中 右键单击底部面板中的Tomcat服务器 然后选择Start
图 启动Tomcat服务器
在Flex项目中 右键单击flex_client mxml文件 然后选择Run As→Flex Application
图 运行flex_client mxml页
使用应用程序
要使用应用程序 请在Input Panel中输入您的消息文本 然后按下回车键 这样 消息将被发送到flex_server应用程序中的simple topic收信方
Consumer对象mySubscriber将从simple topic收信方接收消息 然后调用receiveMessage函数在Ining Messages Panel中显示消息
图 Flex Messaging应用程序
结束语
您已经构建了一个基本的Flex消息传递应用程序 它可以使用BEA Workshop Studio收发消息 DS可以提供消息传递功能 并且非常灵活 它允许您用极少的代码或配置实现异步应用程序通信 除了能够使用DS特定的消息传递之外 DS还支持Flex应用程序参与JMS消息传递 使异构系统的集成更加方便
自此 您可以参考 文档 学习更高级的Flex消息传递配置和使用方法
参考资料
观看视频 它演示了如何创建应用程序 Flex主页 Adobe Flex开发人员中心 使用BEA Workshop Studio和Java创建基于Flex的RIA 关于Adobe Developer Connection的文章 Flex消息传递文档 BEA的Workshop Studio Flex微指令 年 月 日之前有很大的折扣 原文出处 mel
cha138/Article/program/Java/hx/201311/27108相关参考
知识大全 使用JRockit 5.0运行BEA Workshop/Eclipse
使用JRockit5.0运行BEAWorkshop/Eclipse 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一
知识大全 js调用Flex中的方法并向flex中传参及flex调用js示例
js调用Flex中的方法并向flex中传参及flex调用js示例 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起
知识大全 WebLogic Workshop 8.1中处理不带命名空间模式
WebLogicWorkshop8.1中处理不带命名空间模式 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看
Flex简介 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 简介 MacromediaFlas
深度分析:Oracle收购JBoss&BEA开源kodo 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下
Flex开源框架汇总 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! Cairngorm Cai
BEATuxedo开发心得 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 两大卖点资源级事务可靠
Java+Flex整合应用简单示例 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! java J
程序员常用的Flex代码总结 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 刷新浏览器 nav
知识大全 集成Spring与BEA WebLogic Server
集成Spring与BEAWebLogicServer 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!