I am using JBoss 4.2.3.GA with Oracle 9i Database. In one of my applications, I use JDBC PreparedStatement to invoke a PL/SQL procedure in Oracle. When the procedure is in "Compiled with errors" state, I get an error "ORA-06508: PL/SQL: could not find program unit being called", which is fine. But when I recompile the PL/SQL procedure to a successful state and then reinvoke, even then I find the same error. This error stays for some time, probably till the time the connection is alive (and when connection dies off via the idleTimeout), and then goes away. I have to flush the connection pool if i want the changes made to procedure to reflect in the connection pool immediately.
I want to know why this is so, since I do not use a prepared-statement-cache in my connection pool.