return connection after OraclOCIConnectionPool.getProxyConnection?
Date: 20 Sep 2006 14:37:02 -0700
Message-ID: <1158788221.770278.236070_at_k70g2000cwa.googlegroups.com>
Hi.
I posted this question on OTN SQLJ/JDBC forum already. But, in circumstances of some urgency, I am taking the liberty of cross posting here. Please excuse.
A question for OracleOCIConnectionPool gurus.
I'm using proxy authentication with OracleOCIConnectionPool. I have created a user, APP_PROXY & separate user accounts for application end users who can connect through APP_PROXY. Code like this works fine:
Connection c =
pool.getProxyConnection(OracleOCIConnectionPool.PROXYTYPE_USER_NAME,
uprops);
If connpool_max_limit=2, then after 2 calls like above, v$session & v$process look something like this:
USERNAME | AUTH TYPE | SERVER TYPE | AUDSID |
APP_PROXY | DATABASE | DEDICATED | 123456 | APP_PROXY | DATABASE | DEDICATED | 123457 | USER1 | PROXY | PSEUDO | 123458 |
USER2 | PROXY | PSEUDO | 123459 |
USER1 & USER2 have sessions that use APP_PROXY's physical connections & shadow server processes. David Knox's book on security, lots of posts, articles, &c, explain this much. So far, so good.
However, I find that USER3 can't create a session until USER1 or USER2 logs out. That is, I can close, say, USER1's session & return one of APP_PROXY's connections to pool by calling:
c.close();
Then USER3 can create a session, but not before. That's certainly not what I expect. I expect lots of end users to be able to share APP_PROXY's connections & shadow processes without ending their own sessions.
So, the question is: how does one return APP_PROXY's connection to the pool without ending USER1's session? That is, how can lots of proxy authenticated end users share a few connections & shadows without closing their sessions?
Thanks in advance. Received on Wed Sep 20 2006 - 23:37:02 CEST