Edoardo Panfili ha scritto:
Mark Thomas ha scritto:
Edoardo Panfili wrote:
Hy,

I have one webapp in Tomcat 6.0.18 with this context:

<Context path="/myApp" docBase="myApp" debug="100" reloadable="true">
  <Resource name="jdbc/myApp" auth="Container"
      type="javax.sql.DataSource"
      maxActive="8" maxIdle="5" maxWait="300"
      username="myApp" password="passwd"
      driverClassName="org.postgresql.Driver"
      url="jdbc:postgresql://127.0.0.1:5432/myApp"
      removeAbandoned="true"
      removeAbandonedTimeout="30"
      logAbandoned="true"
  />
</Context>

After application stop (using tomcat manager) I'd like to (drastic
example) rename the db, but I can't do it because there are open
connections.

There are no other application using myApp db, but with "ps ax" I can see:

189   ??  Ss     0:02.67 postgres: myApp myApp 127.0.0.1(49162) idle

Is there a way to close the connection without closing Toncat?

Hmm. If you were managing your own pool then you could call close() on
the pool.

Arguably, if Tomcat creates an context level pool, Tomcat should close
it when the context stops but I don't think it does. That probably calls
for some testing to check behaviour and possibly an enhancement request.
this is my code to retrieve a connection
this is the right one (not so different)
ambiente = (Context) new InitialContext().lookup("java:comp/env");
pool = (DataSource) ambiente.lookup("jdbc/myApp);
Connection conn = pool.getConnection();
......
conn.close(); // this in inside finally

sorry for the wrong post
Edoardo


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to