2017-04-14 46 views
-1

我是雲世界的新手。我正在使用雲代工廠將我的戰爭文件部署到PAAS雲。 我的應用程序不是彈簧引導應用程序。 我的應用程序還連接到外部數據庫。如何爲運行在雲上的應用程序配置外部數據庫

我使用tomcat作爲服務器。 如何部署我的戰爭並使java-buildpack tomcat瞭解數據庫配置?

回答

0

你不能讓tomcat構建包來決定任何數據庫設置。構建包只是一種定義應用程序的運行時依賴關係的方法,如java tomcat等。

要連接到數據庫,您需要數據庫服務。在雲代工廠中,每個外部服務(如數據庫,mq等)都必須用作服務。 U需要將這些服務綁定到您的應用程序,並且應用程序可以讀取這些屬性並使該數據源連接脫離該服務。

例如 Pivotal Web服務(run.pivotal.io - Pivotal提供的Cloud Foundry)提供了一個名爲p-mysql的MYSQL服務。你可以在雲代工市場看到這個(市場是一個可以在雲代工廠看到不同服務的地方,cf marketplace命令可以用來看這個)。

http://docs.pivotal.io/p-mysql/1-8/ 

此服務有不同的計劃。您可以選擇適合您需求的計劃。然後,您可以在您的雲代工空間內創建一個像mymysqlservice這樣的邏輯名稱的p-mysql服務。

然後在您的應用程序清單中,您可以定義必須綁定到應用程序的服務。

services: 
    - mymysqlservice 
    - myrabbitmqservice 

如果你這樣做,然後按下應用到Cloud Foundry,然後在運行時應用程序可以找到數據庫的屬性(如URL,用戶名,密碼等)在名爲VCAP_SERVICES系統環境變量。

https://docs.run.pivotal.io/devguide/deploy-apps/environment-variable.html#VCAP_SERVICES 

可以使用這些屬性在您的應用程序中創建數據源。

春雨雲項目下的Spring云云代工項目,提供有用的簡單方法來自動發現這些服務,並將數據源注入到Spring應用程序中。

http://cloud.spring.io/spring-cloud-connectors/spring-cloud-spring-service-connector.html#_relational_database_db2_mysql_oracle_postgresql_sql_server_2 

因此,在雲代工廠內部,每個外部服務都將是一個必須在市場內定義的服務。

如果您有自己的雲代工廠部署,那麼您需要在您的雲代工廠部署中定義自己的rdbms服務,該服務稍後可用於創建服務並綁定到應用程序。

相關問題