Hi,
I am using JBoss 4.2.2.GA on a HP Unix platform. For the sake of delegating 
connection management to the application server, I have started using 
connection pooling. 
The code I used was :

  | InitialContext jndiCntx = new InitialContext();
  | DataSource ds = (DataSource) jndiCntx.lookup("java:/testapi");
  | Connection con = (Connection)ds.getConnection();
  | 

But with this, I was unable to invoke any Oracle Stored Procedures that takes 
in an Oracle Object. I have resolved this issue by fetching the connection as :


  | InitialContext jndiCntx = new InitialContext();
  | WrapperDataSource ds = (WrapperDataSource) jndiCntx.lookup
  | ("java:/clarityapi");
  | org.jboss.resource.adapter.jdbc.WrappedConnection wrappedCon = 
(WrappedConnection) ds.getConnection();
  | java.sql.Connection connection = wrappedCon.getUnderlyingConnection();
  | 
Using this, I am able to send in any Oracle Objects by using StructDescriptor's 
and ArrayDescriptor's wherever necessary.  Also, necessary validations were put 
in to check if the 'wrappedCon' is 'closed' and if so I was retrying for a 
maximum of 4 times to check for stale connections.
However, the problem comes in when I am trying to close the connection. If i 
close it using :
connection.close();
there is no problem. But in the next invocations of the  :
ds.getConnection()
I receive the following exception :
anonymous wrote : 
  | [CachedConnectionManager] Closing a connection for you.  Please close them 
yourself: org.jboss.resource.ada
  | pter.jdbc.wrappedconnect...@1c1ec0e
  | 
and the subsequent connections i receive have the following status :
wrappedCon.isClosed : false
wrappedCon.getUnderlyingConnection.isClosed() : true .

So, the WrappedConnection object is not closed, but the underlying 
java.sql.Connection is closed.
This "Closing a connection for you..." may be only a debug statement given for 
my benefit but even if I disable it, the fact is that the connection is getting 
closed when I wanted it to be just put back into the connection pool.

The same scenario exists when I do :
wrappedCon.close(); instead of connection.close();

Please suggest me a valid way to close these wrapped connections. I was under 
the impression that these close() methods would place it back into the 
connection pool, but probably with this output I think the JBoss connection 
pooling needs to be handled differently in my code.

Thanks in advance.

View the original post : 
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4201672#4201672

Reply to the post : 
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4201672
_______________________________________________
jboss-user mailing list
jboss-user@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to