Here's my setup:
(a) I've got an Oracle Server with Stored Procedures that do very little task, i.e., it just immediately returns OUT parameters when called through a CallableStatement;
(b) I've got Message-Driven Bean (MDB) that connects to Oracle and execute the CallableStatement (it gets connection from a DataSource via JNDI using JDBC provided by Oracle - classes12.jar);
(c) I've got MySQL 4.0.14 working as my Persistence Manager, to move away from headache with Hypersonic's limitation;
(d) I've got JBoss v. 3.2.2 setup with all the required descriptor (xml) files for everything I need.
With all these, I 've got my JBoss running smoothly. BUT before I run my JMS application, I set the minimum pool of connections to 20 (through JMX-Console) so that it would accommodate 20 MDB's connecting to the Oracle ALL AT THE SAME TIME and probably PROCESS ALL THE SQL REQUESTS AT THE SAME TIME. Well, basically for the love of rapid processing :)
When I started sending 10,000 requests to the Queue, the JDBC connection pooling managed by JBoss was so deaf that it only accomodates TWO (2) connections when it could have processed 20 all the same time :(
The Oracle Connection Pool setting was set to allow a maximum of 170 concurrent connections.
Well, I don't know if there's a love quarrel between JBoss and Oracle the way they handle connection pooling. But apparently, this behaviour in JBoss is VERY ODD.
I wish someone would tell me why this is happening, or perhaps the way to get the minimum 20 connections in the pool work.