X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Forg%2Fonap%2Fdmaap%2Fdbcapi%2Fdatabase%2FConnectionFactory.java;h=dc79cfe69c6af12d644389b50fb3e5d5a6eac670;hb=refs%2Fchanges%2F02%2F101102%2F2;hp=aee3ff1b2ef09c2761a61bbab8fb3b2440190454;hpb=9f2dfd0f577f3ad6bae0b110b89c72267ff6f914;p=dmaap%2Fdbcapi.git diff --git a/src/main/java/org/onap/dmaap/dbcapi/database/ConnectionFactory.java b/src/main/java/org/onap/dmaap/dbcapi/database/ConnectionFactory.java index aee3ff1..dc79cfe 100644 --- a/src/main/java/org/onap/dmaap/dbcapi/database/ConnectionFactory.java +++ b/src/main/java/org/onap/dmaap/dbcapi/database/ConnectionFactory.java @@ -3,6 +3,7 @@ * org.onap.dmaap * ================================================================================ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + * Modifications Copyright (C) 2019 IBM. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -26,6 +27,7 @@ import java.util.*; import com.att.eelf.configuration.EELFLogger; import com.att.eelf.configuration.EELFManager; +import java.util.concurrent.TimeUnit; import org.onap.dmaap.dbcapi.util.DmaapConfig; public class ConnectionFactory { @@ -36,6 +38,7 @@ public class ConnectionFactory { static final EELFLogger errorLogger = EELFManager.getInstance().getErrorLogger(); static final EELFLogger metricsLogger = EELFManager.getInstance().getMetricsLogger(); static final EELFLogger serverLogger = EELFManager.getInstance().getServerLogger(); + static final int PREPARE_PSQL_CONNECTION_ATTEMPTS = 5; static { try { @@ -55,10 +58,19 @@ public class ConnectionFactory { Properties p = DmaapConfig.getConfig(); host = p.getProperty("DB.host", "dcae-pstg-write-ftl.domain.notset.com"); dbname = p.getProperty("DB.name", "dmaap"); - dbuser = p.getProperty("DB.user", "dmaap_admin"); - dbcr = p.getProperty("DB.cred", "test234-ftl"); + dbuser = getValue(p, "DB.user", "dmaap_admin"); + dbcr = getValue(p, "DB.cred", "test234-ftl"); schema = p.getProperty("DB.schema", "public"); } + + private static String getValue(final Properties props, final String value, final String defaultValue) { + String prop = props.getProperty(value, defaultValue); + if (prop != null && prop.matches("[$][{].*[}]$")) { + return System.getenv(prop.substring(2, prop.length() - 1)); + } + return prop; + } + public static ConnectionFactory getDefaultInstance() { return(instance); } @@ -75,6 +87,14 @@ public class ConnectionFactory { Properties p = new Properties(); p.put("user", dbuser); p.put("password", dbcr); + for (int i=1; i