Thanks very much, all seems to be working well now. I removed the JAR from web-inf/lib and that seemed to do the trick. There was a colon (:) missing in the database URL which I noticed that may have been contributing to the problem aswell.
Thank you all,
Martin

Allistair Crossley wrote:

The jar should not be in your web-inf/lib only in common/lib. You'll
want a restart of Tomcat. There is no reason this should not be picked
up :( Make sure that pooltest.xml is not in conf/catalina/localhost too

Allistair.

-----Original Message-----
From: Martin Grogan [mailto:[EMAIL PROTECTED] Sent: 29 November 2005 11:58
To: Jakarta Commons Users List
Subject: Re: [DBCP] Beginner how-to

Ok, I think there is a small sign of some progress. Where before I was
just getting null, now at least I'm getting a driver not found error:
   Cannot load JDBC driver class 'com.mysql.jdbc.Driver'
I've made sure the connector JAR is in the CATALINA_HOME/common/lib
folder (I've also tried putting it in WEB-INF/lib but that didn't help).
Again, when I use the old approach of using the DriverManager to load
the driver, all works well.
I've attached the context.xml and index.java files if anyone has the
time to see where this might be going wrong.
Thank you all for your time with this problem, Martin


Allistair Crossley wrote:

You need to be careful with deployment. You should avoid using server.xml for defining your Context. Instead, create a folder called META-INF inside your webapp's top folder and in there add a file called

context.xml. Add your Context config into this. Also if you have declared any GlobalResources in server.xml that you need to link to you'd need to add ResourceLink config to point at them from this context.xml.

Allistair.

-----Original Message-----
From: Martin Grogan [mailto:[EMAIL PROTECTED]
Sent: 29 November 2005 11:20
To: Jakarta Commons Users List
Subject: Re: [DBCP] Beginner how-to

Hi all again,
I've followed Allistair's suggestion, since it seems to be closest to what I've read on the Internet already, however, there is still no
luck.
One thing that appears strange is that the modifications I make to server.xml disappear each time I re-deploy the test application. I suspect this may be the problem, but don't know why that would be happening?
Martin


Allistair Crossley wrote:



Assuming you configured the Resource with a name jdbc/mydb, the following servlet skeleton can be used .. This is typed out quickly so

check it for errors.

public class DataSourceServlet extends HttpServlet {

private static DataSource dataSource;

public void init() {
     try {
         Context ctx = new InitialContext();
this.dataSource = (DataSource) ctx.lookup("java:comp/env/jdbc/mydb");
     } catch (Exception e) {
        // log the error
     }
 super.init();
}

public void doGet(HttpServletRequest request, HttpServletResponse
response) throws ServletException {
 doPost(request, response);
}

public void doPost(HttpServletRequest request, HttpServletResponse
response) throws ServletException {

 Connection connection = null;
 try {
   connection = dataSource.getConnection();
 } catch (SQLException sqlE) {
 } finally {
   connection.close();
 }
}

public void destroy() {
 dataSource = null;
}
}

-----Original Message-----
From: Martin Grogan [mailto:[EMAIL PROTECTED]
Sent: 29 November 2005 10:43
To: Jakarta Commons Users List
Subject: Re: [DBCP] Beginner how-to

Hi Allistair,
Thanks for the help. I've downloaded and installed all the relevant JAR's and edited the server.xml (correctly I hope, I can forward if you


like?).
I've also created a simple database just to test the app.
However, I'm lost when it comes to writing a basic servet that just opens the connection, executes a query and closes the connection. There


are several (conflicting) resources on the web describing how to do this (some use JSP's which I don't use). In particular, the init() and destroy() events seem to be causing me confusion, In my main doGet method, I have something like :
try
{ Connection connection= ??? need to get a connection from the pool here
         Statement statement=connection.createStatement();
         String query="SELECT name,age FROM test";
         ResultSet r=statement.execute(query);
         while(r.next())
             out.println(r.getString(1)+", "+r.getString(2));
         statement.close();
     }
     catch(Exception e) { out.println(e.getMessage()); }

Any ideas?
Thanks,
Martin



Allistair Crossley wrote:



There's a really nice way to get Tomcat to manage your database pool for you with it's built-in DBCP support. This method is detailed in the
Tomcat pages

http://tomcat.apache.org/tomcat-5.0-doc/jndi-datasource-examples-howt
o
.


h
tml

In a nuthell, you put your database driver JAR into tomcat/common/lib

and take it out of your webapp's WEB-INF/lib. You then declare a configuration block for a Resource which tells Tomcat to create an instance of a DBCP database pool. Then, in your servlets you would have
a static member of type DataSource which you would set with a JNDI lookup for the Resource in the servlet init method. Then, anytime you

needed a connection you call dataSource.getConnection(). You still need
to close your connections however to return them to the pool. Your servlet destroy method would need to close the dataSource, or at least


set it to null as it will leak being static otherwise on reloads of the
webapp.

Cheers, Allistair

-----Original Message-----
From: Martin Grogan [mailto:[EMAIL PROTECTED]
Sent: 29 November 2005 09:31
To: Jakarta Commons Users List
Subject: Re: [DBCP] Beginner how-to

Yes, using Tomcat 5.0.28,


Allistair Crossley wrote:



Are you using Tomcat?
-----Original Message-----
From: Martin Grogan [mailto:[EMAIL PROTECTED]
Sent: 29 November 2005 09:27
To: Jakarta Commons Users List
Subject: [DBCP] Beginner how-to

Hi all,
I'm a complete beginner with commons DBCP and unsure where to start.

I
require connection pooling to increase performance of my web application.
All elements of my application are servlets (no EJB's, no JSP's) and

for each servlet, I basically do the old-fashioned thing...
1. Open connection to data source (mySQL) 2. Create statement 3. Execute a pile of queries 4. Close statement 5. Close connection I am


using Tomcat 5.0.28 and mysql-connector-java-3.1.8. We are not using

any dedicated web-server like Apache, just Tomcat.
Can anyone tell my what I need to do to start using connection pooling
in my applications? Maybe some sample servlet code, and server configuration, JAR's I need, etc.
I'm basically an old ASP programmer that's picked up Java and now am

trying to do things the Java way.
Thanks,
Martin


-----------
Martin Grogan
Keizen Software

[EMAIL PROTECTED]
www.keizensoftware.com


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





<FONT SIZE=1 FACE="VERDANA,ARIAL" COLOR=BLUE>
-------------------------------------------------------
QAS Ltd.
Registered in England: No 2582055
Registered in Australia: No 082 851 474
-------------------------------------------------------
</FONT> <FONT SIZE=1 FACE="VERDANA,ARIAL" COLOR=BLACK>
Disclaimer:  The information contained within this e-mail is


confidential and may be privileged. This email is intended solely for

the named recipient only; if you are not authorised you must not disclose, copy, distribute, or retain this message or any part of it. If you have received this message in error please contact the sender at
once so that we may take the appropriate action and avoid troubling you
further. Any views expressed in this message are those of the individual sender. QAS Limited has the right lawfully to record, monitor and inspect messages between its employees and any third
party.


Your messages shall be subject to such lawful supervision as QAS Limited deems to be necessary in order to protect its information, its


interests and its reputation.


Whilst all efforts are made to safeguard Inbound and Outbound emails,


QAS Limited cannot guarantee that attachments are virus free or compatible with your systems and does not accept any liability in respect of viruses or computer problems experienced.


</FONT>


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







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





<FONT SIZE=1 FACE="VERDANA,ARIAL" COLOR=BLUE>
-------------------------------------------------------
QAS Ltd.
Registered in England: No 2582055
Registered in Australia: No 082 851 474
-------------------------------------------------------
</FONT> <FONT SIZE=1 FACE="VERDANA,ARIAL" COLOR=BLACK>
Disclaimer:  The information contained within this e-mail is
confidential and may be privileged. This email is intended solely for the named recipient only; if you are not authorised you must not disclose, copy, distribute, or retain this message or any part of it. If you have received this message in error please contact the sender at


once so that we may take the appropriate action and avoid troubling you


further. Any views expressed in this message are those of the individual sender. QAS Limited has the right lawfully to record, monitor and inspect messages between its employees and any third
party.
Your messages shall be subject to such lawful supervision as QAS Limited deems to be necessary in order to protect its information, its

interests and its reputation.


Whilst all efforts are made to safeguard Inbound and Outbound emails,
QAS Limited cannot guarantee that attachments are virus free or compatible with your systems and does not accept any liability in respect of viruses or computer problems experienced.


</FONT>


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





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





<FONT SIZE=1 FACE="VERDANA,ARIAL" COLOR=BLUE>
-------------------------------------------------------
QAS Ltd.
Registered in England: No 2582055
Registered in Australia: No 082 851 474
-------------------------------------------------------
</FONT> <FONT SIZE=1 FACE="VERDANA,ARIAL" COLOR=BLACK>
Disclaimer:  The information contained within this e-mail is
confidential and may be privileged. This email is intended solely for the named recipient only; if you are not authorised you must not disclose, copy, distribute, or retain this message or any part of it. If you have received this message in error please contact the sender at

once so that we may take the appropriate action and avoid troubling you

further. Any views expressed in this message are those of the individual sender. QAS Limited has the right lawfully to record, monitor and inspect messages between its employees and any third party. Your messages shall be subject to such lawful supervision as QAS Limited deems to be necessary in order to protect its information, its interests and its reputation.


Whilst all efforts are made to safeguard Inbound and Outbound emails,
QAS Limited cannot guarantee that attachments are virus free or compatible with your systems and does not accept any liability in respect of viruses or computer problems experienced.


</FONT>


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





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





<FONT SIZE=1 FACE="VERDANA,ARIAL" COLOR=BLUE>
-------------------------------------------------------
QAS Ltd.
Registered in England: No 2582055
Registered in Australia: No 082 851 474
-------------------------------------------------------
</FONT> <FONT SIZE=1 FACE="VERDANA,ARIAL" COLOR=BLACK>
Disclaimer:  The information contained within this e-mail is
confidential and may be privileged. This email is intended solely for
the named recipient only; if you are not authorised you must not
disclose, copy, distribute, or retain this message or any part of it. If
you have received this message in error please contact the sender at
once so that we may take the appropriate action and avoid troubling you
further.  Any views expressed in this message are those of the
individual sender.  QAS Limited has the right lawfully to record,
monitor and inspect messages between its employees and any third party.
Your messages shall be subject to such lawful supervision as QAS Limited
deems to be necessary in order to protect its information, its interests
and its reputation.
Whilst all efforts are made to safeguard Inbound and Outbound emails,
QAS Limited cannot guarantee that attachments are virus free or
compatible with your systems and does not accept any liability in
respect of viruses or computer problems experienced.
</FONT>


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








<FONT SIZE=1 FACE="VERDANA,ARIAL" COLOR=BLUE> -------------------------------------------------------
QAS Ltd.
Registered in England: No 2582055
Registered in Australia: No 082 851 474
-------------------------------------------------------
</FONT> <FONT SIZE=1 FACE="VERDANA,ARIAL" COLOR=BLACK> Disclaimer: The information contained within this e-mail is confidential and may be privileged. This email is intended solely for the named recipient only; if you are not authorised you must not disclose, copy, distribute, or retain this message or any part of it. If you have received this message in error please contact the sender at once so that we may take the appropriate action and avoid troubling you further. Any views expressed in this message are those of the individual sender. QAS Limited has the right lawfully to record, monitor and inspect messages between its employees and any third party. Your messages shall be subject to such lawful supervision as QAS Limited deems to be necessary in order to protect its information, its interests and its reputation.
Whilst all efforts are made to safeguard Inbound and Outbound emails, QAS 
Limited cannot guarantee that attachments are virus free or compatible with 
your systems and does not accept any liability in respect of viruses or 
computer problems experienced.
</FONT>


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




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

Reply via email to