|
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-2025 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.