`

整合 java + BlazeDS + spring + JDO 部署到 app 上.

    博客分类:
  • java
阅读更多

先看到 一篇 部署到 app 上面的文章.

http://www.iteye.com/topic/428326

 

感谢这个兄弟的研究.

 

 

 

先说昨天写的一篇 文章.

 

http://toeo.iteye.com/admin/blogs/641211

 

讲到 如果 创建 一个 java 和 BlazeDS的工程. 并且工程文件是放到一起的.

 

flex 和 J2EE 一起开发.

 

现在将工程 可以运行 app 上面. 开发 的东西直接部署到 google的服务器上面.

 

工程代码很简单.

 

一个pojo.

 

@PersistenceCapable(identityType = IdentityType.APPLICATION)
public class SystemUser implements Serializable {

	private static final long serialVersionUID = 5679860749390605118L;

	@PrimaryKey
	@Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
	private Long id;

	@Persistent
	public String loginName;

	@Persistent
	public String passwd;
......

 

一个dao.

 

public class SystemUserDAO extends JdoDaoSupport {

......

/**
	 * 保存数据.
	 */
	public String saveSystemUser(SystemUser systemUser) {
		String countNo = "";
		PersistenceManager pm = getPersistenceManager();
		try {
			if (systemUser.getId() == null) {
				systemUser.setCreateDate(new Date());
				pm.makePersistent(systemUser);
			} else {
				SystemUser tempSystemUser = pm.getObjectById(SystemUser.class,
						systemUser.getId());
				tempSystemUser.setLoginName(systemUser.getLoginName());
				tempSystemUser.setPasswd(systemUser.getPasswd());
				tempSystemUser.setName(systemUser.getName());
				tempSystemUser.setPhone(systemUser.getPhone());
				tempSystemUser.setEmail(systemUser.getEmail());
				tempSystemUser.setIslock(systemUser.getIslock());
				tempSystemUser.setLoginTimes(systemUser.getLoginTimes());
				tempSystemUser.setLastLogin(systemUser.getLastLogin());
				pm.makePersistent(tempSystemUser);
			}
			Query query = pm.newQuery("select count(id) from "
					+ SystemUser.class.getName());
			/** 强制转换成int */
			countNo = "" + Integer.parseInt(query.execute("Smith").toString());
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			pm.close();
		}
		return countNo;
	}

......
 

一个远程调用的方法.

 

public class ROService {

	public ROService() {
		System.out.println("初始化类.");
	}

	private SystemUserDAO systemUserDAO;

	public String helloWorld() {
		SystemUser systemUser = new SystemUser();
		systemUser.setCreateDate(new Date());
		systemUser.setLoginName("123456");
		systemUser.setPasswd("1223");
		System.out.println("函数被调用.");
		return "保存一个新类.总共有:\t" + systemUserDAO.saveSystemUser(systemUser)
				+ "条记录.";
	}

 

flex 远程调用.

 

 <mx:Script>
    <![CDATA[
      import mx.rpc.remoting.mxml.Operation;
      private function callIt():void
      {
        var op:Operation = roHello.getOperation("helloWorld") as Operation;
        op.send();
      }
    ]]>
  </mx:Script>
  
  <mx:RemoteObject id="roHello" destination="helloClass"/>
    
  <mx:Label text="Hello from BlazeDS!" fontSize="14" fontWeight="bold"/>
  
  <mx:Button label="Click to say hello" click="callIt()"/>
  
  <mx:Label text="{roHello.helloWorld.lastResult}"
    fontSize="14" fontWeight="bold"/>
 

 

更新插件.

 

将eclipse的 插件更新到 最新的 4 月 11 日的版本.(3 月的版本是不可以的.报错误.启动不了.)

 

然后选择工程的 属性.

 




添加 SDK.

 


修改 flex 的服务器路径 然后重新编译.flex.

 

然后按照 那个兄弟的方法.

 

 

1 .修改WEB-INF/appengine-web.xml,在<appengine-web-app> 下加入这句:
<sessions-enabled>true</sessions-enabled> 

 

2. 修改WEB-INF/flex/services-config.xml,在<system>下加入下句:
<manageable>false</manageable> 

3.

替换WEB-INF/lib/flex-messaging-core.jar(基于blazeds-src- 3.2.0.3978)

文件下载地址.

 

http://dl.iteye.com/topics/download/25a933ff-c336-3387-9c9b-a5b00ae4cf68

 

 

 

2010-4-11 23:32:29 com.google.apphosting.utils.jetty.JettyLogger info
信息: Logging to JettyLogger(null) via com.google.apphosting.utils.jetty.JettyLogger
2010-4-11 23:32:29 com.google.apphosting.utils.config.AppEngineWebXmlReader readAppEngineWebXml
信息: Successfully processed E:\new_workspace\workspace_win_3.4_flex\chapter24_test\WebContent\WEB-INF/appengine-web.xml
2010-4-11 23:32:29 com.google.apphosting.utils.config.AbstractConfigXmlReader readConfigXml
信息: Successfully processed E:\new_workspace\workspace_win_3.4_flex\chapter24_test\WebContent\WEB-INF/web.xml
初始化类.
The server is running at http://localhost:8888/

 启动的时候 比以前的版本多了些日志.

 

 

 

测试. 调用jdo.成功.调用 flex 成功.

 

然后配置 spring 2.0.7整合

 

 

spring 不用太高的版本.用 spring 2.0.7 就行.

 

发现 其实在 BlazeDS 里面就支持spring呢.

 

1.要有一个 SpringFactory

 

相信见附件.

 

 

2. 在services-config.xml中

<factories>
        <factory id="spring" class="com.spring.factories.SpringFactory" />
    </factories>

3.在remoting-config.xml中

 <destination id="helloClass" channels="my-amf">
        <properties>
            <factory>spring</factory>
            <scope>application</scope>
            <source>helloClass</source>
        </properties>
    </destination>
 
4.在spring配置中加入

<bean id="systemUserDAO" class="com.freewebsys.dao.SystemUserDAO">
        <property name="persistenceManagerFactory">
            <ref bean="pmf" />
        </property>
    </bean>
   
    <bean id="helloClass" class="flex3Bible.ROService"/>

 

这样在点击的时候就可以调用 jdo 进行保存.

 

在使用Google app的服务的时候.jdo如果jdo调用出错是由于 jar 文件引用重复.

 


 

将 WebContent 下面的 那个 app的jar 都不要引用..和 sdk的jar 重复.

 

 

附件是  源文件 去掉 jar 包.

 

修改配置文件的服务器路径.修改成你自己申请的名称.



选择工程右键直接可以部署到google app 上面.(怎么申请帐号部署略)

 

我的应用访问地址.

 

http://myflexeye.appspot.com/flex_web/CallOperation.html

 

访问页面显示结果.

 


 

服务调用成功.

 

[下面继续做一个简单的CRUD.部署到app上面.]

 

  • 大小: 20.9 KB
  • 大小: 19.9 KB
  • 大小: 25.7 KB
  • 大小: 7.7 KB
  • 大小: 31.2 KB
  • 大小: 11.2 KB
  • 大小: 2.2 KB
  • 大小: 6 KB
0
2
分享到:
评论

相关推荐

    PureMVC+Flex+BlazeDS+Spring+Hibernate.doc

    标题中的“PureMVC+Flex+BlazeDS+Spring+Hibernate.doc”指的是一项整合了多种技术的Web应用开发方案,这些技术包括PureMVC、Flex、BlazeDS、Spring和Hibernate。这篇文档可能是指导读者如何将这些技术结合在一起...

    flex + spring + BlazeDS + google App JDO 实现一个CRUD.

    标题中的“flex + spring + BlazeDS + google App JDO 实现一个CRUD”是指使用Adobe Flex作为前端开发工具,Spring框架作为后端服务层,BlazeDS作为数据推送中间件,以及Google App Engine的JDO(Java Data Objects...

    MyEclipse7.5+flex4+spring3.0.5+struts2.2.1+hibernate3.6.0+blazeds4.0.0.14931完美整合方案

    本方案提供了一种集成化的开发环境,即"MyEclipse7.5+flex4+spring3.0.5+struts2.2.1+hibernate3.6.0+blazeds4.0.0.14931完美整合方案",它将多个流行的技术框架整合在一起,为Web应用程序开发提供了一个强大的平台...

    认真做 flex + spring + blazeDS + google app JDO 分页.每次查询总数.

    标题中的“flex + spring + blazeDS + google app JDO 分页”揭示了这是一个关于构建分布式应用的技术组合,其中涉及前端开发、后端服务以及数据管理。让我们深入了解一下这些技术及其在分页应用中的作用。 Flex是...

    Flex+JAVA+BlazeDS开发环境配置(Java工程和Flex工程独立)

    在 BlazeDS 中,AMF 能够直接映射到 Java 对象,减少了数据序列化和反序列化的开销,简化了客户端和服务器端的数据交换。 BlazeDS 的核心功能包括远程调用服务和消息传递服务。远程调用服务允许 Flex 客户端直接...

    Flex4.X+BlazeDS+Spring3L实战开发在线书店四

    【标题】"Flex4.X+BlazeDS+Spring3实战开发在线书店四"涉及的核心技术栈是Adobe Flex 4.6、BlazeDS、Spring 3框架以及Java相关的JPA和Hibernate,配合MySQL数据库实现一个在线书店的完整系统。下面将详细阐述这些...

    flex+Spring+Hibernate+Cairngorm+BlazeDS+Spring BlazeDS Integration整合框架

    使用flex 4.5 + Spring 3.0 + Hibernate 3.3 + Cairngorm 2.2.1 + BlazeDS 3.3.0 + Spring BlazeDS Integration 1.0.3整合出的一个登录的小demo·

    Flex4.X+BlazeDS+Spring3L实战开发在线书店二

    综上所述,这个在线书店的开发实例结合了Flex 4.6的富用户体验、BlazeDS的数据通信能力、Spring 3的依赖注入和业务管理、JPA的持久化机制以及Hibernate和MySQL的数据库支持。通过学习和实践这个项目,你将能够掌握...

    Flex4.5 + Tomcat6.0 + MyEclipse 9.0+ Java+Blazeds环境配置和使用

    5. **项目发布**:通过MyEclipse的部署功能,将Flex项目发布到配置好的Tomcat服务器上。 6. **测试运行**:启动Tomcat服务器,通过浏览器访问项目URL,检查Flex应用是否正常运行,与Blazeds服务的通信是否顺畅。 ...

    flex+java+spring+hibernate+blazeds整合

    《Flex+Java+Spring+Hibernate+BlazeDS整合详解》 在现代的Web开发中,Flex作为客户端的富互联网应用程序(RIA)框架,与Java、Spring、Hibernate等后端技术结合,可以构建出高效、交互性强的Web应用。本文将详细...

    Flex4.X+BlazeDS+Spring3L实战开发在线书店三

    《Flex4.X+BlazeDS+Spring3 实战开发在线书店》是一门深入探讨使用Adobe Flex 4.6、BlazeDS、Spring 3框架以及Java相关技术进行Web应用程序开发的课程。这门课程旨在帮助开发者掌握如何构建功能丰富的、交互性强的...

    Flex + blazeds + Java推送

    Flex + blazeds + Java推送Demo 本例实现由Flex一端客户端发送消息, 然后由Java端在发布到所有订阅的其它Flex端. 里面有说明与源码, 还有一个直接放到Tomcat里面的直接发布的项目 小编使用工具 eclipse3.5 flex sdk...

    flex+blazeds+spring

    标题“flex+blazeds+spring”表明我们要探讨的是如何将Flex前端与BlazeDS中继层和Spring后端框架结合起来,实现完整的数据交互和应用程序逻辑。 在Flex与Spring集成的环境中,Flex作为用户界面展示层,负责与用户...

    Flex+J2EE实例(cairngorm+blazeDS+hibernate+spring)完整版本

    一个 Flex+J2EE实例(cairngorm+blazeDS+hibernate+spring) 本实例为一个 flex 与 java通信项目。前端采用cairngorm框架,后台 采用hibernate+spring 每个部署 步骤,附详细 图文解释。旨在 采用 一种快速开发 ...

    flex4.5+java+spring+blazeds通信

    ### Flex4.5 + Java + Spring + BlazeDS 通信整合详解 #### 一、概述 在现代企业级应用开发中,前后端分离架构已经成为主流趋势之一。本文将详细介绍如何使用Flex 4.5、Java、Spring框架以及BlazeDS进行前后端之间...

    spring+blazeDS+flex4 例子

    在“spring+blazeDS+flex4 例子”项目中,我们看到一个完整的集成示例。该项目可以直接运行,所有必要的jar包都已包含。首先,我们需要在Spring配置中定义BlazeDS的通道配置和服务接口。然后,在Flex4的MXML或AS3...

Global site tag (gtag.js) - Google Analytics