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:
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


SQL Server  >  SQL Server Data Access



Comments

Popular posts from this blog

Conditional formatting a graph vertical axis in SSRS 2012 charts

Register with Power BI failed

SQL server replication error Cannot find the dbo or user defined function........