|
You need something to manage the pooled connections. That's what AS400JDBCConnectionPool does. My suggestion, and I realize it seems somewhat circular, but that's the way they set it up, is to create a DataSource wrapper around the AS400JDBCConnectionPool. So your app code would get your DataSource and still just call
Connection connection = dataSource.getConnection();
So there's another layer. In *your* DataSource, you would implement getConnection() something like this ( with better recovery ):
public java.sql.Connection getConnection() { try { return myAS400JDBCConnectionPool.getConnection(); } catch( ConnectionPoolException cpe ) { // do something } } // end getConnection
The circularity is that AS400JDBCConnectionPool wants a ConnectionPoolDataSource, which gets PooledConnections, which the pool manager manages. Hip bone connected to the thigh bone.
Joe Sam
Joe Sam Shirah - http://www.conceptgo.com conceptGO - Consulting/Development/Outsourcing Java Filter Forum: http://www.ibm.com/developerworks/java/ Just the JDBC FAQs: http://www.jguru.com/faq/JDBC Going International? http://www.jguru.com/faq/I18N Que Java400? http://www.jguru.com/faq/Java400
----- Original Message ----- From: "Patrick L Archibald" <Patrick.Archibald@xxxxxxxxxxxxx> To: "Java Programming on and around the iSeries / AS400" <java400-l@xxxxxxxxxxxx> Sent: Tuesday, July 29, 2003 5:56 PM Subject: Re: dataSource.getConnection jt400
Hey Joe Samthere.
There lies the problem. I don't want to get the connection from an AS400JDBCConnectionPool. I want to get the connection from the DataSource so I can use the dataSource.getConnection() method in all of my beans whether it is on the 400 or the PC. From what it looks like I can't do it. At least not with a pooled connection on the PC side. Do you concur?
Thanx again, PLA
Joe Sam Shirah wrote:
The getConnection() method on the AS400JDBCConnectionPoolDataSource still does not return a pooled connection.
Correct. I probably wasn't very clear. Use getConnection() from *AS400JDBCConnectionPool*. So, you need to implement a DataSource that creates an AS400JDBCConnectionPool and gets everything from it. Take a look at the documentation for AS400JDBCConnectionPool. Hope that clears things up somewhat.
Joe Sam
Joe Sam Shirah - http://www.conceptgo.com conceptGO - Consulting/Development/Outsourcing Java Filter Forum: http://www.ibm.com/developerworks/java/ Just the JDBC FAQs: http://www.jguru.com/faq/JDBC Going International? http://www.jguru.com/faq/I18N Que Java400? http://www.jguru.com/faq/Java400
----- Original Message ----- From: "Patrick L Archibald" <Patrick.Archibald@xxxxxxxxxxxxx> To: "Java Programming on and around the iSeries / AS400" <java400-l@xxxxxxxxxxxx> Sent: Tuesday, July 29, 2003 5:09 PM Subject: Re: dataSource.getConnection jt400
Hey Joe Sam
I downloaded jtopen.jar 4.0. The getConnection() method on the AS400JDBCConnectionPoolDataSource still does not return a pooled connection.
I wonder if I could extend AS400JDBCConnectionPoolDataSource and get it to work?
Thanx, PLA
Joe Sam Shirah wrote:
Take a look at AS400JDBCConnectionPool in JTOpen 4.x and try using that. Your getConnection() problem stems from the fact that AS400JDBCConnectionPoolDataSource descends from AS400JDBCDataSource and does not override the getConnection() methods there.
The source has been changed considerably in
AS400JDBCConnectionPoolDataSource and
AS400JDBCPooledConnection. You probably have an earlier version
on the AS/400; That's the only reason I can think of why it worked
upLet us know how it goes.
Joe Sam
Joe Sam Shirah - http://www.conceptgo.com conceptGO - Consulting/Development/Outsourcing Java Filter Forum: http://www.ibm.com/developerworks/java/ Just the JDBC FAQs: http://www.jguru.com/faq/JDBC Going International? http://www.jguru.com/faq/I18N Que Java400? http://www.jguru.com/faq/Java400
----- Original Message ----- From: "Patrick L Archibald" <Patrick.Archibald@xxxxxxxxxxxxx> To: "Java Programming on and around the iSeries / AS400" <java400-l@xxxxxxxxxxxx> Sent: Tuesday, July 29, 2003 1:07 PM Subject: Re: dataSource.getConnection jt400
Hey Joe Sam
You're right on target. I have a class I call ObjectServer that looks
tothe OS on creation, creates the DataSource accordingly and returns it
via ObjectServer.getDataSource(). The only problem I'm having is the
the AS400JDBCConnectionPoolDataSource.getConnection() doesn't appear
pooledreturn a pooled connnection. I have to do the following to get a
(AS400JDBCPooledConnection)connection from the AS400JDBCConnectionPoolDataSource.
AS400JDBCConnectionPoolDataSource dataSource = new
AS400JDBCConnectionPoolDataSource("myserver.com");
dataSource.setUser("myUser");
dataSource.setPassword("myPassword");
AS400JDBCPooledConnection pooledConnection =
dataSource.getPooledConnection(); Connection connection = pooledConnection.getConnection();
Am I missing something?
Thanks for the help!
PLA
_______________________________________________ This is the Java Programming on and around the iSeries / AS400 (JAVA400-L) mailing list To post a message email: JAVA400-L@xxxxxxxxxxxx To subscribe, unsubscribe, or change list options, visit: http://lists.midrange.com/mailman/listinfo/java400-l or email: JAVA400-L-request@xxxxxxxxxxxx Before posting, please take a moment to review the archives at http://archive.midrange.com/java400-l.
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.