मैं एक प्रश्न पोस्ट करता हूं here मुझे यह त्रुटि हाइबरनेट क्वेरी चलाने के बाद दिखाई देती है और मुझे नहीं पता कि इसका क्या अर्थ है। तो मैं कुछ मिनट बाद क्वेरी को दोबारा शुरू करता हूं, फिर मुझे त्रुटि नहीं है, लेकिन मैं जानना चाहता हूं कि मुझे यह कैसे मिलता है और इसे कैसे ठीक किया जाए।एक पूलड कनेक्शन जो पहले से ही कनेक्शन त्रुटि का संकेत दे चुका है, अभी भी उपयोग में है
WARN com.mchange.v2.c3p0.impl.NewPooledConnection - [c3p0] A PooledConnection that has already signalled a Connection error is still in use!
WARN com.mchange.v2.c3p0.impl.NewPooledConnection - [c3p0] Another error has occurred [ java.sql.SQLException: Invalid state, the Connection object is closed. ] which will not be reported to listeners!
java.sql.SQLException: Invalid state, the Connection object is closed.
at net.sourceforge.jtds.jdbc.ConnectionJDBC2.checkOpen(ConnectionJDBC2.java:1713)
at net.sourceforge.jtds.jdbc.ConnectionJDBC2.clearWarnings(ConnectionJDBC2.java:2020)
at com.mchange.v2.c3p0.impl.NewProxyConnection.clearWarnings(NewProxyConnection.java:933)
at org.hibernate.util.JDBCExceptionReporter.handleAndClearWarnings(JDBCExceptionReporter.java:71)
at org.hibernate.util.JDBCExceptionReporter.logAndClearWarnings(JDBCExceptionReporter.java:49)
at org.hibernate.jdbc.ConnectionManager.closeConnection(ConnectionManager.java:472)
at org.hibernate.jdbc.ConnectionManager.aggressiveRelease(ConnectionManager.java:429)
at org.hibernate.jdbc.ConnectionManager.afterStatement(ConnectionManager.java:304)
at org.hibernate.jdbc.AbstractBatcher.closePreparedStatement(AbstractBatcher.java:572)
at org.hibernate.jdbc.AbstractBatcher.closeStatement(AbstractBatcher.java:291)
at org.hibernate.jdbc.AbstractBatcher.closeQueryStatement(AbstractBatcher.java:307)
at org.hibernate.jdbc.AbstractBatcher.closeQueryStatement(AbstractBatcher.java:234)
at org.hibernate.loader.Loader.getResultSet(Loader.java:1967)
at org.hibernate.loader.Loader.doQuery(Loader.java:802)
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:274)
at org.hibernate.loader.Loader.doList(Loader.java:2533)
at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2276)
at org.hibernate.loader.Loader.list(Loader.java:2271)
at org.hibernate.loader.custom.CustomLoader.list(CustomLoader.java:316)
at org.hibernate.impl.SessionImpl.listCustomQuery(SessionImpl.java:1842)
at org.hibernate.impl.AbstractSessionImpl.list(AbstractSessionImpl.java:165)
at org.hibernate.impl.SQLQueryImpl.list(SQLQueryImpl.java:157)
org.hibernate.exception.JDBCConnectionException: could not execute query
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:99)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66)
at org.hibernate.loader.Loader.doList(Loader.java:2536)
at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2276)
at org.hibernate.loader.Loader.list(Loader.java:2271)
at org.hibernate.loader.custom.CustomLoader.list(CustomLoader.java:316)
at org.hibernate.impl.SessionImpl.listCustomQuery(SessionImpl.java:1842)
at org.hibernate.impl.AbstractSessionImpl.list(AbstractSessionImpl.java:165)
at org.hibernate.impl.SQLQueryImpl.list(SQLQueryImpl.java:157)
Caused by: java.sql.SQLException: I/O Error: Software caused connection abort: recv failed
at net.sourceforge.jtds.jdbc.TdsCore.executeSQL(TdsCore.java:1053)
at net.sourceforge.jtds.jdbc.JtdsStatement.executeSQLQuery(JtdsStatement.java:465)
at net.sourceforge.jtds.jdbc.JtdsPreparedStatement.executeQuery(JtdsPreparedStatement.java:778)
at com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeQuery(NewProxyPreparedStatement.java:76)
at org.hibernate.jdbc.AbstractBatcher.getResultSet(AbstractBatcher.java:208)
at org.hibernate.loader.Loader.getResultSet(Loader.java:1953)
at org.hibernate.loader.Loader.doQuery(Loader.java:802)
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:274)
at org.hibernate.loader.Loader.doList(Loader.java:2533)
... 8 more
Caused by: java.net.SocketException: Software caused connection abort: recv failed
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(SocketInputStream.java:168)
at java.net.SocketInputStream.read(SocketInputStream.java:121)
at java.io.DataInputStream.readFully(DataInputStream.java:195)
at java.io.DataInputStream.readFully(DataInputStream.java:169)
at net.sourceforge.jtds.jdbc.SharedSocket.readPacket(SharedSocket.java:842)
at net.sourceforge.jtds.jdbc.SharedSocket.getNetPacket(SharedSocket.java:723)
at net.sourceforge.jtds.jdbc.ResponseStream.getPacket(ResponseStream.java:466)
at net.sourceforge.jtds.jdbc.ResponseStream.read(ResponseStream.java:103)
at net.sourceforge.jtds.jdbc.ResponseStream.peek(ResponseStream.java:88)
at net.sourceforge.jtds.jdbc.TdsCore.wait(TdsCore.java:3932)
at net.sourceforge.jtds.jdbc.TdsCore.executeSQL(TdsCore.java:1046)
... 16 more
अद्यतन:
मेरा पहला कोड:
Session session = getSessionfactory().openSession();
session.beginTransaction();
ArrayList<Object[]> results = null;
try {
StringBuilder sb = new StringBuilder();
sb.append("select p from person p ");
sb.append("where CONTAINS(p.name , :myName) ");
Query q = session.createSQLQuery(sb.toString());
String myName = "Bob Jones";
q.setString("myName", "*" + myName + "*");
results = (ArrayList<Object[]>) q.list();
} catch (Exception e) {
logger.error("Error : ", e);
} finally {
session.close();
}
यह काम नहीं करता है, to fix it इस 2 संस्करण है:
Session session = getSessionfactory().openSession();
session.beginTransaction();
ArrayList<Object[]> results = null;
try {
StringBuilder sb = new StringBuilder();
sb.append("select p from person p ");
sb.append("where CONTAINS(p.name , :myName) ");
Query q = session.createSQLQuery(sb.toString());
String myName = "Bob Jones";
q.setString("myName", "\"*" + myName + "*\"");
results = (ArrayList<Object[]>) q.list();
} catch (Exception e) {
logger.error("Error : ", e);
} finally {
session.close();
}
को चलाने के लिए कोशिश कर रहा है दूसरा संस्करण, मुझे त्रुटि है bove।
आपके उत्तर के लिए धन्यवाद, मुझे समझ में नहीं आता कि "आप त्रुटि के बाद कनेक्शन पूल से कनेक्शन जारी नहीं कर रहे हैं, और इसका पुन: उपयोग करने का प्रयास कर रहे हैं"। क्या आप समझा सकते हैं कि मुझे क्या करना चाहिए? – user1940268
मैं आपका कोड, विशेष रूप से कनेक्शन अधिग्रहण/लेनदेन प्रबंधन भाग को देखे बिना आपकी सहायता नहीं कर सकता। –
टॉपोलिंक मैं अपने अपडेट में अपना कोड पोस्ट करता हूं। – user1940268