We have spent days trying to figure this out. We have JBoss 3.2.3 running on Linux, w/JMS persisting to Oracle 9.
The ManagedConnection seems to work for random amounts of time until the InUse value decrements to a negative number. Why would it ever do that? Is that a bug in 3.2.3?
After the negative number shows up everything goes to heck.
After an hour or less the application starts crashing because of the JMS persistence calls with "java.sql.SQLException: Io exception: Broken pipe". I can't post the stack trace or config files unfortunately, but here is some hand typed stuff from the log that seems relevent:
[JBossManagedConnectionPool] putting ManagedConnection back into pool
[JBossManagedConnectionPool] ManagedConnection is being returned after it was destroyedorg.jboss.resource.adapter.jdbc.local.LocalManagedConnection@28f52a14
[JBossManagedConnectionPool] Returning connection to pool [InUse/Available/Max]: [-1/9/40]
WARN [JBossManagedConnectionPool] Exception destroying ManagedConnection
org.jboss.resource.JBossResourceException: SQLException; - nested throwable: (java.sql.SQLException: Io exception: Broken pipe)
...many lines omitted...
So is this a JMS bug or a ManagedConnection bug or something else? If it is a known bug, does upgrading fix it?