BoneCP ile mysql bağlantılarını havuza kurmak için bir uygulama ayarlamam var. Şu anda, uygulama bir ton kullanım almıyor, bu yüzden bağlantılar sık kullanılmıyor. Belli bir süre geçtikten sonra, bir kez çalıştı sorguları başarısız başlar ve bu benzer mesajları almak:Java BoneCP MySQL bağlantısı zaman aşımına uğradı
com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
The last packet successfully received from the server was 2,618,063 milliseconds ago. The last packet sent successfully to the server was 44,734 milliseconds ago.
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1117)
at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:3567)
at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:3456)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3997)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2468)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2629)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2719)
at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2155)
at com.mysql.jdbc.PreparedStatement.execute(PreparedStatement.java:1379)
at com.jolbox.bonecp.PreparedStatementHandle.execute(PreparedStatementHandle.java:138)
böyle BoneCP kuruyorum:
BoneCPConfig config = new BoneCPConfig();
config.setJdbcUrl("jdbc:mysql://" + hostname + "/" + database);
config.setUsername(username);
config.setPassword(password);
config.setMinConnectionsPerPartition(minPoolSize);
config.setMaxConnectionsPerPartition(maxPoolSize);
config.setIdleConnectionTestPeriodInMinutes(60);
config.setIdleMaxAgeInMinutes(240);
config.setPartitionCount(1);
connectionPool = new BoneCP(config);
ben emin değilim zaman aşımı mysql sunucu için ne olduğunu öğrenmek için (varsayılan ne olursa olsun değiştirilmedi), ama bu hatayı hemen hemen kısa görünüyor gibi hiçbir bağlantı havuzu etkinliği, 5 veya 10 dakika sonra olsun.
Teşekkür Canlı deyim bölümü ve Mysql boşta kalma zaman aşımı için değişken adları. İkisini de kontrol ettim ve ikisi de 8 saattir. Ve şu anda yaptığım testte, program sadece bir saate en fazla 30 dakika koşuyor. Canlı tutma ifadelerini deneyeceğim ve size bildireceğim! – Nick
Bu, sorunu çözmüş görünüyor! Teşekkürler! – Nick