Skip to content

Commit 4ce65f3

Browse files
committed
make recycling pooled connection events emitted on the eventloop context associated with connection pool
Signed-off-by: Billy Yuan <billy112487983@gmail.com>
1 parent 2cbb517 commit 4ce65f3

File tree

1 file changed

+8
-4
lines changed

1 file changed

+8
-4
lines changed

vertx-sql-client/src/main/java/io/vertx/sqlclient/impl/pool/ConnectionPool.java

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -169,6 +169,14 @@ public void init(Holder holder) {
169169

170170
@Override
171171
public void close(Holder holder, Promise<Void> promise) {
172+
if (context != null) {
173+
context.dispatch(v -> doClose(holder, promise));
174+
} else {
175+
doClose(holder, promise);
176+
}
177+
}
178+
179+
private void doClose(Holder holder, Promise<Void> promise) {
172180
if (holder != this.holder) {
173181
String msg;
174182
if (this.holder == null) {
@@ -242,10 +250,6 @@ private void check() {
242250
while (waiters.size() > 0) {
243251
if (available.size() > 0) {
244252
PooledConnection proxy = available.poll();
245-
if (proxy == null) {
246-
// available is empty?
247-
return;
248-
}
249253
Handler<AsyncResult<Connection>> waiter = waiters.poll();
250254
waiter.handle(Future.succeededFuture(proxy));
251255
} else {

0 commit comments

Comments
 (0)