使用Spring Roo進行快速云開發–第2部分:VMware Cloud Foundry

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 Tool Suite還提供了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 / Cloud Computing博客的博客上。


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

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/372685.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/372685.shtml
英文地址,請注明出處:http://en.pswp.cn/news/372685.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

java程序日期轉換_Java 日期轉換詳解及實例代碼

Java 日期轉換涉及的核心類:Date類、SimpleDateFormat類、Calendar類一、 Date型與long型Date型轉換為long型Date date new Date();//取得當前時間Date類型long date2long date.getTime();//Date轉longlong型轉換為Date型long cur System.currentTimeMills();//取…

軟件設計之思想

編程用何種語言不重要,重要的是其設計思想。轉載于:https://www.cnblogs.com/redfull/p/6554898.html

asp.net 與 java 2017_[ASP.net教程]C#與JAVA學習感悟

[ASP.net教程]C#與JAVA學習感悟0 2015-10-06 23:00:07C#與JAVA學習感悟學完C#與JAVA,感覺收獲良多。C#與JAVA這兩門語言相似度很高(了解它們早期歷史的人可能知道為什么),也許很多人在學習JAVA(或C#)時會同時學習C#(或JAVA),因為它們太相似了…

Spring和JSF集成:國際化和本地化

如果您正在開發針對多種語言的JSF應用程序&#xff0c;那么您可能很熟悉<f&#xff1a;loadBundle>標記。 即使您的應用程序不支持使用消息包的國際化仍然是一個好主意。 在<f&#xff1a;loadBundle>標記下&#xff0c;它從Java java.util.ResourceBundle中讀取消…

一個實用的卻被忽略的命名空間:Microsoft.VisualBasic:

當你看到這個命名空間的時候&#xff0c;別因為是vb的東西就匆忙關掉網頁&#xff0c;那將會是您的損失&#xff0c;此命名空間中的資源最初目的是為了簡化vb.net開發而創建的&#xff0c;所以microsoft.visualbasic并不屬于system命名空間&#xff0c;而是獨立存在的。雖然是為…

Linux基礎之命令練習Day2-useradd(mod,del),groupadd(mod,del),chmod,chown,

作業一&#xff1a; 1) 新建用戶natasha&#xff0c;uid為1000&#xff0c;gid為555&#xff0c;備注信息為“master” 2) 修改natasha用戶的家目錄為/Natasha 3) 查看用戶信息配置文件的最后一行 4) 為natasha用戶設置密碼“123” 5) 查看用戶密碼配置文件的最后一行 6) 將nat…

動態表單,JSF世界早已等待

新的PrimeFaces擴展版本0.5.0帶來了新的DynaForm組件。 通常&#xff0c;如果知道行/列的數量&#xff0c;元素的位置等&#xff0c;則可以通過h&#xff1a;panelGrid或p&#xff1a;panelGrid來構建非常簡單的表單。 對于靜態表單&#xff0c;這是正確的。 但是&#xff0c;如…

C# 定時器事件(設置時間間隔,間歇性執行某一函數,控制臺程序)

定時器事件代碼 static void Main(string[] args) {Method();#region 定時器事件 Timer aTimer new Timer();aTimer.Elapsed new ElapsedEventHandler(TimedEvent);aTimer.Interval seconds * 1000; //配置文件中配置的秒數aTimer.Enabled true;#endregionstring strLi…

總結get和post區別

參考博文&#xff1a;   淺談HTTP中Get與Post的區別 1. 數據傳遞方向&#xff1a; Get是向服務器發索取數據的一種請求&#xff0c;Post是向服務器提交數據的一種請求 &#xff08;都是請求&#xff0c;并不是一個取一個發&#xff09; Get&#xff1a;①用于獲取信息&#x…

Vmware安裝Centos NAT方式設置靜態IP

【Vmware中在搭建集群環境等&#xff0c;DHCP自動獲取IP方式不方便&#xff0c;為了固定IP減少頻繁更改配置信息&#xff0c;建議使用靜態IP來配置&#xff0c;網絡連接主要有三種方式 1.nat 2.橋接&#xff0c;3主機模式 &#xff0c;在這里主要介NAT方式&#xff0c; 為什么使…

1 TB /節點時快速,可預測且高度可用

世界正每秒從移動設備&#xff0c;Web和各種小工具向應用程序推送大量數據。 如今&#xff0c;更多的應用程序必須處理此數據。 為了保持性能&#xff0c;這些應用程序需要快速訪問數據層。 在過去的幾年中&#xff0c;RAM價格下降了&#xff0c;我們現在可以便宜得多地獲得具有…

java jni 內存_Android開發之JNI內存模型

Java 與JNI 內存管理是怎樣的想要弄清楚Java與JNI的內存管理的關系&#xff0c;首先要弄清楚JVM的內存模型JVM內存模型.png其中本地方法棧就是運行時調用native 方法的數據保存區。本地方法棧的大小可以設置成固定的或者是動態擴展。Java中的內存泄露JAVA 編程中的內存泄漏&…

04 linux用戶群組和權限

作業一&#xff1a; 1)新建用戶natasha&#xff0c;uid為1000&#xff0c;gid為555&#xff0c;備注信息為“master” 2)修改natasha用戶的家目錄為/Natasha 3)查看用戶信息配置文件的最后一行 4)為natasha用戶設置密碼“123” 5)查看用戶密碼配置文件的最后一行 6)將natasha用…

基于 CoreText 實現的高性能 UITableView

引起UITableView卡頓比較常見的原因有cell的層級過多、cell中有觸發離屏渲染的代碼&#xff08;譬如&#xff1a;cornerRadius、maskToBounds 同時使用&#xff09;、像素是否對齊、是否使用UITableView自動計算cell高度的方法等。本文將從cell層級出發&#xff0c;以一個仿朋友…

RESTEasy教程第1部分:基礎

RESTEasy是JBoss / RedHat的JAX-RS實現&#xff0c;內置于JBoss 6之后。 在這里&#xff0c;我將向您展示如何使用RESTEasy和JBossAS7.1.1.FINAL開發一個簡單的RESTful Web服務應用程序。 步驟1&#xff1a;使用Maven配置RESTEasy依賴項。 <project xmlnshttp:maven.apache.…

php函數相關函數,PHP數組相關函數匯總

這篇文章主要介紹了PHP數組相關函數,匯總說明了php中相關的數組,具有一定參考借鑒價值,需要的朋友可以參考下本文總結了PHP數組相關的函數。分享給大家供大家參考。具體如下&#xff1a;這里包括函數名和用法說明&#xff0c;沒有詳細的代碼范例。感興趣的朋友可以查閱本站相關…

Web Magic 總體架構

1.2 總體架構 WebMagic的結構分為Downloader、PageProcessor、Scheduler、Pipeline四大組件&#xff0c;并由Spider將它們彼此組織起來。這四大組件對應爬蟲生命周期中的下載、處理、管理和持久化等功能。WebMagic的設計參考了Scapy&#xff0c;但是實現方式更Java化一些。 而S…

L1-006. 連續因子

一個正整數N的因子中可能存在若干連續的數字。例如630可以分解為3*5*6*7&#xff0c;其中5、6、7就是3個連續的數字。給定任一正整數N&#xff0c;要求編寫程序求出最長連續因子的個數&#xff0c;并輸出最小的連續因子序列。 輸入格式&#xff1a; 輸入在一行中給出一個正整數…

基于Java JAAS表單的身份驗證

使用JAAS實現登錄模塊是一個高級主題&#xff0c;而且大多數開發人員也很少有機會參與這種開發。 但是JAAS登錄模塊的基本實現并不是那么困難&#xff0c;這是因為我打算將其發布。 在這里&#xff0c;我正在解釋如何實現tomcat管理的身份驗證模塊。 此實現與容器無關。 我們可…

java自動投票代碼,Java 投票(自動添一)

Java 投票(自動加一)數據庫建立&#xff1a;SQL> create table vote(2 id number,3 name varchar(200),4 num number5 );//index.jsppageEncoding"utf-8"%>投票Connection conn1 null;Statement stmt1 null;ResultSet rs1 null;try {Class.forName("or…