2013-05-09 3 views
9

मैं यह त्रुटि (इतनी बार नहीं) हो रही है:एसक्यूएल त्रुटि: 0, SQLState: 08S01 संचार लिंक विफलता

2013-05-08 16:44:35,786 WARN (JDBCExceptionReporter.java:100) [org.hibernate.util.JDBCExceptionReporter, logExceptions] - SQL Error: 0, SQLState: 08S01 
2013-05-08 16:44:35,786 ERROR (JDBCExceptionReporter.java:101) [org.hibernate.util.JDBCExceptionReporter, logExceptions] - Communications link failure 

The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. 
2013-05-08 16:44:35,833 ERROR (AdminDaoImpl.java:297) [com.myapp.admin.db.AdminDaoImpl, createFilePackage] - data-upload: Exception while adding new file package 
org.hibernate.exception.JDBCConnectionException: Cannot open connection 
    at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:97) [hibernate-core-3.3.2.GA.jar:3.3.2.GA] 
    at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66) [hibernate-core-3.3.2.GA.jar:3.3.2.GA] 
    at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:52) [hibernate-core-3.3.2.GA.jar:3.3.2.GA] 
    at org.hibernate.jdbc.ConnectionManager.openConnection(ConnectionManager.java:449) [hibernate-core-3.3.2.GA.jar:3.3.2.GA] 
    at org.hibernate.jdbc.ConnectionManager.getConnection(ConnectionManager.java:167) [hibernate-core-3.3.2.GA.jar:3.3.2.GA] 
    at org.hibernate.jdbc.JDBCContext.connection(JDBCContext.java:142) [hibernate-core-3.3.2.GA.jar:3.3.2.GA] 
    at org.hibernate.transaction.JDBCTransaction.begin(JDBCTransaction.java:85) [hibernate-core-3.3.2.GA.jar:3.3.2.GA] 
    at org.hibernate.impl.SessionImpl.beginTransaction(SessionImpl.java:1354) [hibernate-core-3.3.2.GA.jar:3.3.2.GA] 
    at com.myapp.admin.db.AdminDaoImpl. createFilePackage(AdminDaoImpl.java:182) [AdminDaoImpl.class:na] 
    at com.myapp.admin.ctrl.UploadController.processUploadZip(UploadController.java:217) [UploadController.class:na] 
    at sun.reflect.GeneratedMethodAccessor106.invoke(Unknown Source) [na:na] 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) [na:1.6.0_35] 
    at java.lang.reflect.Method.invoke(Method.java:597) [na:1.6.0_35] 
    at org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:212) [spring-web-3.1.0.RELEASE.jar:3.1.0.RELEASE] 
    at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:126) [spring-web-3.1.0.RELEASE.jar:3.1.0.RELEASE] 
    at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:96) [spring-webmvc-3.1.0.RELEASE.jar:3.1.0.RELEASE] 
    at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:617) [spring-webmvc-3.1.0.RELEASE.jar:3.1.0.RELEASE] 
    at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:578) [spring-webmvc-3.1.0.RELEASE.jar:3.1.0.RELEASE] 
    at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:80) [spring-webmvc-3.1.0.RELEASE.jar:3.1.0.RELEASE] 
    at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:900) [spring-webmvc-3.1.0.RELEASE.jar:3.1.0.RELEASE] 
    at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:827) [spring-webmvc-3.1.0.RELEASE.jar:3.1.0.RELEASE] 
    at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882) [spring-webmvc-3.1.0.RELEASE.jar:3.1.0.RELEASE] 
    at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:789) [spring-webmvc-3.1.0.RELEASE.jar:3.1.0.RELEASE] 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:647) [servlet-api.jar:na] 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:728) [servlet-api.jar:na] 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) [catalina.jar:7.0.35] 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) [catalina.jar:7.0.35] 
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222) [catalina.jar:7.0.35] 
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123) [catalina.jar:7.0.35] 
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) [catalina.jar:7.0.35] 
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171) [catalina.jar:7.0.35] 
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99) [catalina.jar:7.0.35] 
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) [catalina.jar:7.0.35] 
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407) [catalina.jar:7.0.35] 
    at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:200) [tomcat-coyote.jar:7.0.35] 
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589) [tomcat-coyote.jar:7.0.35] 
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310) [tomcat-coyote.jar:7.0.35] 
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [na:1.6.0_35] 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [na:1.6.0_35] 
    at java.lang.Thread.run(Thread.java:662) [na:1.6.0_35] 
Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure 

मैं दो वेब (वसंत MVC + हाइबरनेट + mysql) है साझा सर्वर पर होस्ट अनुप्रयोगों:

1) मुख्य एप्लिकेशन डाउनलोड के लिए फ़ाइलें (जो व्यवस्थापक ऐप के माध्यम से डाला जाता है)

2) CRUD संचालन

यह त्रुटि कुछ समय दिखाई देता है साथ व्यवस्थापक ऐप्स को दिखाने के लिए, जब मैं उसी हूँ "मुख्य" ऐप के लिए फ़ाइलों को अपलोड करने के लिए एनजी "एडमिन" एप्लिकेशन, कहें कि 100-120 फाइलों/अनुरोधों को सफलतापूर्वक अपलोड/प्रसंस्करण के बाद और 10-20 डालने/अपडेट क्वेरी के साथ डेटाबेस को मारने के प्रत्येक अनुरोध पर हो सकता है।

होस्टिंग विवरण:

Private tomcat hosting 
java 1.6.0_35-b10 
tomcat 7.0.35 
heap size 288MB 
MySQL Server 5 
commons-dbcp 1.2.2 
mysql-connector-java 5.1.9 

डाटाबेस + हाइबरनेट + DBCP गुण:

<bean id="dbDataSource" class="org.apache.commons.dbcp.BasicDataSource"> 
    <property name="driverClassName" value="com.mysql.jdbc.Driver" /> 
    <property name="username" value="test" /> 
    <property name="password" value="test" /> 
    <property name="url" value="jdbc:mysql://localhost/my_database?useUnicode=yes&characterEncoding=UTF-8" /> 

    <!-- DBCP Connection Pool Settings --> 
    <property name="defaultAutoCommit" value="true" /> 
    <property name="initialSize" value="10" /> 
    <property name="maxActive" value="500" /> 
    <property name="maxIdle" value="8" /> 
    <property name="minIdle" value="0" /> 
    <property name="maxWait" value="30000" /> 
    <property name="validationQuery" value="SELECT 1" /> 
    <property name="testOnBorrow" value="true" /> 
    <property name="testOnReturn" value="false" /> 
    <property name="testWhileIdle" value="false" /> 
    <property name="timeBetweenEvictionRunsMillis" value="-1" /> 
    <property name="numTestsPerEvictionRun" value="3" /> 
    <property name="minEvictableIdleTimeMillis" value="180000" /> 
    <property name="poolPreparedStatements" value="true" /> 
    <property name="maxOpenPreparedStatements" value="25" /> 
    <property name="accessToUnderlyingConnectionAllowed" value="false" /> 
    <property name="removeAbandoned" value="false" /> 
    <property name="removeAbandonedTimeout" value="300" /> 
    <property name="logAbandoned" value="false" /> 
</bean> 

hibernate.dialect=org.hibernate.dialect.MySQLDialect 
hibernate.hbm2ddl.auto=none 
hibernate.jdbc.batch_size=100 
hibernate.show_sql=false 
hibernate.format_sql=false 
hibernate.cache.use_second_level_cache=true 
hibernate.cache.use_query_cache=false 
hibernate.cache.provider_class=org.hibernate.cache.NoCacheProvider 
hibernate.current_session_context_class=thread 

चिंतित कोड:

public String createFilePackage(FilePackage package) { 
    String message = ""; 

    Session session = getSessionFactory().openSession(); 
    Transaction tx = null; 
    try { 
     tx = session.beginTransaction(); 

     // handling package, around 10-14 DB insert, 10 SELECT and 5 update queries on same session 

     tx.commit(); 

    } catch(Exception e) { 
     logger.error("file-upload: Exception while adding new font package", e); 
     if(tx != null) { tx.rollback(); } 
    } finally { 
     session.close(); 
    } 
    return message; 
} 

किसी भी इस समस्या को हल करने के लिए कैसे की सलाह?

+0

देखो। देखें कि उनमें कुछ ऐसा है कि यह समझाने के लिए कि कनेक्शन अप्रत्याशित रूप से क्यों गिराए जा रहे हैं। –

+0

यह एक लेनदेन टाइमआउट हो सकता है? – Tobia

उत्तर

10

चालक और जो करने के लिए ड्राइवर समारोह प्रोसेसिंग पूरी पहले नाकाम कनेक्ट करने का प्रयास किया गया था डेटा स्रोत के बीच संचार लिंक से होता है। तो आमतौर पर इसकी नेटवर्क त्रुटि होती है। यह पैकेट बूंदों या बुरी तरह से कॉन्फ़िगर फ़ायरवॉल/स्विच के कारण हो सकता है।

+2

मेरे पास प्रश्न में वर्णित एक समान समस्या थी। मैं मार्सीज के जवाब से सहमत हूं। एंटरप्राइज़ नेटवर्क पर, मेरी स्थानीय देव मशीन डीबी सर्वर से कनेक्शन छोड़ रही थी, हालांकि एक नियोजित पर्यावरण सर्वर जो फ़ायरवॉल के एक अलग सेट के पीछे था, उसी डीबी से कनेक्ट करने और मुद्दों के बिना इसके कनेक्शन को बनाए रखने में सक्षम था। मेरा स्थानीय देव मशीन सेटअप होने के 2 मिनट के भीतर कनेक्शन छोड़ देगा। मैंने यह भी पाया कि हमारे वायरलेस नेटवर्क को चलाने से कनेक्शन बनाए रखा गया, जहां वायर्ड नहीं था (और दोनों अलग-अलग मार्गों/फायरवॉल के माध्यम से चलते थे)। –

-2

यह त्रुटि टाइमआउट अपने कनेक्शन

+3

क्या आप और स्पष्टीकरण जोड़ सकते हैं? – Undo

+0

टाइमआउट मेरे मामले की व्याख्या करेगा। – MrSmith42

3

अपनी सर्वर कॉन्फ़िगरेशन फ़ाइल /etc/mysql/my.cnf देखें - bind_address सत्यापित करें 127.0.0.1 पर सेट नहीं है। यह 0.0.0.0 पर सेट करें या इसे बाहर टिप्पणी तो सर्वर को पुनः आरंभ:

sudo service mysql restart 
संबंधित मुद्दे