BlazeDS配置实例

article/2025/9/13 11:07:55
.什么是BlazeDS

BlazeDS is the server-based Java remoting and web messaging technology that enables developers to easily connect to back-end distributed data and push data in real-time to Adobe® Flex® and Adobe AIR™ applications for more responsive rich Internet application (RIA) experiences.

BlazeDS consists of three key services:
1.The Remoting Service allows your Flex application to directly invoke methods of Java objects deployed in your application server.
2.The Message Service provides a publish/subscribe infrastructure that allows your Flex application to publish messages and subscribe to a messaging destination, enabling the development of real-time data push and collaborative applications.
3.The Proxy Service allows your Flex application to make cross-domain service requests in a secure and controlled manner. In other words, it allows your Flex application to access a service available on a different domain than the domain from where the application was downloaded (without having to deploy a crossdomain.xml policy file on the target domain).[Christophe Coenraets Adobe http://www.adobe.com/devnet/livecycle/articles/blazeds_gettingstarted.html]

2.配置BlazeDS,并使之正常运作

2.1 准备工作
FlexBuilder,Tomcat,Eclipse.
在此之前,你至少需要学会启动或停止Tomcat服务器,并了解它的一些大致情况,同时你需要学会编写一个简单的java类,并编译它.
BlazeDS:
BlazeDS首页:http://opensource.adobe.com/wiki/display/blazeds/BlazeDS,有关于BlazeDS的详细介绍与相关文档,下载地址.
BlazeDS下载地址:http://download.macromedia.com/pub/opensource/blazeds/blazeds_turnkey_3-0-0-544.zip
BlazeDS开发指南下载地址:http://livedocs.adobe.com/blazeds/1/blazeds_devguide/blazeds_devguide.pdf
2.2 配置BlazeDS
将zip包内的blazeds.war文件解压到应用服务器的部署目录下,如:[tomcat-home]/webapps.
重启Tomcat
简要介绍下blazeds文件夹:
/WEB-INF配置文件包,内有:
/classes      用来放置Flex应用程序需要使用到的Java class
/flex           有四个XML格式的配置文件,现在我们只需要了解remoting-config.xml,在该文件中添加destination来配置Flex应用程序与Java class的连接,通过这个文件,架起Flex程序与Java Class之间的桥梁.

3.测试
3.1创建一个新的Java项目来配置BlazeDS,向web应用中添加Java类。

在Eclipse中创建新工程,选择从现有资源中创建,命名为“HelloWorld_server” ,使用先前部署的BlazeDS.WAR的WEB_INF文件夹路径,如:[tomcat-home]/webapps/blazeds/WEB-INF/,在build路径下添加src目录 ,将WEB-INF/classes目录作为输出目录,创建一个名为HelloWorld.java的新Java类,类的定义为:

view plain copy to clipboard print ?
  1. public class HelloWorld {   
  2. public String sayHello(String name) {   
  3. return "hello, " + name;   
  4. }   
  5. }  

如果你不太熟悉这一步操作,也可以手工编写该java文件,使用javac命令编译为java class文件.
但不论如何,产生的HelloWorld.class必须在WEB-INF/classes目录中.

3.2配置BlazeDS

配置BlazeDS,使它支持Flex与Java进行远程通信。配置WEB-INF/flex文件夹下的config.xml文件,具体配置可参照如下代码:

view plain copy to clipboard print ?
  1. <DESTINATION id=HelloWorld>       
  2.     <PROPERTIES>           
  3.         <SOURCE>HelloWorld</SOURCE>     
  4.     </PROPERTIES>  
  5. </DESTINATION>  
重新启动Tomcat;

3.3新建一个Flex应用程序,测试连接

创建一个新Flex项目,将项目命名为“HelloWorld_client”,应用服务器类型则选择“J2EE” ,ProjectLocation指用于存放工程文件的目录,指定为你想存放的位置即可.

image

选择“Use remote object access service”和LiveCycle Data Services

Next:

image

将根ULR声明为:http://localhost:8080/blazeds(端口号由应用服务器配置决定)

在Tomcat运行的情况下,检查配置的结果应为:The web root folder and root URL are valid.

确定配置并点击“完成”

将HelloWorld_client.mxml修改为如下:

view plain copy to clipboard print ?
  1. <?xml version="1.0" encoding="utf-8"?>  
  2.  <MX:APPLICATION xmlns:mx="http://www.adobe.com/2006/mxml">  
  3.    <MX:REMOTEOBJECT id=ro destination="HelloWorld" />  
  4.    <MX:TEXTINPUT id=n change="ro.sayHello(n.text)" />  
  5.    <MX:LABEL text="{ro.sayHello.lastResult}" />  
  6.  </MX:LABEL></MX:TEXTINPUT></MX:REMOTEOBJECT></MX:APPLICATION>  


运行该应用,在文本框中输入内容,随着文本框内容改变,显示的内容也随着改变.如下图:

image

解说:

该Flex应用使用RemoteObject来与服务器通信。当用户在文本框中输入内容时,文本框的触发并广播change事件,从而通过已配置的RemoteObject向服务器发出请求。服务器向已经配置的的远程Java类发送请求,返回 “Hello,”+发送值的字符串。在对象返回值的时候,这个返回值会系列化到AMF中,进而返回给Flex应用。RemoteObject将该值赋值给ro.lastResult,该过程完成后,Label通过RemoteObject上的result事件获得Hello riashanghai.com,并打印出来.

4.实际应用

在之前发布的<完整Flex程序+详细解释之便条管理系统(Tree/回溯/XML/Event) Annotated Flex Sample Application: Note Management>中,我们简要的介绍了将数据存储于SharedObejct中的简单便条管理系统,现在我们开始着手开发存储与服务器端的应用.

简要描述:通过分析,只需要修改先前程序的loadXML与SaveXML两个函数即可实现存储于服务器端.

简单起见,服务器端仍旧使用XML存储数据.

在server端,编写一个xmlserver类,该类将实现loadxml与savexml的功能.

在client端,使用RemoteObject与Java进行通信.


http://chatgpt.dhexx.cn/article/qjqy9wx5.shtml

相关文章

Bazel

bazel&#xff1a;是一个可以快速构建和测试任意规模软件的编译工具&#xff0c;能够用来编译大部分语言。Bazel使用分布式缓存和增量构建方法&#xff0c;使得编译更加快速。 Bazel 主要文件 使用 Bazel 管理的项目一般包含以下几种 Bazel 相关的文件&#xff1a;WORKSPACE&a…

BlazeDS

BlazeDS 为使用Flex 或者AIR 的客户端程序提供了高度可扩展的远程访问和消息服务。 blazeds :是一门技术&#xff0c;是一门面向AS的前后台通讯框架 在服务器端&#xff1a;提供3种服务&#xff0c;远程调用&#xff08;remoting-config.xml中配置&#xff09;&#xff0c;访问…

Blazeds(一)

Blazeds体系结构 一个Blazeds应用包含了一个运行在浏览器或者Adobe AIR的客户端应用并且和J2EE应用服务端通信。客户端可以是Flex也可以是结合Flex、HTML/JavaScript的应用程序。 整个体系主要包括通道、端点、消息、服务、目的地、适配器等&#xff0c;把这些搞懂也就…

Blazor 简介

Blazor 是一个用于使用 .NET 生成交互式客户端 Web UI 的框架&#xff1a; 使用 C# 代替 JavaScript 来创建丰富的交互式 UI。共享使用 .NET 编写的服务器端和客户端应用逻辑。将 UI 呈现为 HTML 和 CSS&#xff0c;以支持众多浏览器&#xff0c;其中包括移动浏览器。 使用 .…

blaze介绍

sklearn实战-乳腺癌细胞数据挖掘 https://study.163.com/course/introduction.htm?courseId1005269003&utm_campaigncommission&utm_sourcecp-400000000398149&utm_mediumshare 项目联系 QQ&#xff1a;231469242 FICO FICO&#xff08;NYSE: FICO&#xff09;是全…

BlazePose

摘要 我们提出了BlazePose&#xff0c;一种轻量级卷积神经网络架构&#xff0c;用于人体姿态估计&#xff0c;可用于移动设备上的实时推断。在推理过程中&#xff0c;网络为一个人产生33个身体关键点&#xff0c;在Pixel 2手机上以每秒30帧以上的速度运行。这使得它特别适合姿态…

BlazeDS介绍

概况 BlazeDS是用来处理J2EE服务器与远程客户端之间远程通信的组件,它以Servlet的形式部署在J2EE容器里,专门负责处理通信。一般而言,远程客户端采用Flex编写,因为Flex组件中对通信细节进行了良好的封装,使得Flex程序员不必关心通信细节。 图1 BlazeDS概况 BlazeDS应用程…

初探blazeDS

blazeDS是一套面向actionscript的前后台通信框架。 在服务器端&#xff0c;blazeDS以servlet的方式存在于java应用服务器上。它默认提供3中服务&#xff0c;远程调用&#xff08;在remoting-config.xml中配置&#xff09;、访问代理&#xff08;proxy-config.xml&#xff09;、…

BlazeDS详解

一、Blazeds初步 客户端应用 Blazeds包括客户端和服务端应用。客户端应用是典型的Adobe flex或者AIR应用。Flex和AIR应用使用flex组件和blazeds服务通信&#xff0c;包括Remote Object、HTTPService、WebService、Produce和Consumer。其中的HTTPService、WebService、Produce和…

MySQL配置Amoeba中间件

MySQL配置Amoeba中间件 Amoeba介绍环境配置安装Amoeba配置Amoeba配置文件配置dbServers.xml&#xff0c;设置数据库&#xff0c;登录MySQL的账号和密码 启动Amoeba注意事项 Amoeba介绍 Amoeba是一个以MySQL为底层数据存储&#xff0c;并对应用提供MySQL协议接口的proxy。它集中…

MySQL主从复制和基于Amoeba的读写分离部署

文章目录 MySQL主从复制和基于Amoeba读写分离什么是主从复制&#xff1f;为什么要有MySQL主从复制&#xff1f;什么是读写分离&#xff1f;一、MySQL主从复制原理二、主从复制的工作过程三、主从复制方式1、异步复制方式2、半同步复制/增强半同步复制3、全同步复制4、多线程复制…

amoeba mysql下载_amoeba数据库中间件透明实现MYSQL读写分离

Amoeba(变形虫)项目,该开源框架于2008年 开始发布一款 Amoeba for Mysql软件。这个软件致力于MySQL的分布式数据库前端代理层&#xff0c;它主要在应用层访问MySQL的 时候充当SQL路由功能&#xff0c;专注于分布式数据库代理层(Database Proxy)开发。座落与 Client、DB Server(…

mysql amoeba_MySQL基于Amoeba实现读写分离

读写分离应用分析&#xff1a; 在企业用户中&#xff0c;在大量的数据请求下&#xff0c;单台数据库将无法承担所有读写操作。解决方法: 配置多台数据库服务器以实现主从复制读写分离。 1、基于程序代码内部实现 在代码中根据select、 insert 进行路由分类&#xff0c;这种方法…

mysql amoeba 配置_Amoeba新版本MYSQL读写分离配置

官方简介 Amoeba的中文意思是变型虫 主要解决&#xff1a; • 降低 数据切分带来的复杂多数据库结构 • 提供切分规则并降低 数据切分规则 给应用带来的影响 • 降低db 与客户端的连接数 • 读写分离 个人简单描述 可能你还没明白Amoebla这鬼东西主要干麻的呢&#xff01;比方说…

amoeba mysql_Mysql 基于 Amoeba 的 读写分离

首先说明一下amoeba 跟 MySQL proxy在读写分离的使用上面的区别&#xff1a; 在MySQL proxy 6.0版本 上面如果想要读写分离并且 读集群、写集群 机器比较多情况下&#xff0c;用mysql proxy 需要相当大的工作量&#xff0c;目前mysql proxy没有现成的 lua脚本。mysql proxy根本…

amoeba mysql binary_amoeba安装与实现amoeba for mysql读写分离

运行环境 l CentOS6.3 l Jdk1.6.0_30 l amoeba-mysql-binary-2.2.0 l amoeba&#xff1a;192.168.88.17 l master1&#xff1a;192.168.88.10 l slave1&#xff1a;192.168.88.11 一&#xff1a; 安装jdk1.5以上版本 1.1 卸载centos服务器自带版本jdk 1.1.1 …

amoeba-mysql主从复制配置

amoeba-mysql主从复制配置 主mysql192.168.8.186 1. 同步时间ntpdate ntp.org.cn 2. 打开mysql配置文件/etc/my.cnf&#xff0c;在mysqld下添加 a) log-binmaster-bin ---------启动二进制日志系统 b) server-id1 ---------服务id&#xff0c;主服务器server-id比从服务器serv…

mysql amoeba 事务_MySQL-Amoeba

Amoeba 变形虫 Amoeba 变形虫服务默认端口号8066 该软件能识别读写请求&#xff0c;把读写请求分配到不同的后端MySQL服务器 不用像MySQL-router用端口进行区分读写。 实验: 为了查看读写分离效果 本实验就不配置主从复制 1、 首先IP规划 amoeba:192.168.1.76 master:192.168.1…

amoeba mysql proxy_mysql-proxy和amoeba 分别实现Mariadb读写分离

内容概览&#xff1a; 1、mysql-proxy实现Mariadb读写分离 1、1 拓扑图和环境介绍 1、2 mysql-proxy安装 1、3 设置mysql-proxy 1、4 主节点添加mysql-proxy可访问用户 1、5 读写分离验证 2、amoeba 2、1 amoeba工作原理图 2、2 环境拓扑 2、3 配置JAVA环境 2、4 安装配置amoeb…

amoeba mysql_使用Amoeba 实现MySQL DB 读写分离

Amoeba(变形虫)项目是一个开源框架&#xff0c;于2008年开始发布一款 Amoeba for MySQL软件&#xff1b; 这个软件致力于MySQL的分布式数据库前端代理层&#xff0c;它主要在应用层访问MySQL的时候充当SQL路由功能&#xff0c;专注于分布式数据库代理层(Database Proxy)开发&am…