Advertisement
Guest User

Untitled

a guest
Nov 9th, 2018
152
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 6.13 KB | None | 0 0
  1. //Ошибка
  2.  
  3. java.sql.SQLTransientConnectionException: HikariPool-1 - Connection is not available, request timed out after 30001ms.
  4.     at com.zaxxer.hikari.pool.HikariPool.createTimeoutException(HikariPool.java:602)
  5.     at com.zaxxer.hikari.pool.HikariPool.getConnection(HikariPool.java:195)
  6.     at com.zaxxer.hikari.pool.HikariPool.getConnection(HikariPool.java:145)
  7.     at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:85)
  8.     at ConnectionPooling.DataSource.getConnection(DataSource.java:28)
  9.     at interfaces.GetPersonalInformation.downloadInformation(GetPersonalInformation.java:25)
  10.     at controllers.PrivateInfo.setStaff(PrivateInfo.java:187)
  11.     at controllers.ListStaff.lambda$initListeners$2(ListStaff.java:135)
  12.     at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:86)
  13.     at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:238)
  14.     at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191)
  15.     at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59)
  16.     at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)
  17.     at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
  18.     at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
  19.     at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
  20.     at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
  21.     at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
  22.     at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)
  23.     at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:54)
  24.     at javafx.event.Event.fireEvent(Event.java:198)
  25.     at javafx.scene.Scene$ClickGenerator.postProcess(Scene.java:3470)
  26.     at javafx.scene.Scene$ClickGenerator.access$8100(Scene.java:3398)
  27.     at javafx.scene.Scene$MouseHandler.process(Scene.java:3766)
  28.     at javafx.scene.Scene$MouseHandler.access$1500(Scene.java:3485)
  29.     at javafx.scene.Scene.impl_processMouseEvent(Scene.java:1762)
  30.     at javafx.scene.Scene$ScenePeerListener.mouseEvent(Scene.java:2494)
  31.     at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:394)
  32.     at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:295)
  33.     at java.security.AccessController.doPrivileged(Native Method)
  34.     at com.sun.javafx.tk.quantum.GlassViewEventHandler.lambda$handleMouseEvent$353(GlassViewEventHandler.java:432)
  35.     at com.sun.javafx.tk.quantum.QuantumToolkit.runWithoutRenderLock(QuantumToolkit.java:389)
  36.     at com.sun.javafx.tk.quantum.GlassViewEventHandler.handleMouseEvent(GlassViewEventHandler.java:431)
  37.     at com.sun.glass.ui.View.handleMouseEvent(View.java:555)
  38.     at com.sun.glass.ui.View.notifyMouse(View.java:937)
  39.     at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
  40.     at com.sun.glass.ui.win.WinApplication.lambda$null$147(WinApplication.java:177)
  41.     at java.lang.Thread.run(Thread.java:748)
  42.  
  43. //Настройки
  44.  
  45. package ConnectionPooling;
  46.  
  47. import com.zaxxer.hikari.HikariConfig;
  48. import com.zaxxer.hikari.HikariDataSource;
  49.  
  50. import java.sql.Connection;
  51. import java.sql.SQLException;
  52.  
  53. public class DataSource {
  54.  
  55.     private static HikariConfig config = new HikariConfig();
  56.     private static HikariDataSource ds;
  57.  
  58.     static {
  59.         config.setJdbcUrl( "jdbc:mysql://localhost:3306/office_datas?" +
  60.                 "useUnicode=true&characterEncoding=utf-8" );
  61.         config.setUsername( "root" );
  62.         config.setPassword( "" );
  63.         config.addDataSourceProperty( "cachePrepStmts" , "true" );
  64.         config.addDataSourceProperty( "prepStmtCacheSize" , "250" );
  65.         config.addDataSourceProperty( "prepStmtCacheSqlLimit" , "2048" );
  66.         ds = new HikariDataSource( config );
  67.     }
  68.  
  69.     private DataSource() {}
  70.  
  71.     public static Connection getConnection() throws SQLException {
  72.         return ds.getConnection();
  73.     }
  74. }
  75.  
  76. //Код, где я закрываю connect и preparedStatment
  77. public static void closeConnections(PreparedStatement preparedStatement, Connection connection){
  78.         System.out.println("closeConnections");
  79.         if (connection != null) {
  80.             try {
  81.                 connection.rollback();
  82.             } catch (SQLException ex) {
  83.                 ex.printStackTrace();
  84.             }
  85.         }
  86.  
  87.         if (preparedStatement != null) {
  88.             try {
  89.                 preparedStatement.close();
  90.                 assert connection != null;
  91.                 connection.close();
  92.             } catch (SQLException e) {
  93.                 e.printStackTrace();
  94.             }
  95.         }
  96.     }
  97.     public static void closeConnections(PreparedStatement preparedStatement){
  98.         System.out.println("closeConnections");
  99.  
  100.         if (preparedStatement != null) try {
  101.             preparedStatement.close();
  102.         } catch (SQLException e) {
  103.             e.printStackTrace();
  104.         }
  105.     }
  106.     public static void closeConnections(Connection connection){
  107.         System.out.println("closeConnections1");
  108.         if (connection != null) {
  109.             try {
  110.                 connection.rollback();
  111.             } catch (SQLException ex) {
  112.                 ex.printStackTrace();
  113.             }
  114.         }
  115.     }
  116.  
  117. //Код запроса
  118. public void fillData(Integer id) {
  119.         PreparedStatement preparedStatement = null;
  120.         try {
  121.             connection = DataSource.getConnection();
  122.             connection.setAutoCommit(false);
  123.             preparedStatement = DataSource.getConnection().prepareStatement(
  124.                             "SELECT * FROM training WHERE idStaff = ?");
  125.             preparedStatement.setInt(1, id);
  126.             processAnswer(preparedStatement.executeQuery());
  127.             connection.commit();
  128.         } catch (SQLException e) {
  129.             e.printStackTrace();
  130.             SetupClearButtonField.closeConnections(connection);
  131.         }finally {
  132.             SetupClearButtonField.closeConnections(preparedStatement, connection);
  133.         }
  134.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement