The credentials are stored in PasswordCredential objects during runtime.
Ex: if max pool size is 2 and steady pool size is 1, match-connections is set to true, user/password set to "dbuser", "dbpassword" for a connection pool and if an application gets 2 connections like say
ds.getConnection("foo", "foo")
ds.getConnection("bar", "bar")
for each of the above, PasswordCredential objects are created and the credentials are stored along with the MCF. When the user credentials of connection pool are equal to that of the connection request, the connection is got from the pool directly. If not, a new connection is created.
When a third connection is got,
ds.getConnection("foo1", "foo2"), foo1 is compared with foo and bar as PasswordCredential objects and appropriate action is taken.
I will have a look at this issue 6807 and post in this thread later.
[Message sent by forum member 'sm157516' (sm157516)]
http://forums.java.net/jive/thread.jspa?messageID=344277