BlazeDS研究--在FlashBuilder下搭建BlazeDS应用环境

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 界面如下:
里面会要求设置tomcat的路径:

还需要将目前的工程加入到改tomcat服务中

最后运行该server就我们建立的动态网页工程就自动的运行了。
另外,我碰到过
问题: org.apache.catalina.core.AprLifecycleListener init  

信息: The Apache Tomcat Native library which allows optimal performance in production environments was

 not found on the java.library.path: C:/Java/jre/bin;.;C:/WINDOWS/Sun/Java/bin;C:/WINDOWS/system32;C:/WINDOWS

的错误,针对这个错误,只需要到  http://tomcat.heanet.ie/native/    下载编译好的 tcnative-1.dll 文件,目前最新为 1.1.14, 拷贝至 jdk/bin 下,再启动就可以成功加载 APR 了。


5、建立Flex工程连接BlazeDS

   可以选择samples中的任意一个flex源码建立flex工程,注意建里工程的时候应用服务器类型要选择j2ee 然后就BlazeDS,

    具体设置类似如下:

  


最后运行flash 就OK了
注:mysql下面需要先建立相应的数据库表,需要的字段可以在java的源码中找到。

你可能感兴趣的:(BlazeDS研究--在FlashBuilder下搭建BlazeDS应用环境)