将Spring应用部署到CloudFoundry.com很简单,就像SpringSource网站说的那样
在注册申请到Cloud Foundry beta账号后,第一件事请就是在STS for Eclipse中安装CloudFoundry的支持。这里有一份博客详细的说明了如何安装,这里就不在赘述。
为了部署运行一个使用数据库的应用,要比部署一个单独的应用多一点步骤,但也只是一点。
- 为了给应用分配数据库资源,首先必须声明使用的是哪个数据源。在Eclipse中打开Cloud Foundry server点击add按钮打开service控制盘。
- 在接下来的界面中,选择数据源的类型和名称。点击"Finish"按钮,这样,数据源就注册了。
- 在注册一个数据源后,需要告诉应用使用哪个数据源。简单的直接将数据源拖到Application Services面板。
以上就是服务器所需要的所有的配置。在部署应用之前,还需要一些改变以指定哪里需要数据源。
因为我部署的是一个Spring 应用,我需要改动 application context文件将数据源指定到Cloud Foundry的数据库,而不是指向本地。在Cloud Foundry的云上使用数据库带来的好处就是,你不用再去配置数据库了,你所需要的就是配置一下应用中的servlet-context.xml文件中的数据源。
这里看一下本地的配置:
对于本地的部署来讲配置通常看起来像这样:
2 |
class = "org.springframework.jdbc.datasource.DriverManagerDataSource" |
3 |
p:driverClassName = "${jdbc.driverClassName}" |
而对于在Cloud Foundry上的MySQL数据库配置是这样:
1 |
< cloud:data-source id = "dataSource" /> |
Spring3.1包含了一个新特性允许这些配置放在同一个context文件中,但是在Spring3中并没有这个特性,我们需要将规则的数据源配置(传统的)和新的cloud data-source的方式配置数据源中选择其中一种。
要使用新的cloud标签,servlet-context.xml需要做相关改变引入cloud 命名空间。
1 |
< beans xmlns = "http://www.springframework.org/schema/beans" |
2 |
... xmlns:cloud = "http://schema.cloudfoundry.org/spring" |
3 |
... http://schema.cloudfoundry.org/spring |
4 |
http://schema.cloudfoundry.org/spring/cloudfoundry-spring-0.6.xsd"> |
部署应用的最后一步是添加Cloud Foundry的支持。可以通过在应用的pom.xml文件中添加以下依赖的方式添加Cloud Foundry支持。
3 |
< groupId >org.cloudfoundry</ groupId > |
4 |
< artifactId >cloudfoundry-runtime</ artifactId > |
5 |
< version >${org.cloudfoundry-version}</ version > |
8 |
< org.cloudfoundry-version >0.6.0</ org.cloudfoundry-version > |
在这些改变都OK后,Cloud Foundry应用就可以通过STS for eclipse控制应用的部署,启动和停止。
时间:2012-07-16 21:58
来源:中国开源社区
作者:王振威
原文链接