BlazeDS简介:
BlazeDS 是一个基于服务器的 Java 远程控制 (remoting) 和 Web 消息传递 (messaging) 技术,以LGPL(Lesser GNU Public License)公共许可证书发布。它能够使得后端的 Java 应用程序和运行在浏览器上的 Adobe Flex 应用程序相互通信。在Java应用服务器上,它以servlet的形式存在, 因此可以在任何标准Java网络应用中运用它。
开发环境:
IDE: eclipse-jee-galileo-SR1-win32.zip
FlashBuilder4 beta2 release
发布环境: xampp-win32-1.7.3 +Tomcat 6.0.20(XAMPP for Windows Add-Ons)
SVN工具: subclipse 1.6
BlazeDS: BlazeDS SVN地址
ps: 由于是开发,所以使用了eclipse java开发的j2ee版 稍微大些,不过东西比较全,然后不是全手工配置apache mysql 和tomcat 而是使用了xampp 这个集成的环境,为搭建开发环境省了很多事。另外由于是个人研究所以使用的是BlazeDS的svn上的源码,如果是正式使用可以使用经过测试的 Turkey版。
ps:大概的说下svn下blazeDS的文件夹,我们用到的大概会是
apps/samples 这个里面的是需要放入tomcat下运行的
apps/samples/WEB-INF/flex-src 这里是客户端的源码
apps/samples/src 这里是相应服务器端的源码
modules 这里是BlazeDS提供messaging 和 remoting功能的java实现类
lib 这里有一些jar包 modules中编译好的jar包也会输出到这里
sampledb 本来是例子中用到的数据,不过出于习惯我把他替换成了mysql (在xampp中有)
servers 里是可以独立运行的tomcat 不过我也打算用xampp中集成tomcat 所以也没打算用这个
其他的大多用不上。
这个svn的东西比较多,而且在国外网站上,所以如果网络不好的话,第一次下载需要一点耐性。
搭建步骤:
1、安装JDK、解压eclipse、安装FLashBuilder4 beta2、and 等等,同flexbuilder安装步骤,注:我这里用得是
FlashBuilder4的 eclipse插件版,为的是能使用j2ee的java开发功能。
2、配置tomcat,也很简单,解压缩xampp,然后把 add-ons 版的 tomcat解压缩放进xammp的目录里,然后启动
xampp后 tomcat就OK了 就是这么简单
搭建成功测试方法
当然我们的目的是能够在eclipse下调试blazeDS的内容,所以这样还是不够的。
3、 编译modules中的java代码,一共有common、core、opt、proxy、remoting这个五个包需要编译,里面有 build.xml,正常情况下选中这个xml反键用ant编译一下就好了。如果是第一次这样编译JAVA,根据个人环境不同会有碰到编译失败的情况,这 个就不说了,不算太难,google下、百度下都能解决。
4、下面就开始要进入主题了,前面折腾了那么多,就是为了能搭建一个BlazeDS能跑的环境。那么以Adobe提供的samples为准,想办法让samples跑起来我们就成功了。
那么我建了一个叫MyBlazeDS的Dynamic web project(动态网页工程),将samples里的java源码拷贝到这里的src文件夹里,并且讲WEB-INF的文件夹也复制过来,里面多是些配 置文件,tomcat通过这些配置文件启动其web服务。基本上不用改。
然后在MyBlazeDS里的WEB-INF中建一个lib文件夹,将前面编译好的jar包拷过来,另外需要一个logging的jar包,和 mysql connector的jar,一般搞java的应该都有,没有可以到网上去google一下。除此之外我还把blazeDS的lib里的 commons-codec 和 common-httpclient都拷过来了。这样基本都好了。
为了使用mysql,samples 的java 源码里的ConnectionHelper需要修改
我自己的的是改成:
Class.forName("com.mysql.jdbc.Driver");
url = "jdbc:mysql://localhost:3306/blazedsdb?"+"user=root";
根据自己的mysql配置不同,后面的url会有点不一样。
由于,原来使用的是HSQLDB,改成mysql之后,有些java代码需要修改,例如:ProductService中的create里
ResultSet rs = s.executeQuery("CALL IDENTITY()");
需要改成
ResultSet rs = s.executeQuery("SELECT LAST_INSERT_ID()");
只是需要去掉注释即可。
下面这一步稍微麻烦点,java的源文件是不能使用的需要编译撑class文件,并且放在WEB-INF目录下。所以需要自己些一个build.xml .本人对java也是只懂皮毛。所以就拿BlazeDS里现有的build.xml文件照葫芦画瓢弄了一个,目前没有发现什么问题
在build成功之后会在WEB-INF目录下多出一个flex目录,里面都是class文件
最后在JavaEE的编译环境中最下方会有一个server的tab页,如果没有可以到windows->show view里调出来。在server里new一个server 界面如下: