Skip to content

Commit 88939bb

Browse files
author
chengyitian
committed
Merge remote-tracking branch 'origin/dev' into dev
2 parents 563c87d + e683d95 commit 88939bb

File tree

2 files changed

+9
-22
lines changed

2 files changed

+9
-22
lines changed

src/com/xxdb/SimpleDBConnectionPool.java

Lines changed: 7 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
import com.xxdb.data.BasicInt;
44
import org.slf4j.Logger;
55
import org.slf4j.LoggerFactory;
6-
76
import java.io.IOException;
87
import java.util.ArrayList;
98
import java.util.Objects;
@@ -97,12 +96,8 @@ protected class SimpleDBConnectionPoolImpl {
9796
try {
9897
for (int i = 0; i < initialPoolSize; i++) {
9998
PoolEntry poolEntry = new PoolEntry(useSSL, compress, usePython, String.format("DolphinDBConnection_%d", i + 1));
100-
if (poolEntry.connect(hostName, port, userId, password, initialScript, enableHighAvailability, highAvailabilitySites, reconnect, loadBalance)) {
101-
poolEntry.isFirstConnect = false;
102-
poolEntry.isFirstLogin = false;
103-
}else {
99+
if (!poolEntry.entryConnect(hostName, port, userId, password, initialScript, enableHighAvailability, highAvailabilitySites, reconnect, loadBalance))
104100
log.error(String.format("Connection %s connect failure.", poolEntry.connectionName));
105-
}
106101
poolEntryArrayList.add(poolEntry);
107102
}
108103
poolEntries = new CopyOnWriteArrayList<>(poolEntryArrayList);
@@ -161,19 +156,13 @@ boolean isClosed() {
161156

162157
class PoolEntry extends DBConnection {
163158
AtomicBoolean inUse = new AtomicBoolean(false);
164-
volatile boolean isFirstConnect = true;
165-
volatile boolean isFirstLogin = true;
166159
String connectionName;
167160

168161
PoolEntry(boolean useSSL, boolean compress, boolean usePython, String connectionName) {
169162
super(false, useSSL, compress, usePython);
170163
this.connectionName = connectionName;
171164
}
172165

173-
String getConnectionName() {
174-
return connectionName;
175-
}
176-
177166
boolean isIdle() {
178167
return !this.inUse.get();
179168
}
@@ -183,20 +172,18 @@ public void setLoadBalance(boolean loadBalance) {
183172
throw new RuntimeException("The loadBalance configuration of connection in connection pool can only be set in SimpleDBConnectionPoolConfig.");
184173
}
185174

175+
private boolean entryConnect(String hostName, int port, String userId, String password, String initialScript, boolean enableHighAvailability, String[] highAvailabilitySites, boolean reconnect, boolean enableLoadBalance) throws IOException {
176+
return super.connect(hostName, port, userId, password, initialScript, enableHighAvailability, highAvailabilitySites, reconnect, enableLoadBalance);
177+
}
178+
186179
@Override
187180
public boolean connect(String hostName, int port, String userId, String password, String initialScript, boolean enableHighAvailability, String[] highAvailabilitySites, boolean reconnect, boolean enableLoadBalance) throws IOException {
188-
if (isFirstConnect)
189-
return super.connect(hostName, port, userId, password, initialScript, enableHighAvailability, highAvailabilitySites, reconnect, enableLoadBalance);
190-
else
191-
throw new RuntimeException("The connection in connection pool can only connect by pool.");
181+
throw new RuntimeException("The connection in connection pool can only connect by pool.");
192182
}
193183

194184
@Override
195185
public void login(String userId, String password, boolean enableEncryption) throws IOException {
196-
if (isFirstLogin)
197-
super.login(userId, password, enableEncryption);
198-
else
199-
throw new RuntimeException("The connection in connection pool can only login by pool.");
186+
throw new RuntimeException("The connection in connection pool can only login by pool.");
200187
}
201188

202189
@Override

src/com/xxdb/SimpleDBConnectionPoolConfig.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -137,12 +137,12 @@ protected void validate() {
137137
userId = getNullIfEmpty(userId);
138138
if (Objects.isNull(userId)){
139139
userId = "";
140-
log.warn("Log in needs userId.");
140+
log.warn("Login needs userId.");
141141
}
142142
password = getNullIfEmpty(password);
143143
if (Objects.isNull(password)){
144144
password = "";
145-
log.warn("Log in needs password.");
145+
log.warn("Login needs password.");
146146
}
147147
if (initialPoolSize <= 0) {
148148
initialPoolSize = 5;

0 commit comments

Comments
 (0)