怎样部署基于spring cloud 数据库与数据库的应用到CloudFoundry

博客访问: 906912
博文数量: 377
博客积分: 13098
博客等级: 上将
技术积分: 2880
注册时间:
APP发帖 享双倍积分
IT168企业级官微
微信号:IT168qiye
系统架构师大会
微信号:SACC2013
分类: 云计算
Cloud Foundry是一个public cloud的提供商,现在被vmware收购了。在被收购以前,Cloud Foundry允许开发者快速部署基于Amazon Web Service的Spring应用。目前虽然Cloud Foundry现在还在Beta阶段,但是已经能支持很多Open Source服务了,包括:Spring for Java AppsRails and Sinatra for Ruby appsNode.js appsGroovyGrails and ScalaMySQL, Redis, and MongoDBRabbitMQCloud Foundry现在处于自由注册状态,而且服务免费,不过注册需要经过审核才能通过。感兴趣的朋友可以去尝试申请一个账号。要在Cloud Foundry里面部署应用,我们需要先安装Cloud Foundry command line interface(CLI)。可以在一个Linux安装它,也可以通过下载Micro Cloud Foundry镜像。这里我主要介绍前一种方式。1)首先我们需要一个Cloud Foundry的账号,需要用自己的email来注册,并且注册需要一段时间的审核才能通过。2) 我使用的是Ubuntu 11.04, 需要安装如下这些依赖包:sudo apt-get install&ruby-full,rubygems,git,curl&3) 然后,需要安装rvm。 rvm即Ruby Version Manager, 有兴趣的可以去他的网站了解下。注意/install/rvm其实是rvm的安装脚本,它会使用git去同步rvm最新的版本,如果下载失败,请检查网络或者代理的设置。bash < <(curl -s /install/rvm)&4)安装脚本默认条件下会把rvm安装到$HOME/.rvm下面,并且更新$HOME/.bashrc来更新PATH, 所以我们需要重新登录下。如果不想重新登录,可以执行:source "$HOME/.rvm/scripts/rvm"5) 使用rvm安装zlib。注意,如果rvm下载zlib失败,我们可以手工下载需要的zlib源码包放到$HOME/.rvm/archives/。rvm package install zlib6) 安装vmc:export PATH=$PATH:/var/lib/gems/1.8/binrvm install 1.9.2 &-C --with-zlib-dir=$rvm_path/usrrvm use 1.9.2&sudo gem install vmc至此,Cloud Foundry的CLI安装成功,下面我们来尝试创建并部署一个hello world应用1) 创建工作目录:cd $HOMEmkdir hellobigluocd hellobigluo2) 编写hello world应用:vi hellobigluo.rbrequire 'sinatra'
get '/' do
&&&&&&&&"Hluo, welcome to Cloud Foundry"
end3) 部署应用vmc target vmc login #这儿需要提供注册时候的账号cd $HOME/hellobigluovmc push4) vmc push会有提示如下问题:hluo@localhost:~/hello$ vmc pushWould you like to deploy from the current directory? [Yn]:Application Name: hellobigluoApplication Deployed URL: ''?Detected a Sinatra Application, is this correct? [Yn]:Memory Reservation [Default:128M] (64M, 128M, 256M, 512M, 1G or 2G)Creating Application: OKWould you like to bind any services to 'hellobigluo'? [yN]:Uploading Application:& Checking for available resources: OK& Packing application: OK& Uploading (0K): OKPush Status: OKStaging Application: OKStarting Application: OK5) 现在我们打开浏览器,输入看看我们的第一个云应用吧。-Hao
阅读(682) | 评论(0) | 转发(0) |
相关热门文章
给主人留下些什么吧!~~
请登录后评论。> CloudFoundry调度使用Spring框架的JavaWeb应用【详细入门】
CloudFoundry调度使用Spring框架的JavaWeb应用【详细入门】
Rainson & &
发布时间: & &
浏览:28 & &
回复:0 & &
悬赏:0.0希赛币
CloudFoundry部署使用Spring框架的JavaWeb应用
  最近才开始接触Paas,感觉有点落后了,一来是因为平时工作的确挺忙,加班加点的没有时间充电。最近发现了CloudFoundry,已经get involved了。不多说废话,我也不会说废话,其实更严重一点,我都不会说话。我把我从昨天晚上开始接触CF到部署上一个JavaWeb应用的过程整理出来。
  首先声明,我讲的不深入,只说明如何部署应用和管理数据库,我的需求很简单,J2EE+Mysql,有了这两个就可以满足我初步的需求。看了一下CloudFoundry,两个都有,赞一个。
  一、注册和基本工具的使用
  网址:下边就自己来吧,关于VMC等工具的使用,可以在get Started中学习学习,地址:
  二、Eclipse集成CloudFoundry插件
  eclipse版本Version: Juno Service Release 1
打开Eclipse MarketPlace (help--&EclipseMarketPlace)
搜索Cloud Foundry插件,见下图
我已经安装了,没有安装的话,请点击install安装,安装的过程根据不同的网络条件需要一段时间,请耐心等待。
打开server窗口,一般j2ee视图默认是打开的。如果当前面板没有server窗口,可以通过window--&show view,选择Server视图
在server窗口空白处,右击选择new-&server,新建一个VMServer
点击next 会提示输入邮箱和密码,就是在cloudfoundry申请的账号和密码,输入之后,可以点击validate account,对账户进行验证,验证通过之后,会提示:Account information is valid
点击finish,至此,Eclipse里远程的cloudfoundry服务器就创建好了。下面我们要讲如何创建MySql数据库。
  三、创建并管理MySql数据库
  双击Server窗口中的刚刚创建的VMware服务器,Eclipse会打开服务器的OverView窗口,这个窗口有两页(OverView和Applications)。overview页可以看到远程服务器的一些信息,包括基本信息、帐户信息、服务器状态等等。Applications页可以看到服务器上已经发布的应用-Applications和服务-services。
  现在我们要在Applications页创建我们的MySql数据库,并且介绍说明两种不同的数据管理方式。
创建MySql数据库
  点击Applications页中services模块右上角的”Add Services“按钮。在下拉菜单中可以看到CloudFoundry支持的所有数据库类型,我们选择MySql database service类型,并且命名为Remote-MySql。
  客户端连接CloudFoundry数据库要使用隧道(tunnel)方式,右击刚才新建的MySql数据库,选择"Open Tunnel",CloudFoundry会为这个Mysql创建一个隧道实例,我们可以根据这个隧道提供的jdbcUrl、dbname、user、password来连接数据库。在弹出"Tunnel Information"对话框中,右击隧道选择copy all,记录这些连接信息,下边我们会用到这些连接信息来连接和操作数据库。
  拷贝出来的隧道连接信息如下:
  UserName: u5Kr5QesTvPDy
Password: pQxG2f5B2iUkQ
DatabaseName: d41af9bd4bcfb41a6b65aae7a0a777550
Port: 10100
URL: jdbc:mysql://127.0.0.1:1bd4bcfb41a6b65aae7a0a777550
  2、连接并管理数据库一
  打开Eclipse的Data Source Explorer,右击Database Connections,新建一个数据库连接,我们选择MySql数据库,并命名为Link-Remote-MySQL
  点击next,在打开的新连接管理里指定MySql JDBC Driver,只要指定一个MySql Connector Jar包就可以了。在General标签里输入刚才保存下载的隧道连接信息,点击Test Connection测试一下,看看能否Ping通。
  成功会提示ping success
  至此,我们已经能正常连接到MySql数据库了。
  右击新建的数据,选择open SQL Scrapbook,在Connection Profile中选择刚才建立的数据库连接,完了就可以编辑Sql语句执行了。
  建表,后边要用
  建表语句为
  CREATE TABLE `rolly_test` (
`id` INT(12) UNSIGNED NOT NULL,
`name` VARCHAR(128) NULL DEFAULT NULL,
`email` VARCHAR(128) NULL DEFAULT NULL,
PRIMARY KEY (`id`)
COLLATE='gb2312_chinese_ci'
ENGINE=InnoDB;
  贴在scrapbook中,选中使用快捷键alt+x执行选中的语句,或者选中之后右击选择Execute Selected Text。就可以执行了,使用相同的方法,往表里插两条数据和做一次查询操作。
  INSERT INTO `rolly_test` (`id`, `name`, `email`) VALUES (1, 'John Chen', 'John.');
INSERT INTO `rolly_test` (`id`, `name`, `email`) VALUES (2, '肖肖', '');
  查询语句
  select * from rolly_
  查询的结果,可以在Sql Results窗口中看到
  三、连接并管理数据库二
  使用可视化数据库编程工具如何连接我们创建的数据库呢?我用一种MySql的可视化工具HeidiSql来说明一下。使用第三方工具的时候,要确保CloudFoundry上连接MySql的隧道是打开的状态。
  这个怎么看呢?在远程服务器详细信息窗口的Applications页中的services模块,可以看到如下信息,
  在Tunnel下有个激活的图标标识隧道是联通的。
  打开HeidiSQL,在Session Manager对话框中,我们新建一个名叫Link-Remote_MySQL的会话,连接信息根据隧道连接信息来填,见图
  点击Open后,如果网络没有问题,就可以连接到远程数据库了。连接上之后,可以看到,刚才在Eclipse中新建的表和插入的两条数据。
  至此,我们已经知道如何创建数据库,并且知道如何操作来管理数据库了。
  -------------------------------------------------------
  未完待续,新开一贴来说明如何把JavaWeb项目Push到CloudFoundry服务器中。
  -------------------------------------------------------
本问题标题:
本问题地址:
温馨提示:本问答中心的任何言论仅代表发言者个人的观点,与希赛网立场无关。请对您的言论负责,遵守中华人民共和国有关法律、法规。如果您的言论违反希赛网问答中心的规则,将会被删除。
暂无合适的专家
&&&&&&&&&&&&&&&
希赛网 版权所有 & &&Java框架_程序员之家
1、 易出现 问题 的 地方, Jar 包 缺少 或冲突 XFire使得在JavaEE应用中发布Web服务变得轻而易举。和其他Web服务引擎相比, XFi...
悲剧永远在不经意之间发生,最近想使用Maven来作为项目管理,结果一路磕磕碰碰,昨天还遇到极度郁闷的事情,在构建完项项目之后...
写过了三篇的JFINAL框架源码的文章,普遍反响都还不错,谢谢各位OSC同仁们的关心和支持,今后我会更加勤奋的更新博文和相关的技...
1、背景 在采用Hibernate做对象映射时,我一直都采用UUID来做主键。由于Hibernate的UUID需要占用32位的字符,所以一般都会让人感...
最近在MyEclipse中编辑代码时,使用快捷键进行复制粘贴,经常会导致编辑器短暂的停顿,光标不跟随,居然反应不过来,几近假死。 ...
简单说明: 这个项目的结构,大家来拍拍砖,同时还要请多多提些问题。 这个结构是根据之前的项目结构,以及院子里不是朋友们的提...
????? 上周需要在ibatis里调用oracle的一个存储过程,这个存储过程有一个参数是index table,需要实现TypeHandler或者TypeHandle...
现在放上我自己测试玩玩的工程:访问Action路径为: http://localhost:8080/ALAN/helloWorldaa.action。数据库配置自己修改下在sr...
引述 要学习Spring框架的技术内幕,必须事先掌握一些基本的Java知识,正所谓“登高必自卑,涉远必自迩”。以下几项Java知识和Spr...
基本的使用方法是: bean id=propertyConfigurerForAnalysis class=org.springframework.beans.factory.config.PropertyPlacehol...
设计细颗粒度的持久类并且使用component来实现映射。 使用一个Address持久类来封装 street, suburb, state, postcode. 这将有利...
以前在eclipse上一直使用svn,小林所在公司用的cvs进行版本管理,最近很多朋友都在玩git,刚好小林业余时间也学习了下,但是苦于...
很喜欢JFinal 框架的,简单,不用像SSH那样乱七八糟的注入,配置。不过用惯了Hibernate,Eclipse 可以直接连接数据库,批量生成...
#console outputlog4j.rootLogger=ERROR,appender1,appender2log4j.appender.appender1=org.apache.log4j.ConsoleAppenderlog4j....
在安装完IntelliJ IDEA之后,默认会在windows的系统盘用户文件夹中创建配置等文件。在我只有32G的SSD盘中,怎么能让它如此,不爽...
本文是java热替换的实验,参考了 Java 类的热替换 ―― 概念、设计与实现 /developerworks/cn/java/j-lo-hots...
客户端 maven 安装指南 一、 Maven 3 下载 地址: http://maven.apache.org/download.html 二、 Maven 安装 1. 解压下载的 apach...
1.设置jsp中的:%@ page language=java import=java.util.* pageEncoding=UTF-8% 2.如果涉及到连接数据库 jdbc:mysql://localhos...
LML在这种情况下的夹缝中诞生。我并非高手,所以LML也不算完善。 首先:LML基于SSH。一直以来都被公司使用的Castle框架的快速简...
guzz 1.3.1 更新介绍: 大版本更新噢: 1. 动态拼接SQL终于发布啦,等的花都谢了。现在,你可以写一个有条件的sql语句,...
1. 接口注入 (不推荐) 2. getter,setter方式注入 (比较常用) 3. 构造器注入 (死的应用) 关于getter和setter方式的注入 au...
将Spring应用部署到很简单,就像SpringSource网站说的那样在注册申请到Cloud Foundry beta账号后,第一件事请就...
以前在学校的时候自己以为是不是每个做JAVA开发的公司每次做项目的时候都要搭建一个SSH框架呢,工作之后才发现每个公司都有自己...
鼎鼎大名的Spring框架3.0版在12月5日由其作者之一Juergen Hoeller先生在博客里宣告问世,并命为里程碑版,给Spring粉丝们带来了...
摘要: 关于spring框架中的ioc的幽默解释 IoC就是Inversion of Control,控制反转。在Java开发中,IoC意味着将你设计好的类交给系...
废了一天的功夫,终于把我的留言功能实现了.有时候一个纠结的问题,会耽误自己很长时间,如何提高开发效率,是个很大的问题! 总结一...
今天在项目的过程中,java服务端使用cxf动态调用.net服务的时候碰到的一些问题,现将笔记记录如下,已被日后查看。 1、CXF是 ION...
merge的作用是:新new一个对象,如果该对象设置了ID,则这个对象就当作游离态处理: 当ID在数据库中不能找到时,用update的话肯...
介绍基本的JMS概念与开源的JMS框架ActiveMQ应用,内容涵盖一下几点: 基本的JMS概念 JMS的消息模式 介绍ActiveMQ 一个基于Active...
一个小型的网站,比如个人网站,可以使用最简单的html静态页面就实现了,配合一些图片达到美化效果,所有的页面均存放在一个目录...
一.心跳机制 1. hadoop集群是master/slave模式,master包括Namenode和Jobtracker,slave包括Datanode和Tasktracker。 2. master...
随着Myeclipse版本号的变大,插件的安装也越来越复杂了,在有了configuration center之后,明明eclipse都能正常使用的update sit...
1.介绍 (1)Struts2相当于是servlet,和servelt不同的是当提交到struts.xml中之后,通过aciton标签就可以直接调用想用的方法,...
TreeSet支持两种排序方法:自然排序和定制排序。TreeSet默认采用自然排序。 1、自然排序 TreeSet会调用集合元素的compareTo(Obje...
Apache的MINA是一个被用来构建高性能和高可伸缩性应用程序的网络应用框架,它提供了一套统一的建立在Java NIO之上的事件驱动的异...
利用Apache MINA来传递对象,这对了MINA来说非常容易,并且这也是Java网络编程中很常用的应用。其实对于MINA传递对象来说,如果...
为什么要用Hibernate框架?这个在《Hibernate介绍》博客中已经提到了。 既然用Hibernate框架访问管理持久层,那为何又提到用Spri...
上篇博客已经把Hibernate概念和其中的核心接口介绍,下面举个实例添加用户来介绍Hibernate如何使用。 1.创建普通的java项目。 因...
现代的企业开发中,越来越多地引入了多层架构设计模式。Struts+Spring+Hibernate (一下简称为SSH)就是其中之一,SSH架构是当前非...
说明:先从整体介绍了Java集合框架包含的接口和类,然后总结了集合框架中的一些基本知识和关键点,并结合实例进行简单分析。 一...部署基于Spring与数据库应用到CloudFoundry
  将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的云上使用数据库带来的好处就是,你不用再去配置数据库了,你所需要的就是配置一下应用中的servlet-context.xml文件中的数据源。
这里看一下本地的配置:
对于本地的部署来讲配置通常看起来像这样:
&bean id=&dataSource&
class=&org.springframework.jdbc.datasource.DriverManagerDataSource&
p:driverClassName=&${jdbc.driverClassName}&
p:url=&${jdbc.url}& /&
而对于在Cloud Foundry上的MySQL数据库配置是这样:
&cloud:data-source id=&dataSource& /&
Spring3.1包含了一个新特性允许这些配置放在同一个context文件中,但是在Spring3中并没有这个特性,我们需要将规则的数据源配置(传统的)和新的cloud data-source的方式配置数据源中选择其中一种。
要使用新的cloud标签,servlet-context.xml需要做相关改变引入cloud 命名空间。
&beans xmlns=&http://www.springframework.org/schema/beans&
... xmlns:cloud=&http://schema.cloudfoundry.org/spring&
... http://schema.cloudfoundry.org/spring
http://schema.cloudfoundry.org/spring/cloudfoundry-spring-0.6.xsd&&
部署应用的最后一步是添加Cloud Foundry的支持。可以通过在应用的pom.xml文件中添加以下依赖的方式添加Cloud Foundry支持。
&dependency&
&groupId&org.cloudfoundry&/groupId&
&artifactId&cloudfoundry-runtime&/artifactId&
&version&${org.cloudfoundry-version}&/version&
&/dependency&
&properties&
&org.cloudfoundry-version&0.6.0&/org.cloudfoundry-version&
&/properties&
在这些改变都OK后,Cloud Foundry应用就可以通过STS for eclipse控制应用的部署,启动和停止。
好文,顶一下
文章真差,踩一下
------分隔线----------------------------
把开源带在你的身边-精美linux小纪念品
初级应用->
高级应用-> |
编程开发->java培训(部署基于Spring与数据库的应用到CloudFoundry)_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
java培训(部署基于Spring与数据库的应用到CloudFoundry)
上传于||暂无简介
阅读已结束,如果下载本文需要使用0下载券
想免费下载更多文档?
定制HR最喜欢的简历
你可能喜欢

我要回帖

更多关于 cloud foundry 的文章

 

随机推荐