java - Force JDBC not to use proxy -
i have xampp mysql (so localhost), can connect through mysql workbench or phpymadmin without problem. have webapp using hibernate (also tried easy & ugly way connect db)
class.forname("com.mysql.jdbc.driver"); connection cn = drivermanager.getconnection("jdbc:mysql://127.0.0.1:3306/testlink", "testlink", "testlink"); statement st = cn.createstatement(); string query = "insert `cfield_testprojects` (`field_id`, `testproject_id`, `display_order`, `location`, `active`, `required`, `required_on_design`, `required_on_execution`"; st.executeupdate(query);
i tried localhost:3306 , without port to... same error time :
com.mysql.jdbc.exceptions.jdbc4.communicationsexception: communications link failure last packet sent server 0 milliseconds ago. driver has not received packet s server. @ sun.reflect.nativeconstructoraccessorimpl.newinstance0(native method) @ sun.reflect.nativeconstructoraccessorimpl.newinstance(nativeconstructoraccessorimpl.java:57) @ sun.reflect.delegatingconstructoraccessorimpl.newinstance(delegatingconstructoraccessorimpl.java:45) @ java.lang.reflect.constructor.newinstance(constructor.java:526) @ com.mysql.jdbc.util.handlenewinstance(util.java:389) @ com.mysql.jdbc.sqlerror.createcommunicationsexception(sqlerror.java:1038) @ com.mysql.jdbc.mysqlio.<init>(mysqlio.java:338) @ com.mysql.jdbc.connectionimpl.coreconnect(connectionimpl.java:2237) @ com.mysql.jdbc.connectionimpl.connectonetryonly(connectionimpl.java:2270) @ com.mysql.jdbc.connectionimpl.createnewio(connectionimpl.java:2069) @ com.mysql.jdbc.connectionimpl.<init>(connectionimpl.java:794) @ com.mysql.jdbc.jdbc4connection.<init>(jdbc4connection.java:44) @ sun.reflect.nativeconstructoraccessorimpl.newinstance0(native method) @ sun.reflect.nativeconstructoraccessorimpl.newinstance(nativeconstructoraccessorimpl.java:57) @ sun.reflect.delegatingconstructoraccessorimpl.newinstance(delegatingconstructoraccessorimpl.java:45) @ java.lang.reflect.constructor.newinstance(constructor.java:526) @ com.mysql.jdbc.util.handlenewinstance(util.java:389) @ com.mysql.jdbc.connectionimpl.getinstance(connectionimpl.java:399) @ com.mysql.jdbc.nonregisteringdriver.connect(nonregisteringdriver.java:325) @ java.sql.drivermanager.getconnection(drivermanager.java:571) @ java.sql.drivermanager.getconnection(drivermanager.java:215) @ buildproject.dopost(buildproject.java:148) @ javax.servlet.http.httpservlet.service(httpservlet.java:648) @ javax.servlet.http.httpservlet.service(httpservlet.java:729) @ org.apache.catalina.core.applicationfilterchain.internaldofilter(applicationfilterchain.java:291) @ org.apache.catalina.core.applicationfilterchain.dofilter(applicationfilterchain.java:206) @ org.apache.tomcat.websocket.server.wsfilter.dofilter(wsfilter.java:52) @ org.apache.catalina.core.applicationfilterchain.internaldofilter(applicationfilterchain.java:239) @ org.apache.catalina.core.applicationfilterchain.dofilter(applicationfilterchain.java:206) @ org.apache.catalina.core.standardwrappervalve.invoke(standardwrappervalve.java:219) @ org.apache.catalina.core.standardcontextvalve.invoke(standardcontextvalve.java:106) @ org.apache.catalina.authenticator.authenticatorbase.invoke(authenticatorbase.java:502) @ org.apache.catalina.core.standardhostvalve.invoke(standardhostvalve.java:142) @ org.apache.catalina.valves.errorreportvalve.invoke(errorreportvalve.java:79) @ org.apache.catalina.valves.abstractaccesslogvalve.invoke(abstractaccesslogvalve.java:610) @ org.apache.catalina.core.standardenginevalve.invoke(standardenginevalve.java:88) @ org.apache.catalina.connector.coyoteadapter.service(coyoteadapter.java:518) @ org.apache.coyote.http11.abstracthttp11processor.process(abstracthttp11processor.java:1091) @ org.apache.coyote.abstractprotocol$abstractconnectionhandler.process(abstractprotocol.java:668) @ org.apache.coyote.http11.http11aprprotocol$http11connectionhandler.process(http11aprprotocol.java:283) @ org.apache.tomcat.util.net.aprendpoint$socketprocessor.dorun(aprendpoint.java:2463) @ org.apache.tomcat.util.net.aprendpoint$socketprocessor.run(aprendpoint.java:2452) @ java.util.concurrent.threadpoolexecutor.runworker(threadpoolexecutor.java:1145) @ java.util.concurrent.threadpoolexecutor$worker.run(threadpoolexecutor.java:615) @ org.apache.tomcat.util.threads.taskthread$wrappingrunnable.run(taskthread.java:61) @ java.lang.thread.run(thread.java:745) caused by: java.net.socketexception: unknown proxy type : http @ java.net.sockssocketimpl.connect(sockssocketimpl.java:396) @ java.net.socket.connect(socket.java:579) @ com.mysql.jdbc.standardsocketfactory.connect(standardsocketfactory.java:213) @ com.mysql.jdbc.mysqlio.<init>(mysqlio.java:297) ... 39 more
i followed questions on stackoverflow , everywhere else. binded mysql on 0.0.0.0... used usesystemproxies=false (or this) didn't work. want jdbc directly connect localhost db... please i'm going crazy
didn't work : mysql connect via proxy in java
this problem happened me before,but didn't solve ,but later on after changed approach never happened, couple of things note down , see if solve issue:
- try make connection object,preparedstatement / statement(if any) object,resultset object(if any) global variables(i prefer private). initialize connection along initialization of driver(using class.forname()) in constructor. code queries in separate method or within main if want.
- see if changing localhost 127.0.0.1 helps
- make sure skip-networking commented(ie putting # before it)in mysql config file(my.ini)
- don't quote table name in query string
- don't hesitate update jdk/jre/mysql-connector jar,they might able fix this.
Comments
Post a Comment