VCAP_SERVICES返回null

时间:2015-08-12 14:47:47

标签: java-ee environment-variables ibm-cloud

我有下一个代码将我的应用程序连接到DB2数据库:

public static Connection init() {
    String VCAP_SERVICES = System.getenv("VCAP_SERVICES");
    Connection con = null;
    if (VCAP_SERVICES != null) {
        JSONObject vcap;
        try {
            vcap = (JSONObject) JSON.parse(VCAP_SERVICES);
            if(vcap.get("sqldb") != null) {                 
                con = initSQLDataBase();
            }
        } catch(IOException ex) {
            ex.printStackTrace();
        }   
    }
    return con;
}

我的问题是它永远不会执行 if ,因为 System.getenv(" VCAP_SERVICES")总是返回null。

在Bluemix中存在VCAP_SERVICES,我可以在Eclipse的Database Development Plugin中连接我的数据库,所以我不知道我的代码有什么问题。

有人可以帮助我吗?

非常感谢你,我的英语很差。

[编辑]:问题解决了。这是代码中其他地方的问题。抱歉。

1 个答案:

答案 0 :(得分:1)

是的,看起来您没有定义获取SQLDB的密钥。下面的链接中有一个非常详细的代码片段,向您展示如何解析vcap服务:

https://www.ng.bluemix.net/docs/services/SQLDB/index.html#parse-vcap-in-java