|
Hi,
> Did you see my previous email I sent with the source to my new
> ToolboxDataSource class? How does that look? It works great so far.
It came in as my last one went out. Then I had to do some work for
those pesky clients, since I have to eat occasionally.
I would have done it a little differently, but it looks like this should
work OK for your needs. If I get the time, I may do a short article about
it off conceptGO's community page or elsewhere. A couple of things:
I would be sure that your documentation specifies that your
ToolboxDataSource is a connection pooler. Normally, you would not want
regular apps to use it unless there were multiple threads doing lots of work
with ( relatively ) short lived connections.
You should also override
getConnection(java.lang.String user, java.lang.String password)
probably to throw an exception. Otherwise, a user could call it on your
AS400JDBCConnectionPoolDataSource ( remember, they extended it from
AS400JDBCDataSource ) and get a non-pooled, non-managed connection.
Finally, this is not really a work around, but the sort of thing that
actually has to be done, even with a JNDI obtained pool managed DataSource.
It's just all hidden from you there. And, it's not peculiar to JTOpen,
although some things, like the co-mingling of the DataSource and
ConnectionPoolDataSource interfaces in the AS400JDBCConnectionPoolDataSource
implementation, certainly are.
Anyhow, I'm glad you were able to resolve the issue. I think it was a
useful discussion for the list because some of this is not at all obvious,
and I hope no one was bored, Best,
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 6:20 PM
Subject: Re: dataSource.getConnection jt400
> Here is my work around. I created a class called ToolboxDataSource that
> extends the AS400JDBCConnectionPool.
>
> package com.hometelco.intranet;
> import java.sql.*;
> import com.ibm.as400.access.*;
> /**
> * @author Patrick L Archibald
> * @created July 29, 2003
> */
> public class ToolboxDataSource extends AS400JDBCConnectionPoolDataSource {
> AS400JDBCConnectionPool pool = null;
> private String system;
> private String user;
> private String password;
> public ToolboxDataSource(String system, String user, String password) {
> super(system, user, password);
> this.system = system;
> this.user = user;
> this.password = password;
> }
> public Connection getConnection() throws SQLException {
> Connection connection = null;
> if (pool == null) {
> System.out.println("Get pool. Date: " + new java.util.Date());
> AS400JDBCConnectionPoolDataSource test = new
> AS400JDBCConnectionPoolDataSource(system, user, password);
> pool = new AS400JDBCConnectionPool(test);
> try {
> pool.fill(5);
> }
> catch (ConnectionPoolException e) {
> System.out.println("ConnectionPoolException");
> }
> }
> try {
> connection = pool.getConnection();
> }
> catch (ConnectionPoolException e) {
> System.out.println("ConnectionPoolException");
> }
> return connection;
> }
> }
>
>
> Thanx, 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.