1 Reply Latest reply on May 15, 2012 2:37 PM by Joe Weinstein-Oracle

    How to safely get WLS to close its pooled connections


      I have a problem with weblogic pooled connection.

      My application uses weblogic pooled connections, It calls connection close but Weblogic datasource never physically closes the connection (it just gets returned back to the pool). This application sees high volumes of orders coming in so initially it looked like a great choice.

      The problem is that when the application has been running for ay 2-3 months the connections never get refreshed from database and the the PGA memory keeps piling up (as the underlying sessions never close).

      This means that if we have 30 connections in the pool every connection will have its own session and session related memory allocated which never gets free until someone resets the wls connection pool or bounces the server. (which we dont want to)

      Is there a way by which we can make weblogic to safely close the pooled connection and get a fresh one when application needs it ?

      We tried using the shrink-enabled but the application gets high order volume (at consistant speed) so the timeout never happens on them. (also setting the init connection to lower value impacts performance)

      Any help will be highly apreciated.

        • 1. Re: How to safely get WLS to close its pooled connections
          Joe Weinstein-Oracle
          There seems to be a poor relation between the JDBC driver and the DBMS. It is poor
          design that merely using a connection for a long time will make for memory trouble in
          the DBMS. The question is "for what client-side behavior/objects does this growing
          DBMS-side memory represent?". You can try turning off WebLogics statement cache,
          in case it is statement-related memory that will be freed when statements are closed,
          but if not, then you're working with a poor DBMS/driver implementation for serious