Hi Eric,

        The way I specify a Driver is by having another XML Config file(cooked up
my own schema)
which lists the name of the JOCL file(pool) and the respective driver. Then,
before
my application initializes, I read this XML Config file and load the classes
by
"class.forName()" explicitly for each Driver(pool).

        DBCP could allow for having the Driver described in the JOCL file(which is
the
predecessor to Digester) for each pool. It need not have to do anything with
the driver
but could allow the user(application) to access the JOCL file's driver
property.
Does it make sense ? This would prevent me from having to come up with
another file
which just lists the pool name and its Driver.

Best Regards,
ANJAN. B

-----Original Message-----
From: Eric Pugh [mailto:[EMAIL PROTECTED]]
Sent: Tuesday, April 30, 2002 10:31 AM
To: 'Jakarta Commons Developers List'
Subject: RE: Question about DBCP


I see, when the docs are referring to the property jdbc.drivers, that is
something passed to the JVM that makes it load them implicitly for you!

However, I am planning on calling this from another application, DbForms.
Therefore, I need the driver to be specified in the JOCL file..  Is there an
attriubte specified that I can use to provide that, or do I have to work via
passing it in via the property.

Eric

-----Original Message-----
From: Eric Pugh [mailto:[EMAIL PROTECTED]]
Sent: Tuesday, April 30, 2002 1:19 PM
To: 'Jakarta Commons Developers List'
Subject: RE: Question about DBCP


Thanks for the info,

I guess the whole JOCL thing was scaring me..  What is JOCL?  It appears to
be some sort of weird config format only used by DBCP?  I guess I didn't
want to try and figure it all out (lazy me!)...  Also, DbForms uses the
Digester to parse an XML file, and DBForms tanks if I add in Xalan/Xerces
with Digester in the classpath..  I was hoping to keep things simple, but I
will look at the JOCLPoolingDriverExample.

Did you basically just use the example as your code?  I'm trying to solve a
problem without customizing/writing much at all!

Lastly, is there any way to have a monitor on the pool size?

Eric

-----Original Message-----
From: Anjan [mailto:[EMAIL PROTECTED]]
Sent: Tuesday, April 30, 2002 12:42 PM
To: Jakarta Commons Developers List
Subject: RE: Question about DBCP


Hi Eric!,

        I was using poolman in our NON open-source product but eventually
moved to DBCP -- it works fine for me.

        Did you look at JOCLPoolingDriverExample.java in the doc directory ?
This gives a sample of how the DriverManager uses the "jdbc.drivers"
property.

        When DriverManager loads, it looks for the property jdbc.drivers
and then loads all the drivers specified in this property(Be sure to
separate the drivers in this property using COLONs and NOT SEMI-COLONs.
You don't have to use Class.forName() on it since JDBC(1.2 JDK and later)
uses this property to load all the drivers and initialize the
drivers(actually
the drivers register with the DriverManager when they are loaded).

If you want to know more, you can look into the source of DriverManager in
the JDK
source.
        You will know that pooling is working by the speed with which the
connections
are obtained when you use DriverManager.getConnection(url);

Best Regards,
ANJAN. B

-----Original Message-----
From: Eric Pugh [mailto:[EMAIL PROTECTED]]
Sent: Tuesday, April 30, 2002 7:20 AM
To: 'Jakarta Commons Developers List'
Subject: Question about DBCP


Hi all,

Can anyone provide pointers to open source sites using DBCP?  I am trying to
get DBCP to work with DbForms (www.dbforms.org).  DbForms currently uses
Poolman as it's suggested pool for JDBC connections, but it badly needs
something newer and easier to set up!

I have managed to tweak the class ManualPoolingDataSourceExample to work
with MSSql Server.  However, what is confusing to me is how in the example
my jdbc driver is passed in?  I see it goes in from the commandline
as -Djdbc.drivers=oracle.jdbc.driver.OracleDriver, but I never see how it
get's used.  In addition, when i hardcoded my driver, I couldn't get it to
work until I added a
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver") at the top of
the code in my copy of ManualPoolingDataSourceExample.

Can someone give me some pointers on how the -Djdbc.drivers value actually
get's registered with the DriverManager?

Also, how can I verify that I am actually pooling connections, versus
creating a new one over and over?

I have attached my copy of ManualPoolingDataSourceExample that I have
renamed to ManualPoolingDataSourceTest, and am using under JUnit to test.

Eric


--
To unsubscribe, e-mail:
<mailto:[EMAIL PROTECTED]>
For additional commands, e-mail:
<mailto:[EMAIL PROTECTED]>


--
To unsubscribe, e-mail:
<mailto:[EMAIL PROTECTED]>
For additional commands, e-mail:
<mailto:[EMAIL PROTECTED]>


--
To unsubscribe, e-mail:
<mailto:[EMAIL PROTECTED]>
For additional commands, e-mail:
<mailto:[EMAIL PROTECTED]>


--
To unsubscribe, e-mail:
<mailto:[EMAIL PROTECTED]>
For additional commands, e-mail:
<mailto:[EMAIL PROTECTED]>


--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to