Exemple #1
0
 @Override
 public DbFuture<Void> close(CloseMode closeMode) throws DbException {
   synchronized (lock) {
     if (null == closeFuture) {
       final MySqlRequest closeRequest = MySqlRequests.createCloseRequest(this);
       closeFuture = closeRequest.getFuture();
       closeFuture.addListener(
           new DbListener<Void>() {
             @Override
             public void onCompletion(DbFuture<Void> future) {
               MySqlConnection.this.connectionManager.removeConnection(MySqlConnection.this);
             }
           });
       if (closeMode == CloseMode.CANCEL_PENDING_OPERATIONS) {
         forceCloseOnPendingRequests();
       }
       forceQueRequest(closeRequest);
       return closeFuture;
     } else {
       return closeFuture;
     }
   }
 }