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