Hola, tengo un problema con las conecciones al base de datos. 
(voy a poner toda la cantidad de info)
 
Primero, estoy ocupando DataSources, para obtener una coneccion hago:
 
public class SS
    extends HttpServlet {
  private Connection conn = null;
...
 
 public void doGet(HttpServletRequest request, HttpServletResponse response) throws
      ServletException, IOException {
 
      Context initCtx = new InitialContext();
      Context envCtx = (Context) initCtx.lookup("java:");
      DataSource ds = (DataSource) envCtx.lookup("MySqlDS");
      conn = ds.getConnection();
      System.out.println(" Abriendo " + conn);
....
}
 
he hice el siguiente experimento:
conn1 : Conección de primera carga del Servlet
conn2 : Conección de segundo carga del Servlet
 
Cargar servlet (Crear conn1 )
Imprime :Abriendo org.jboss.resource.adapter.jdbc.WrappedConnection@  834af6
Hacer select sobre conn1 (lo hace bien)
Pausar servlet Thread.sleep(7000) //7 segundos
 
     Cargar servlet (Crear conn2)
     Imprime: Abriendo org.jboss.resource.adapter.jdbc.WrappedConnection@  1ae81ab
 
     Hacer select sobre conn2 (lo hace bien)
     conn2.close()
     Cerrando org.jboss.resource.adapter.jdbc.WrappedConnection@  1ae81ab
 
 
Termina pausa de 7 segundos
conn1.close()
 
En la última linea me da error, diciéndome la siguiente exception :
java.sql.SQLException: Connection handle has been closed and is unusable
 
Cerrando org.jboss.resource.adapter.jdbc.WrappedConnection@  1ae81ab
 
****
O sea, el segundo servlet cierra conn2, y cuando el Primer servlet quiere cerra su conección (conn1), trata de hacerlo con la última conexión creada (conn2 en este caso).
 
Como puedo hacer para diferenciar estas conecciones???
 
 
 
datos anexos que pueden servir
Archivo xml
<datasources>
  <local-tx-datasource>
    <jndi-name>MySqlDS</jndi-name>
    <connection-url>jdbc:mysql://localhost:3306/baseDeDatos</connection-url>
    <driver-class>com.mysql.jdbc.Driver</driver-class>
    <user-name>x</user-name>
    <password>y</password>
    <min-pool-size>2</min-pool-size>
    <max-pool-size>20</max-pool-size>
    <idle-timeout-minutes>0</idle-timeout-minutes>
  </local-tx-datasource>
</datasources>
 
web.xml
....
  <resource-ref>
    <description>
	Devuelve desde el pool de conecciones para mysql
    </description>
    <res-ref-name>jdbc/DefaultDS</res-ref-name>
    <res-type>javax.sql.DataSource</res-type>
    <res-auth>Container</res-auth>
  </resource-ref> 
   
 


