stonar96

Connection Pool Tutorial ConnectionBukkitRunnable

Jan 31st, 2016
629
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.02 KB | None | 0 0
  1. public class ConnectionBukkitRunnable extends BukkitRunnable {
  2.     private final DataSource dataSource;
  3.     private final Callback<Connection, SQLException> callback;
  4.    
  5.     public ConnectionBukkitRunnable(DataSource dataSource, @Nullable Callback<Connection, SQLException> callback) {
  6.         if (dataSource == null) {
  7.             //TODO: IllegalArgumentException
  8.         }
  9.        
  10.         if (callback == null) {
  11.             //TODO: IllegalArgumentException
  12.         }
  13.        
  14.         this.dataSource = dataSource;
  15.         this.callback = callback;
  16.     }
  17.    
  18.     @Override
  19.     public void run() {
  20.         Connection connection = null;
  21.        
  22.         try {
  23.             connection = dataSource.getConnection();
  24.             connection.setAutoCommit(false);
  25.             callback.call(connection, null);
  26.         } catch (SQLException e) {
  27.             callback.call(null, e);
  28.         } finally {
  29.             if (connection != null) {
  30.                 try {
  31.                     connection.setAutoCommit(true);
  32.                 } catch (SQLException e) {
  33.                     e.printStackTrace();
  34.                 }
  35.                
  36.                 try {
  37.                     connection.close();
  38.                 } catch (SQLException e) {
  39.                     e.printStackTrace();
  40.                 }
  41.             }
  42.         }
  43.     }
  44. }
Add Comment
Please, Sign In to add comment