Mercurial > dive4elements > gnv-client
diff geo-backend/src/main/java/de/intevation/gnv/geobackend/sde/connectionpool/ArcSDEPoolableObjectFactory.java @ 265:e5379e129799
Fixed issue 34
geo-backend/trunk@215 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Tim Englich <tim.englich@intevation.de> |
---|---|
date | Tue, 13 Oct 2009 13:20:26 +0000 |
parents | e4eacd613356 |
children | ff1b7967e6b9 |
line wrap: on
line diff
--- a/geo-backend/src/main/java/de/intevation/gnv/geobackend/sde/connectionpool/ArcSDEPoolableObjectFactory.java Tue Oct 13 09:00:30 2009 +0000 +++ b/geo-backend/src/main/java/de/intevation/gnv/geobackend/sde/connectionpool/ArcSDEPoolableObjectFactory.java Tue Oct 13 13:20:26 2009 +0000 @@ -4,13 +4,12 @@ package de.intevation.gnv.geobackend.sde.connectionpool; import java.sql.Connection; +import java.sql.SQLException; import java.util.Properties; import org.apache.commons.pool.PoolableObjectFactory; import org.apache.log4j.Logger; -import com.esri.sde.sdk.client.SeConnection; - import de.intevation.gnv.geobackend.base.connectionpool.exception.ConnectionException; import de.intevation.gnv.geobackend.sde.datasources.ArcSDEConnection; @@ -79,8 +78,8 @@ */ public void destroyObject(Object arg0) throws Exception { log.debug("ArcSDEPoolableObjectFactory.destroyObjectb"); - if (arg0 instanceof SeConnection){ - ((SeConnection)arg0).close(); + if (arg0 instanceof ArcSDEConnection) { + ((ArcSDEConnection)arg0).close(); }else{ log.warn("Object cannot be handled"); } @@ -115,6 +114,13 @@ public boolean validateObject(Object arg0) { // TODO Was muss hier passieren? log.debug("ArcSDEPoolableObjectFactory.validateObject"); - return true; + boolean returnValue = false; + try { + returnValue = arg0 instanceof ArcSDEConnection + ? !((ArcSDEConnection)arg0).isClosed() + : false; + } + catch (SQLException sqle) {} + return returnValue; } -} \ No newline at end of file +}