मेरे पास बोनसीपी के साथ mysql कनेक्शन पूल करने के लिए एक एप्लिकेशन स्थापित है। अभी, एप्लिकेशन को उपयोग का एक टन नहीं मिल रहा है, इसलिए कनेक्शन अक्सर उपयोग नहीं किया जाता है। समय की एक निश्चित राशि के बाद, प्रश्नों है कि एक बार काम किया, असफल होना शुरू, और मैं इस के लिए इसी तरह के संदेश मिलता है:जावा बोनसीपी MySQL कनेक्शन समय
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)
मैं इस तरह BoneCP की स्थापना कर रहा हूँ:
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);
मैं अनिश्चित हूँ mysql सर्वर के लिए टाइमआउट क्या है यह पता लगाने के लिए (यह डिफ़ॉल्ट रूप से जो भी बदला गया है) से नहीं बदला गया है, लेकिन मुझे कनेक्शन त्रुटि गतिविधि के लगभग 5 या 10 मिनट के बाद यह त्रुटि मिलती है, जो बहुत कम लगता है।
रखना और के लिए धन्यवाद जीवित कथन भाग, और MySQL निष्क्रिय टाइमआउट के लिए चर नाम। मैंने उन दोनों की जांच की, और वे दोनों 8hrs के डिफ़ॉल्ट पर हैं। और अभी परीक्षण में मैं कर रहा हूं, कार्यक्रम केवल 30 मिनट अधिकतम घंटे के लिए चल रहा है। मैं जीवित बयान जारी करने की कोशिश करूंगा और आपको बता दूंगा! – Nick
ऐसा लगता है कि समस्या ठीक हो गई है! धन्यवाद! – Nick