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
+}

http://dive4elements.wald.intevation.org