Code Review
/
dmaap
/
dbcapi.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
Merge "Sonar Fix - ConnectionFactory.java"
[dmaap/dbcapi.git]
/
src
/
main
/
java
/
org
/
onap
/
dmaap
/
dbcapi
/
database
/
ConnectionFactory.java
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
..
e32b8e0
100644
(file)
--- 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.
* 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.
* ================================================================================
* 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 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 {
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 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 {
static {
try {
@@
-75,6
+78,14
@@
public class ConnectionFactory {
Properties p = new Properties();
p.put("user", dbuser);
p.put("password", dbcr);
Properties p = new Properties();
p.put("user", dbuser);
p.put("password", dbcr);
+ for (int i=1; i<PREPARE_PSQL_CONNECTION_ATTEMPTS; i++){
+ try{
+ return(DriverManager.getConnection("jdbc:postgresql://" + host + "/" + dbname, p));
+ }catch(SQLException e){
+ logger.error("Unable to connect to the postgres server. " + i + "attempt failed. ", e);
+ waitFor(1);
+ }
+ }
return(DriverManager.getConnection("jdbc:postgresql://" + host + "/" + dbname, p));
}
public String getSchema() {
return(DriverManager.getConnection("jdbc:postgresql://" + host + "/" + dbname, p));
}
public String getSchema() {
@@
-93,4
+104,12
@@
public class ConnectionFactory {
logger.error("Error", e);
}
}
logger.error("Error", e);
}
}
+ private void waitFor(long seconds){
+ try {
+ TimeUnit.SECONDS.sleep(seconds);
+ } catch (InterruptedException e) {
+ logger.debug("Waiting interrupted. ", e);
+ Thread.currentThread().interrupt();
+ }
+ }
}
}