日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

cloud foundry_Spring 3.1,Cloud Foundry和本地开发

發(fā)布時間:2023/12/3 javascript 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 cloud foundry_Spring 3.1,Cloud Foundry和本地开发 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

cloud foundry

這篇文章將幫助您在Cloud Foundry上使用MongoDB構(gòu)建Spring 3.1 Web應用程序。 除了推動Cloud Foundry之外,您還可以使用MongoDB實例在本地環(huán)境中進行開發(fā)。

目標

此博客發(fā)布的目標是在本地構(gòu)建應用程序,然后發(fā)布到本地Cloud Foundry實例。 我們將利用Cloud Foundry運行時和新的Spring Profiles

建立

  • 使用Cloud Foundry創(chuàng)建帳戶( https://www.cloudfoundry.com/micro )
  • 按照說明設(shè)置您自己的Micro Cloud
  • 我使用VMWare的播放器
  • 驗證微云控制臺匹配的“ vmc信息”
  • 下載MongoDB(至少2.0版)
  • 安裝并熟悉Maven 3( http://maven.apache.org )
  • 熟悉Spring 3.1,Spring Data和Spring MongoDB
  • 克隆或下載源代碼( https://github.com/mike-ensor/first-cloud-app )
  • 使用以下命令在本地運行應用程序: mvn clean package cargo:run -DskipTests
  • 轉(zhuǎn)到http:// localhost:8080 / home

  • 個人資料

    Spring 3.1中的新功能是環(huán)境配置文件,開發(fā)人員可以使用該配置文件根據(jù)環(huán)境參數(shù)激活Bean組。 我發(fā)現(xiàn)了幾個“ 陷阱 ”,一個是使用概要文件對bean的無證訂購。

    看一下data-services.xml 。 請注意,之前如何定義MongoTemplate。 這違反了我的直覺,因為MongoTemplate引用了MongoFactory對象,該對象在MongoTemplate定義下定義。

    第二個“陷阱”來自何時何地設(shè)置參數(shù)以啟用Spring的配置文件。 文檔和博客沒有明確提到開發(fā)人員必須指定活動的配置文件。 文檔暗示“ 默認 ”默認情況下處于活動狀態(tài),但事實并非如此。 為了激活默認配置文件,我將其添加為貨物設(shè)置中的系統(tǒng)屬性。 (只要它是系統(tǒng)環(huán)境屬性,就可以隨時隨地設(shè)置它)。 看一下第40行附近的pom.xml文件,以獲取本地Maven屬性,然后看一下253行附近的環(huán)境變量。

    本地開發(fā)與云開發(fā)

    與Cloud Foundry進行交互的主要目標之一是,我希望有一個本地開發(fā)環(huán)境來加速和簡化開發(fā)并通過調(diào)試降低復雜性。 請注意
    data-services.xml中有一個“云”配置文件和一個“默認”文件。 “默認”概要文件的要點是具有在本地環(huán)境中構(gòu)造的bean。 您可以看到MongoFactory有兩種定義,一種使用Spring Data MongoDB的XML名稱空間,另一種使用CloudFoundry Runtime的名稱空間。 我不會講解為什么它們會如此工作,因此,如果您需要信息,請參閱http://blog.springsource.org/2011/04/12/cloud-foundry-for-spring-developers/和http://blog.springsource.org/2011/11/09/using-cloud-foundry-services-with-spring-applications-part-3-the-cloud-namespace/

    推向Cloud Foundry

    現(xiàn)在您已經(jīng)擁有了Webapp的本地運行實例,您將注意到該工件稱為“ first-cloud-app.war ”,您可以在“ / target”文件夾中找到該工件。 推送到Cloud Foundry實例時,這是一個問題,因為名稱不能包含任何非字母字符。 Cloud Foundry的vmc工具是從負責開源PaaS服務的VCAP開源項目構(gòu)建的。 另一個PaaS服務包括App Fog,它使您基本上可以使用相同的命令,但是將“ vmc”替換為“ af”。 兩種服務都是命名問題的受害者。

    為了解決命名問題,我創(chuàng)建了一個Maven配置文件 ,將WAR工件構(gòu)建為“ mikeensor.war”。 請更改此名稱以匹配您應用程序的名稱,因為您沒有要發(fā)布的用戶名/密碼(或DNS)要發(fā)布到我的微型實例。 該名稱必須適合URL模式http:// < applicationname >。 .cloudfoundry.me。

    要將其發(fā)布到本地Cloud Foundry微型實例,請轉(zhuǎn)到根文件夾并鍵入以下內(nèi)容。 (這是假設(shè)您的微型實例正在運行,并且沒有“紅色”錯誤。

    mvn clean package -Pcloud vmc push <application name> -path target/

    (如果您之前已經(jīng)推送過,則需要輸入:

    vmc update <application name> -path target/

    注意:可以將Maven插件用于Cloud Foundry,但是,在不更改工件名稱的情況下,我仍然無法使其正常工作。 啟用并連接到服務

    您必須創(chuàng)建一個或多個服務,以便您的應用程序可以綁定到數(shù)據(jù)源。 當將應用程序加載到Cloud Foundry中時,VCAP(vmc)應用程序處理配置的工作方式。 它通過在命名空間配置元素中使用的環(huán)境變量來執(zhí)行此操作。

    在我的示例中,我通過輸入以下內(nèi)容創(chuàng)建了MongoDB服務:

    vmc create-service mongodb --name <what you want to call your instance>

    我將其命名為“ second”(因為我已經(jīng)創(chuàng)建了“ first”),您將看到在data-services.xml中 ,云XML配置引用了服務的名稱。

    請注意,如果您有多個MongoDB實例,則要使用其他實例時,需要進行一些Spring配置(@Qualifier)。 此博客文章未涵蓋此內(nèi)容。

    現(xiàn)在,您需要將服務“綁定”到您的應用程序。 通過鍵入以下內(nèi)容來完成:

    vmc bind-service <name above> <application name>


    測試出來

    您應該可以轉(zhuǎn)到http:// 。 .cloudfoundry.me / home(例如:http://mikeensor.mikeensor.cloudfoundry.me/home)

    恭喜你! 您不僅應該已成功部署到綁定到MongoDB實例的Cloud Foundry(微型實例),而且還應該能夠在您的本地環(huán)境中運行! 如果有時間,我將嘗試添加更詳細的功能,例如多種類型的存儲,并在找到它們時發(fā)布其他“陷阱”。

    參考: Spring 3.1 + Cloud Foundry +我們JCG合作伙伴 Mike的本地開發(fā) ,在Mike的站點博客上進行。

    翻譯自: https://www.javacodegeeks.com/2012/11/spring-3-1-cloud-foundry-and-local-development.html

    cloud foundry

    創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎

    總結(jié)

    以上是生活随笔為你收集整理的cloud foundry_Spring 3.1,Cloud Foundry和本地开发的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。