title: com.ibm.websphere.ce.cm.ConnectionWaitTimeoutException: Connection not available from a DBA
body: <p>I am an Oracle DBA and not a java developer or websphere expert. We recently started using websphere in our environment. So the developers are still learning it. So I may not word my question properly. I did search the forums and saw 2 other questions like this. My question is more about how to trouble shoot this. </p>
  
  <p>Websphere 8.5.0.2
  Oracle 11.2.0.3</p>
  
  <ol>
  <li>I see 20 open connections in the database. All are inactive. So they are not processing. From oracle it is v$session. Inactive means, you are open and not doing anything. Basically it is idle. </li>
  <li>If they are inactive and not processing, they should be available for the connection pool to give to a new requester, assuming the DAO the java developer is  using is being closed when done (this includes try/catch block). We confirmed that he is closing his connections.  </li>
  </ol>
  
  <p>Checks so far: 
  1. We reviewed the developers code. He is using standard java DAOs. He is closing his connection. He has a try/catch block and the first thing he does in the catch is close the connection. 
  2. My assumption is that this should cover the code path. </p>
  
  <p>We don't see any errors raised in a log about 'closing' a connection. </p>
  
  <p>My understanding of how a connection pool works
  1. Pool Manager opens a configurable set of connections to the database. In our case it is 20. 
  2. When an application requests a connection, the connection manager does a lookup of the pool for the next available connection, then passes a pointer to that connect to the requesting function. </p>
  
  <p>Possibility:
  1. really slow server. We are using VMs for development/test. We do not have visibility to the servers to see if they are busy. So another VM could be using up CPU or disk. 
  Though lookups for available connections are light weight, it is possible that the server is hung up at 100% cpu and we timeout. Problem is, I don't have a way to look at this. No privileges and no access to someone who does. </p>
  
  <ol>
  <li>not closing connections: We checked pretty thoroughly. We don't see any code passes (including exceptions) where he is not closing connections. First thing he does in a catch, is close the connection. </li>
  </ol>
  
  <p>Any suggestions on where to look? I think its an issue with a slow server, but I want to rule other stuff  out. I would like to state again that I am not a java developer or a websphere expert. So my question may be worded poorly. </p>