spring roo_使用Spring Roo进行快速云开发–第2部分:VMware Cloud Foundry

spring roo

Spring Roo是在Java平台上提供快速应用程序开发的工具。 我已经解释了何时使用它: http : //www.kai-waehner.de/blog/2011/04/05/when-to-use-spring-roo 。 Spring Roo目前支持两种针对云计算的解决方案:Google App Engine(GAE)和VMware Cloud Foundry。 两者都提供了平台即服务(PaaS)概念。 本文将讨论Spring Roo的Cloud Foundry支持。 在本系列文章的第1部分中讨论了GAE。

将Cloud Foundry应用程序部署到云端

Spring Roo的参考指南在http://www.springsource.org/roo/guide?w=base-cloud-foundry进行了介绍,其中介绍了Spring Roo和Cloud Foundry的结合。 简而言之,在Cloud Foundry云中部署(CRUD-)应用程序没有太多要做。
您必须登录到Cloud Foundry帐户,创建一个WAR文件并进行部署。 三个Roo命令执行这些任务。 如果您使用任何Cloud Foundry服务(例如MySQL,Redis或RabbitMQ),则必须使用其他Roo命令创建并绑定这些服务。 部署非常容易。 您可以选择将应用程序部署到私有云(自己的服务器)或公共云(VMware服务器)。

我遇到了一个奇怪的不说话的异常(这是Spring Roo经常遇到的主要问题):“操作无法完成:400错误的请求”,但是没有其他详细信息或异常。 论坛支持是必要的。 问题是我的云应用程序的名称已经被另一位开发人员使用,它不是唯一的(我尝试使用名称“ SimpleCloudFoundry”)。 一个更多的错误消息会很好! 使用另一个(唯一)名称解决了该问题。

Cloud Foundry只是传统的Web应用程序-与GAE相反

因此,在阅读了之前的介绍之后,得出以下结论:Spring Roo支持将其应用程序部署到Cloud Foundry云。 因此,一切都很好吗? 是的,或多或少令人惊讶,这是真的! Cloud Foundry文档的声明也是如此:„您无需以特殊方式构建应用程序或使用有限的语言或框架功能子集,也无需调用特定于Cloud Foundry的API。 您可以像没有Cloud Foundry一样开发应用程序,然后进行部署。”
那么,为什么要考虑使用其他PaaS解决方案而不是Cloud Foundry? Cloud Foundry应用程序是传统的Java Web应用程序,它们使用Spring并将其部署到Tomcat Web容器。 您没有很多限制(请记住GAE的Java类白名单)或数据库限制(请记住GAE的BigTable概念)。 请注意,由于这一优势,您必须使用Cloud Foundry提供的服务! 目前,您可以使用MySQL,Redis,Mongo DB和RabbitMQ。 不能使用其他数据库或消息传递解决方案。 如果所提供的服务满足您的需求,那么一切都很好。

Roo Shell几乎提供了所有Cloud Foundry命令

通常,您在诸如Eclipse之类的IDE中开发Cloud Foundry应用程序。 此外,您可以使用VMware CLI(命令行工具)登录Cloud Foundry,创建和绑定服务,部署,启动和停止应用程序,等等。
Spring Roo提供了30多个独特的Cloud Foundry命令。 通过Roo的Cloud Foundry集成,您现在可以从Roo Shell管理应用程序的整个生命周期。 太棒了! 当然,VMware希望同时推动Cloud Foundry和Spring Roo,因此两种产品之间的连接确实很好。 但是...

没有理由使用Spring Roo进行Cloud Foundry开发

Spring Roo的目标是帮助开发人员更轻松,更快地实现应用程序。 对于创建原型或CRUD Web应用程序来说,它真棒。 但是,创建Cloud Foundry应用程序无济于事。 当然,您可以在Roo Shell中直接使用所有VMC命令,仅此而已。 我想知道这是否有优势吗? 我发现在输入要使用的真实命令之前总是在Roo shell中键入“ cloud Foundry”很烦人。 因此,我Swift切换回了VMC命令行工具。 SpringSource工具套件还提供了Cloud Foundry插件,以通过“拖放”来绑定服务和部署应用程序。 非常好!
我认为,使用Spring Roo开发Cloud Foundry应用程序没有任何好处。 当然,有一个例外:如果您开发Spring Roo应用程序(比如说CRUD应用程序),那么您可以在同一shell中完成所有操作,这很酷。
顺便说一句:尽管我确实认为与Spring Roo的结合不会带来任何好处,但我真的很喜欢Cloud Foundry。 它是最早提供关系数据库支持的PaaS解决方案之一(Amazon Elastic Beanstalk除外)。 此外,可以部署到公共云和私有云。 它是开源的,因此将来会提供更多的支持和服务。 但请注意:与GAE相反,Cloud Foundry目前仍是BETA。
本系列文章的当前结论是,Spring Roo并没有真正帮助开发云应用程序。 不过,我喜欢Spring Roo,也喜欢PaaS解决方案,例如GAE和Cloud Foundry,但并没有结合在一起。 如果这种情况发生变化或者Spring Roo支持更多PaaS产品,我将写更多文章。

参考: 使用Spring Roo进行快速云开发–第2部分:来自我们JCG合作伙伴 Kai Wahner的VMware Cloud Foundry , 有关Java EE / SOA /云计算的博客。


翻译自: https://www.javacodegeeks.com/2012/06/rapid-cloud-development-with-spring-roo_04.html

spring roo

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/354996.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

this指针 java_彻底理解Java中this指针

每次看到Java中的this指针,总摸不着头绪。在网上看了很多人的讲解,还是不知道this指针到底是什么东西,今天的的这篇日志可以让你看清this到底是谁。(内容摘自:http://www.mathcs.emory.edu/~cheung/Courses/170.2010/Syllabus/03/…

python中的浅拷贝和深拷贝

本篇介绍下python中的深拷贝和浅拷贝,主要从基本类型、类、不可变类型等方面进行介绍。 1.介绍拷贝之前首先应该明白is和的区别,即is表示同一个对象,比较的是值 >>> a 1000 >>> b 1000 >>> a b True >>&…

Spring开发人员知道的一件事

在最近关于(核心)Spring Framework的培训课程中,有人问我:“(Java)Spring开发人员是否应该知道一件事,那应该是什么?” 这个问题使我措手不及。 是的,(核心&a…

mysql匿名事务gtid_MySQL GTID (二)

MySQL GTID 系列之二三.在线将GTID转化为传统模式环境见上篇系列文章关闭GTID,不用停止服务,不影响线上业务3.1 关闭GTID复制,调整为传统复制#SLVAE实例上停止复制STOP SLAVE#SLVAE实例上查看复制的位置SHOW SLAVE STATUS \G# 查看 Master_Log_File 和 Read_Master_Log_Pos对应…

JavaWeb(十七)——JSP中的九个内置对象

一、JSP运行原理 每个JSP 页面在第一次被访问时,WEB容器都会把请求交给JSP引擎(即一个Java程序)去处理。JSP引擎先将JSP翻译成一个_jspServlet(实质上也是一个servlet) ,然后按照servlet的调用方式进行调用。  由于JSP第一次访问…

jrockit_JRockit – JRCMD有用的命令

jrockit自2007年以来,我一直在使用JRockit。我发现它的速度比Hotspot慢,但在诊断和分析问题上总是更好。 从去年夏天开始,我一直在为一家国际电信系统供应商工作。 我们在HP OpenCall融合通信平台之上为电信运营商设计和实施各种产品。 我是开…

java并发问题_并发理论基础:并发问题产生的三大根源

并发问题变幻莫测,一谈到并发就显得非常高深,一般的程序员对于并发问题也是头疼不已,但是随着网络互联越来越普遍,大规模用户访问网站程序也越来越频繁,并发问题又无法避免。在我们解决并发问题前首先要理解产生并发问…

[luoguP1849] [USACO12MAR]拖拉机Tractor(spfa)

传送门 神奇的spfa #include <queue> #include <cstdio> #include <cstring> #include <iostream> #define N 1010 #define max(x, y) ((x) > (y) ? (x) : (y))int n, mx, my; int dis[N][N]; bool map[N][N], vis[N][N]; int dx[4] {0, -1, 0, 1…

在Eclipse上创建JSF / CDI Maven项目

当我在研究JSF和CDI示例时&#xff0c;我认为提及创建JSF和CDI Maven项目所需的步骤会很有用。 您可以找到以下步骤。 工具类 默认情况下&#xff0c;M2E插件随附的Eclipse Luna。 因此&#xff0c;无需自己安装插件。 WildFlye8.x。 从主菜单中选择文件->新建->其他。…

luoguP3690 【模板】Link Cut Tree (动态树)[LCT]

题目背景 动态树 题目描述 给定&#xff2e;个点以及每个点的权值&#xff0c;要你处理接下来的&#xff2d;个操作。操作有&#xff14;种。操作从&#xff10;到&#xff13;编号。点从&#xff11;到&#xff2e;编号。 &#xff10;&#xff1a;后接两个整数&#xff08;&a…

python爬虫多进程_Python爬虫技术--基础篇--多进程

要让Python程序实现多进程(multiprocessing)&#xff0c;我们先了解操作系统的相关知识。Unix/Linux操作系统提供了一个fork()系统调用&#xff0c;它非常特殊。普通的函数调用&#xff0c;调用一次&#xff0c;返回一次&#xff0c;但是fork()调用一次&#xff0c;返回两次&am…

java 电力系统_算法java实现--动态规划--电路布线问题

/** dianlubuxian.java* Version 1.0.0* Created on 2017年11月30日* Copyright ReYo.Cn*/package reyo.sdk.utils.test.dy;/*** 创 建 人&#xff1a;AdministratorReyoAut * 创建时间&#xff1a;2017年11月30日 下午4:58:56** author ReYo* version 1.0*//*** 电路布线问题(…

百度图片网址

http://qcloud.dpfile.com/pc/jPAgaVMWC7zueHYEzky7IUJs0w6QIgvTQ0p08wxCK1OUDUk6-KqvLg70OVUXtjEHTYGVDmosZWTLal1WbWRW3A.jpg转载于:https://www.cnblogs.com/leshen/p/7387677.html

antlr idea 入门_ANTLR:入门

antlr idea 入门这篇文章使您了解ANTLR的基础知识。 以前&#xff0c;我们已经了解了如何将ANTLR设置为外部工具。 在这里&#xff1a; ANTLR外部工具 :) 所以&#xff0c;我们开始…。 什么是ANTLR&#xff1f; •另一个语言识别工具&#xff0c;是一种语言工具&#xff0c;它…

typescript主键自增长

常见的不重复id创建方式有两种&#xff0c;一个是搞一个自增长数列&#xff0c;另一个是采用随机生成一组不可能重复的字符序列&#xff0c;常见的就是UUID了。我们来引入一个uuid的包&#xff1a;npm i --save angular2-uuid&#xff0c;由于这个包中已经含有了用于typescript…

java api操作hbase_通过JavaAPI使用HBase

1.准备工作(1) 启动zookeeper服务&#xff0c;我的是在本地启动zookeeper/usr/local/zookeeper/bin$ sudo zkServer.sh start(2) 启动HBase和HBase shell启动HBase:/usr/local/hbase/bin下启动start-hbase.sh启动HBase shell/usr/local/hbase/bin下终端输入hbase shell(3) 工程…

SPOJ QTREE5 lct

题目链接 对于每一个节点&#xff0c;记录这个节点所在链的信息&#xff1a; ls:&#xff08;链的上端点&#xff09;距离链内部近期的白点距离 rs:&#xff08;链的下端点&#xff09;距离链内部近期的白点距离 注意以上都是实边 虚边的信息用一个set维护。 set维护的是…

Java EE 8 MVC:使用路径参数

在上一篇文章中&#xff0c;我们看到了如何在Java EE MVC中使用查询参数 。 这篇文章继续与一个非常相似的主题&#xff1a;路径参数。 路径参数是请求路径的动态部分&#xff0c;可以使用Path注释指定。 例如&#xff1a; Controller Path("path-params") public…

duilib入门简明教程 -- 部分bug (11) (转)

原文转自&#xff1a;http://www.cnblogs.com/Alberl/p/3344886.html 一、WindowImplBase的bug在第8个教程【2013 duilib入门简明教程 -- 完整的自绘标题栏(8)】中&#xff0c;可以发现窗口最大化之后有两个问题&#xff0c;1、最大化按钮的样式还是没变&#xff0c;正确的样式…

在考生文件夹存有JAVA3_注意:下面出现的“考生文件夹”均为%USER%在考生文件夹下存有文件名为J_网考网(Netkao.com)...

【分析解答题】注意&#xff1a;下面出现的“考生文件夹”均为%USER%在考生文件夹下存有文件名为Java_2.java文件&#xff0c;本题功能是完成点定义&#xff0c;并输出点坐标。请完善Java_2.java文件&#xff0e;并进行调试&#xff0c;使程序结果如下&#xff1a;x5 y5点的坐标…