将Spring应用部署到很简单
就像SpringSource网站说的那样在注册申请到Cloud Foundry beta账号后
第一件事请就是在STS for Eclipse中安装CloudFoundry的支持
这里有一份博客详细的说明了如何安装
这里就不在赘述
为了部署运行一个使用数据库的应用要比部署一个单独的应用多一点步骤但也只是一点
为了给应用分配数据库资源首先必须声明使用的是哪个数据源在Eclipse中打开Cloud Foundry server点击add按钮打开service控制盘
在接下来的界面中选择数据源的类型和名称点击Finish按钮这样数据源就注册了
在注册一个数据源后需要告诉应用使用哪个数据源简单的直接将数据源拖到Application Services面板
以上就是服务器所需要的所有的配置在部署应用之前还需要一些改变以指定哪里需要数据源
因为我部署的是一个Spring 应用我需要改动 application context文件将数据源指定到Cloud Foundry的数据库而不是指向本地在Cloud Foundry的云上使用数据库带来的好处就是你不用再去配置数据库了你所需要的就是配置一下应用中的servletcontextxml文件中的数据源
这里看一下本地的配置
对于本地的部署来讲配置通常看起来像这样
<bean id=dataSource
class=orgspringframeworkjdbcdatasourceDriverManagerDataSource
p:driverClassName=${jdbcdriverClassName}
p:url=${jdbcurl} />
而对于在Cloud Foundry上的MySQL数据库配置是这样
<cloud:datasource id=dataSource
/>
Spring包含了一个新特性允许这些配置放在同一个context文件中但是在Spring中并没有这个特性我们需要将规则的数据源配置(传统的)和新的cloud datasource的方式配置数据源中选择其中一种
要使用新的cloud标签servletcontextxml需要做相关改变引入cloud 命名空间
<beans xmlns=/schema/beans
…
xmlns:cloud=sch/spring
…
sch/spring
sch/spring/cloudfoundryspringxsd>
部署应用的最后一步是添加Cloud Foundry的支持可以通过在应用的pomxml文件中添加以下依赖的方式添加Cloud Foundry支持
<! CloudFoundry >
<dependency>
<groupId>orgcloudfoundry</groupId>
<artifactId>cloudfoundryruntime</artifactId>
<version>${orgcloudfoundryversion}</version>
</dependency>
<properties>
<orgcloudfoundryversion></orgcloudfoundryversion>
</properties>
在这些改变都OK后Cloud Foundry应用就可以通过STS for eclipse控制应用的部署启动和停止