相关参考资料以下: css
补充:由于cloud foundry如今支持的框架不够多,当用到一些暂时没有被cloud foundry支持的框架时,用普通方法部署不上去(好比我用了google guice时,我就部署不上去,不知道有没有其余办法),因此我把app放到tomcat里,做为一个独立应用上传到cloud foundry。可是这样我没办法让cloud foundry自动帮我绑定一个数据库,因此我想了如下办法去链接数据库。 html
我部署上去的应用在这里:http://gentlesummer.cloudfoundry.com java
如下过程用到的是:tomcat6+mysql+jsp。过程的关键是:读取云环境里的VCAP_SERVICES变量(数据格式是JSON),这个变量里包括了链接数据库的关键参数:ip、端口、用户名、密码等。 mysql
如今假设我已经按照上述教程,把一个tomcat应用服务其改装好了,也安装了vmc工具。剩下的步骤是把tomcat push到cloud foundry上,建立一个数据库服务绑定到刚上传的应用上,并想办法取得链接mysql的必要参数。 web
在把tomcat push到cloud foundry上以前,咱们如今tomcat的webapps/ROOT目录里新建一个jsp文件,假设文件名是test.jsp,文件内容大体以下: sql
<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>My JSP 'MyJsp.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> --> </head> <body> <%=java.lang.System.getenv("VCAP_SERVICES") %> <span style="color:red;font-size:50px">test</span> </body> </html>
body内的内容是关键。 数据库
而后,回到tomcat的基目录,执行命令把tomcat push到cloud foundry上,命令以下图: tomcat
咱们打开网址测试一下tomcat是否正常: app
貌似正常,的确是正常!只是大括号里没有内容。下面咱们往大括号里填写内容。 框架
建立服务和绑定服务的过程以下:
服务绑定成功。咱们再刷新一下刚才打开的那个页面看看:
发现多了不少内容,咱们把黑色字体所有复制下来,拿到这里用JSON格式化工具进行格式化,结果以下:
{ "mysql-5.1": [ { "name": "testservice", "label": "mysql-5.1", "plan": "free", "tags": [ "relational", "mysql-5.1", "mysql" ], "credentials": { "name": "d742c33a4140445ed990c21d51e0bd63d", /*数据库名*/ "hostname": "172.30.48.29", /*机器名*/ "host": "172.30.48.29", /*ip地址*/ "port": 3306, /*端口号*/ "user": "uviTBqaCTlU5J", /*用户*/ "username": "uviTBqaCTlU5J", /*用户名*/ "password": "pLJKolSPQ33jT" /*链接密码*/ } } ] }
这是一段JSON格式的数据,里面包含了数据库服务的一些信息,应用要链接绑定的数据库的话,以上参数已经足够了。固然在实际中,咱们并不须要写个jsp页面把这些JSON数据返回,再人工进行处理。而是直接在应用里写程序,把这些数据解析出来后,就能够链接数据库了。这里只是为了直观而写个jsp把数据返回来,作示例。