Geocoder JDBC Error java.sql.SQLException: Connection Has Already Been Closed
(Doc ID 1457361.1)
Last updated on FEBRUARY 03, 2022
Applies to:
Oracle Spatial and Graph - Version 11.2.0.2.0 to 11.2.0.2.0Information in this document applies to any platform.
Symptoms
Geocoder request getting error java.sql.SQLException: Connection has already been closed.
[oracle.lbs.geocoder.server.Settlement, Wed Mar 21 10:15:38 CET 2012, ERROR] java.sql.SQLException: Connection has already been closed.
at weblogic.jdbc.wrapper.PoolConnection.checkConnection(PoolConnection.java:58)
at weblogic.jdbc.wrapper.Connection.preInvocationHandler(Connection.java:94)
at weblogic.jdbc.wrapper.Connection.getMetaData(Connection.java:436)
at oracle.spatial.geocoder.server.GeocoderConfig.getConnection(GeocoderConfig.java:297)
at oracle.spatial.geocoder.server.Settlement.resolveInDB(Settlement.java:742)
at oracle.spatial.geocoder.server.Settlement.resolve(Settlement.java:219)
at oracle.spatial.geocoder.server.GenericGeocoder.resolveCity(GenericGeocoder.java:844)
at oracle.spatial.geocoder.server.GenericGeocoder.geocodeLoc(GenericGeocoder.java:276)
at oracle.spatial.geocoder.server.GenericGeocoder.geocode(GenericGeocoder.java:203)
at oracle.spatial.geocoder.server.GeocoderImpl.geocode(GeocoderImpl.java:449)
at oracle.spatial.geocoder.GCServer.process(GCServer.java:401)
at oracle.spatial.geocoder.GCServer.doPost(GCServer.java:205)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:821)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:184)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3717)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3681)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2277)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2183)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1454)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:207)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:176)
[oracle.spatial.geocoder.GCServer, Wed Mar 21 10:15:38 CET 2012, DEBUG]
Steps:
1. From the "Geocoder XML sample requests" page (http://host:port/geocoder/xmlreq.html) make the following reverse geocoding request (second form):
country="ES"
longitude="0" latitude="0" >
2.After a while, longer than usual, the response is:
Error:
Message:Error in ReverseGeocoder
Nested exception is:
java.sql.SQLRecoverableException: No hay más datos para leer del socket
3. And then any other request to the reverse geocoder, even those that were working before the error, now always return the same error.
4. Then I tested the connection pool (named GeocoderDS-nonXA1-PROD, the only pool included in multi data source GeocoderMultiDS-nonXA-PROD, the one configured in geocoder) from the WLS admin console and it reported also an error.
Cause
To view full details, sign in with your My Oracle Support account. |
|
Don't have a My Oracle Support account? Click to get started! |
In this Document
Symptoms |
Cause |
Solution |