RE: Reset Cayenne Connection Pool

From: Williams, Beth (beth.william..FIB.ORG)
Date: Thu Apr 07 2005 - 13:47:00 EDT

  • Next message: Fredrik Liden: "RE: Testing ExpressionFactory for null values"

    Thanks for the additional information. Hopefully we'll hear back from them soon.

    Beth

    -----Original Message-----
    From: Hogue, Brian
    Sent: Thursday, April 07, 2005 12:36 PM
    To: cayenne-use..bjectstyle.org
    Subject: RE: Reset Cayenne Connection Pool

    Hello guys,

    To add to Beth's description - we are getting the following Oracle Error

    Caused by: java.sql.SQLException: ORA-04068: existing state of packages has been discarded
    ORA-04061: existing state of package body "MEMBERSHIP.SLS" has been invalidated
    ORA-04065: not executed, altered or dropped package body "MEMBERSHIP.SLS"
    ORA-06508: PL/SQL: could not find program unit being called
    ORA-06512: at line 1

    through Cayenne after we make changes to a Package and then recompile. We are speculating that the pooled connections are caching (on the Oracle side) an invalid reference to the Package. After we get the failure for a given connection - the call will work if tried again. I believe there is a default behavior with the Oracle JDBC driver that causes it to try to recompile the package/procedure and refresh it's pointer after such a failure. We'd really like to figure out a way to cause the Cayenne connection pool to reset (rebuild). We could then trigger it on demand so we don't have to restart the application servers in order to avoid such an error.

    Thanks,

    Brian

    -----Original Message-----
    From: Williams, Beth
    Sent: Thursday, April 07, 2005 9:45 AM
    To: cayenne-use..bjectstyle.org
    Subject: Reset Cayenne Connection Pool

    We have noticed some application errors related to connection pool and changes to stored procedures. We are using several stored procedures through the cayenne ProcedureQuery. What we've found is that when and if a change is made to one of the packages in the database the state of the package is invalidated and the connection pool is discarded. This results in an error for the user. The connection pool is reset and so the next time the user tries it will work.

    Is there a way to reset the Cayenne connection pool through the API so that we don't have to restart the server? Thanks in advance.

    Beth Williams
    Web Applications Developer, NFIB
    53 Century Blvd
    Nashville, TN 37214
    615.872.5332
    beth.william..fib.org



    This archive was generated by hypermail 2.0.0 : Thu Apr 07 2005 - 13:47:02 EDT