Clustered database in Tomcat
i have tomcat instance connects via jdbc clustered sql database using pooled connection.
the problem each time there's change of nodes, tjhe following error:
the problem each time there's change of nodes, tjhe following error:
com.microsoft.sqlserver.jdbc.sqlserverexception: connection closed. at com.microsoft.sqlserver.jdbc.sqlserverexception.makefromdrivererror(unknown source) at com.microsoft.sqlserver.jdbc.sqlserverconnection.checkclosed(unknown source) at com.microsoft.sqlserver.jdbc.sqlserverconnection.createstatement(unknown source) at com.microsoft.sqlserver.jdbc.sqlserverconnection.createstatement(unknown source) at sql.bufferconeccoes.createstatement(bufferconeccoes.java:179) at servicos.validautilizador.validautilizador.validate(validautilizador.java:45) at org.apache.jsp._005flogin_jsp._jspservice(_005flogin_jsp.java:157) at org.apache.jasper.runtime.httpjspbase.service(httpjspbase.java:70) at javax.servlet.http.httpservlet.service(httpservlet.java:717) at org.apache.jasper.servlet.jspservletwrapper.service(jspservletwrapper.java:374) at org.apache.jasper.servlet.jspservlet.servicejspfile(jspservlet.java:342) at org.apache.jasper.servlet.jspservlet.service(jspservlet.java:267) at javax.servlet.http.httpservlet.service(httpservlet.java:717) at org.apache.catalina.core.applicationfilterchain.internaldofilter(applicationfilterchain.java:290) at org.apache.catalina.core.applicationfilterchain.dofilter(applicationfilterchain.java:206) at org.apache.catalina.core.standardwrappervalve.invoke(standardwrappervalve.java:233) at org.apache.catalina.core.standardcontextvalve.invoke(standardcontextvalve.java:191) at org.apache.catalina.core.standardhostvalve.invoke(standardhostvalve.java:128) at org.apache.catalina.valves.errorreportvalve.invoke(errorreportvalve.java:102) at org.apache.catalina.core.standardenginevalve.invoke(standardenginevalve.java:109) at org.apache.catalina.connector.coyoteadapter.service(coyoteadapter.java:293) at org.apache.jk.server.jkcoyotehandler.invoke(jkcoyotehandler.java:190) at org.apache.jk.common.handlerrequest.invoke(handlerrequest.java:291) at org.apache.jk.common.channelsocket.invoke(channelsocket.java:769) at org.apache.jk.common.channelsocket.processconnection(channelsocket.java:698) at org.apache.jk.common.channelsocket$socketconnection.runit(channelsocket.java:891) at org.apache.tomcat.util.threads.threadpool$controlrunnable.run(threadpool.java:690) at java.lang.thread.run(unknown source)
the connection string this:
jdbc:sqlserver://<server>\webapps:<port>;databasename=<dbname>;selectmethod=cursor;user=<user>;password=<password>
whenever fail on node in cluster, existing connections severed , no good. however, application layer not know until try use connection. cluster-aware code should include retry code deal failover scenario.
evan
evan
SQL Server > SQL Server Data Access
Comments
Post a Comment