|
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 Sam > > 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 there. > >>> > >>> Let 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 up > >>>>the 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 to > >>>>return a pooled connnection. I have to do the following to get a pooled > >>>>connection from the AS400JDBCConnectionPoolDataSource. > >>>> > >>>>AS400JDBCConnectionPoolDataSource dataSource = new > >>>>AS400JDBCConnectionPoolDataSource("myserver.com"); > >>>>dataSource.setUser("myUser"); > >>>>dataSource.setPassword("myPassword"); > >>>>AS400JDBCPooledConnection pooledConnection = (AS400JDBCPooledConnection) > >>>>dataSource.getPooledConnection(); > >>>>Connection connection = pooledConnection.getConnection(); > >>>> > >>>>Am I missing something? > >>>> > >>>>Thanks for the help! > >>>> > >>>>PLA > >>>> > >>>> > >>>>
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.