部署基于Spring与数据库的应用到CloudFoundry

开发 架构 后端
将Spring应用部署到CloudFoundry.com很简单,就像SpringSource网站说的那样在注册申请到Cloud Foundry beta账号后,第一件事请就是在STS for Eclipse中安装CloudFoundry的支持。详细请看下文

将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文件中的数据源。

这里看一下本地的配置:

对于本地的部署来讲配置通常看起来像这样:

  1. <bean id="dataSource" 
  2.  class="org.springframework.jdbc.datasource.DriverManagerDataSource"   
  3. p:driverClassName="${jdbc.driverClassName}" 
  4. p:url="${jdbc.url}" /> 

而对于在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支持。

  1. <!-- CloudFoundry --> 
  2. <dependency> 
  3.   <groupId>org.cloudfoundry</groupId> 
  4.   <artifactId>cloudfoundry-runtime</artifactId> 
  5.   <version>${org.cloudfoundry-version}</version> 
  6. </dependency> 
  7. <properties> 
  8.   <org.cloudfoundry-version>0.6.0</org.cloudfoundry-version> 
  9. </properties> 

在这些改变都OK后,Cloud Foundry应用就可以通过STS for eclipse控制应用的部署,启动和停止。

OSChina.NET原创翻译/原文链接

责任编辑:林师授 来源: OSChina.NET
相关推荐

2010-03-15 14:03:37

CloudSwitch迁移应用到云端

2017-09-25 15:49:01

2018-11-13 10:40:01

区块链汽车大数据

2018-02-05 00:02:48

WANSDN网络

2021-11-12 14:10:53

IT大数据大数据应用

2013-01-18 11:28:27

应用推广

2010-03-16 15:38:57

Python串口

2010-03-16 15:38:57

Python串口

2023-09-06 08:12:04

k8s云原生

2018-11-14 12:47:30

2018-08-30 08:47:43

人工智能深度学习计算机视觉

2021-08-03 15:26:56

代码智能阿里云

2020-07-13 07:45:52

编程语言C语言Java

2009-03-24 13:29:03

XML报文数据交换

2018-04-10 15:34:44

2011-03-11 16:42:51

Oracle数据库视图

2021-07-05 16:53:04

AI人工智能教育

2017-02-28 08:48:11

科技早新闻

2010-09-27 15:51:58

SQL角色

2018-08-15 14:59:49

点赞
收藏

51CTO技术栈公众号