Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Ошибка
- java.sql.SQLTransientConnectionException: HikariPool-1 - Connection is not available, request timed out after 30001ms.
- at com.zaxxer.hikari.pool.HikariPool.createTimeoutException(HikariPool.java:602)
- at com.zaxxer.hikari.pool.HikariPool.getConnection(HikariPool.java:195)
- at com.zaxxer.hikari.pool.HikariPool.getConnection(HikariPool.java:145)
- at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:85)
- at ConnectionPooling.DataSource.getConnection(DataSource.java:28)
- at interfaces.GetPersonalInformation.downloadInformation(GetPersonalInformation.java:25)
- at controllers.PrivateInfo.setStaff(PrivateInfo.java:187)
- at controllers.ListStaff.lambda$initListeners$2(ListStaff.java:135)
- at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:86)
- at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:238)
- at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191)
- at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59)
- at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)
- at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
- at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
- at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
- at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
- at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
- at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)
- at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:54)
- at javafx.event.Event.fireEvent(Event.java:198)
- at javafx.scene.Scene$ClickGenerator.postProcess(Scene.java:3470)
- at javafx.scene.Scene$ClickGenerator.access$8100(Scene.java:3398)
- at javafx.scene.Scene$MouseHandler.process(Scene.java:3766)
- at javafx.scene.Scene$MouseHandler.access$1500(Scene.java:3485)
- at javafx.scene.Scene.impl_processMouseEvent(Scene.java:1762)
- at javafx.scene.Scene$ScenePeerListener.mouseEvent(Scene.java:2494)
- at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:394)
- at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:295)
- at java.security.AccessController.doPrivileged(Native Method)
- at com.sun.javafx.tk.quantum.GlassViewEventHandler.lambda$handleMouseEvent$353(GlassViewEventHandler.java:432)
- at com.sun.javafx.tk.quantum.QuantumToolkit.runWithoutRenderLock(QuantumToolkit.java:389)
- at com.sun.javafx.tk.quantum.GlassViewEventHandler.handleMouseEvent(GlassViewEventHandler.java:431)
- at com.sun.glass.ui.View.handleMouseEvent(View.java:555)
- at com.sun.glass.ui.View.notifyMouse(View.java:937)
- at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
- at com.sun.glass.ui.win.WinApplication.lambda$null$147(WinApplication.java:177)
- at java.lang.Thread.run(Thread.java:748)
- //Настройки
- package ConnectionPooling;
- import com.zaxxer.hikari.HikariConfig;
- import com.zaxxer.hikari.HikariDataSource;
- import java.sql.Connection;
- import java.sql.SQLException;
- public class DataSource {
- private static HikariConfig config = new HikariConfig();
- private static HikariDataSource ds;
- static {
- config.setJdbcUrl( "jdbc:mysql://localhost:3306/office_datas?" +
- "useUnicode=true&characterEncoding=utf-8" );
- config.setUsername( "root" );
- config.setPassword( "" );
- config.addDataSourceProperty( "cachePrepStmts" , "true" );
- config.addDataSourceProperty( "prepStmtCacheSize" , "250" );
- config.addDataSourceProperty( "prepStmtCacheSqlLimit" , "2048" );
- ds = new HikariDataSource( config );
- }
- private DataSource() {}
- public static Connection getConnection() throws SQLException {
- return ds.getConnection();
- }
- }
- //Код, где я закрываю connect и preparedStatment
- public static void closeConnections(PreparedStatement preparedStatement, Connection connection){
- System.out.println("closeConnections");
- if (connection != null) {
- try {
- connection.rollback();
- } catch (SQLException ex) {
- ex.printStackTrace();
- }
- }
- if (preparedStatement != null) {
- try {
- preparedStatement.close();
- assert connection != null;
- connection.close();
- } catch (SQLException e) {
- e.printStackTrace();
- }
- }
- }
- public static void closeConnections(PreparedStatement preparedStatement){
- System.out.println("closeConnections");
- if (preparedStatement != null) try {
- preparedStatement.close();
- } catch (SQLException e) {
- e.printStackTrace();
- }
- }
- public static void closeConnections(Connection connection){
- System.out.println("closeConnections1");
- if (connection != null) {
- try {
- connection.rollback();
- } catch (SQLException ex) {
- ex.printStackTrace();
- }
- }
- }
- //Код запроса
- public void fillData(Integer id) {
- PreparedStatement preparedStatement = null;
- try {
- connection = DataSource.getConnection();
- connection.setAutoCommit(false);
- preparedStatement = DataSource.getConnection().prepareStatement(
- "SELECT * FROM training WHERE idStaff = ?");
- preparedStatement.setInt(1, id);
- processAnswer(preparedStatement.executeQuery());
- connection.commit();
- } catch (SQLException e) {
- e.printStackTrace();
- SetupClearButtonField.closeConnections(connection);
- }finally {
- SetupClearButtonField.closeConnections(preparedStatement, connection);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement