JBoss AS maintains a connection pool. When your app first asks for a connection, JBoss AS opens min-pool-size connections. When your app closes the connection, it goes back into the pool. You can specify the pool min and max sizes in the *-ds.xml file. There is also a idle connection timeout setting - if that time has expired and there are more than min-pool-size connections open, JBoss AS will close the extra connections. Note, however, that min-pool-size connections will always stay open.